数据库视频(三)

本文详细介绍了SQL Server数据库的设计与管理要点,包括数据类型、表类型、标识字段、默认值设定、用户自定义数据类型、规则、数据关系图、视图、索引、架构创建、FORXML查询、EXISTS关键字查询、交查询INTERSECT、差查询EXCEPT、T-SQL语言、游标、锁类型、死锁概念及嵌套事务等,是数据库管理者的实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

及时总结是个好习惯,可是我总是想不起来,今天特地来写一篇文章总结一下最近的收获。

正文:

1.字段的数据类型包括三个方面:数字数据类型、字符数据类型、日期和时间数据类型。

专用数据类型:crusor、sql_variant、table、timestamp、uniquedentifier、xml

2.表的类型:系统表、用户自定义数据表、临时表、分区表

临时表:临时创建、不能永久保存。临时表又分为:本地临时表、全局临时表,两个表的区别:

本地临时表的名称以单个数字符号#打头,仅对当前的用户连接是可见的,当用户从SQL 实例断开连接时自动被删除;全局临时表的名称以两个数字符号##打头,创建后对任何用户都可见,当所有引用该表的用户从SQL断开连接时别删除。

3.标识字段,是为了避免重复;

4.默认值:在编辑环境中,对常用的信息设置,如:“所任职位”设置为“普通职员”,再次增加员工信息时,不对“所任职位”进行编辑

,在查询信息时可以看到新添加员工信息的“所任职位”是“普通职员”

5.用户自定义数据类型:用户自己设计并实现的数据类型。这些数据类型基于新开通数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。

当创建用户定义的数据类型时,必须提供三个数:数据类型的名称、所基于的系统数据类型、数据类型的可空性

6.规则,是单独的SQL Sever对象,可以关联到一个或几个表中的一列或几列。可以使用多种方式来完成对数据值的检验,可以使用函数返回验证信息,也可以使用关键字BETWEEN、LIKE和IN完成输入的检查。

规则的作用和CHECK约束的部分功能相同,在向表的某列插入或更新数据时,用它来限制输入的新值的取值范围。不同之处如下:

  • CHECK约束是用CREATE TABLE语句在创建表时指定的,而规则需要作为单独的数据库对象来实现。
  • 在一列上只能使用一个规则,但可以使用多个CHECK约束。
  • 规则可以应用于多个列,还可以应用于用户自定义的数据类型,而CHECK约束只能应用于它定义的列。

7.数据关系图:在表的基础上创建

8.视图:在数据表数据的基础上查看某些或具体的某些列,将查看结果保存成新的对象。

9.索引:相当于书的目录,只是一种快速访问指定记录的方法。它是一个单独的、物理的数据库结构,它是某个表中一列或者若干的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引依赖于表建立,它提供了数据库中编排表数据的内部方法。因为一个表的存储是由两部分组成,一部分用来存放表的数据页面,另一部分存放索引页面,索引久存放在索引页面上。

索引一旦创建,由数据库自动管理和维护。其无修改语句,只包含查看、删除两项操作。

10.创建架构是在数据库之间,修改和删除架构需在某架构属性中进行。

11.一个表只能包含一个聚集索引;最多可包含249个非聚集索引,其中包含PRIMARY KEY或者UNIQUE约束创建的任何索引,但不包括XML索引。

12.FOR XML查询,通过FOR XML子句并指定模式可以将从数据库系统的表中检索出来的数据自动表示成XML格式。其显示模式有:RAW模式、AUTO模式、EXPLICIT模式、PATH模式

方式:SELECT语句+FOR XML+RAW/AUTO/EXPLICIT/PATH

13.EXISTS关键字查询:精确查询,通常跟IF语句结合在一起,判断子查询是否有结果,返回一个布尔类型的变量(有结果返回True,没有结果返回False。如果是True就可以对返回的值进行计算。)可以使用在WHERE语句中,也可以使用在具体的编程中。

14.交查询INTERSECT:求两个结果集的交集(查询的列必须相同)

15.差查询EXCEPT:并不是将两个结果集中的数据列在一起,去除相同的部分。而是在第一个结果集的基础上,去除这两个结果集相交的部分,在第一个结果集中去除后留下的结果集就是差查询。

注意:查询的列是固定的、相同的。

16.T-SQL语言的基本类型:数据定义语言、数据操纵语言、数据控制语言。

17.数学函数中,执行结果相同的两组情况:

                                                                 

18.游标(Cursor)是一种数据访问机制,它允许用户访问单独的数据行,而不是对整个行集进行操作。用户可以通过单独处理某一行逐条收集信息并对数据逐行进行操作,这样可以降低系统开销和潜在的阻隔情况。用户也可以使用这些数据生成SQL代码并立即执行或输出。

游标包括两个部分:游标结果集、游标位置

19.锁的类型:共享(S)锁、独占(X)锁、更新(U)锁

区别:

共享(S)锁:用于读操作。多个事务可以封锁一个共享单位的数据;任何事务都不能修改S锁的数据;通常时加S锁的数据被读取完毕,S锁立即被释放。

独占(X)锁:用于写操作。仅允许一个事务封锁此共享数据;其它任何事务必须等到X锁被释放才能对该数据进行访问;X锁一致到事务结束才能被释放。

更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取数据页将要被更新是,则升级为X锁;U锁一直到事务结束时才能被释放。

在此说一下“死锁”,死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,他们都将无法推进下去。

20.嵌套事务:再存储过程中,例:

······

总结:

做什么还是要及时总结的好,印象、理解总是当时最好,最后回顾一下也不是不可,只是总结的会不如当时总结的更加的全面!

需要总结的还有很多,总结出来的都是自己认为当时理解区分不了的(例:索引和游标等等)和个人认为需要再加深印象的内容,未完待续······

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值