《表格模板-Server数据库表的创建与管理一 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-Server数据库表的创建与管理一 精品.ppt(22页珍藏版)》请在第一文库网上搜索。
1、第八讲第八讲 SQL Server数据库表的数据库表的创建与管理创建与管理(一一)u理解关系数据库中数据完整性的含义u掌握SQL Server中的数据类型u学会使用企业管理器创建数据表SQL Server中的数据类型引例:引例:Roll NumberNameAddressBookTaken12Alicia Ruth12, Temple StreetAC09114Jason Darren123, Sunset Blvd.AC04315Mary Beth32, Golden AvenueAC02112Alicia Ruth12, Temple StreetAC04312Alicia Ruth12,
2、 Tmple StreetAC01115Mary Beth33, Golden AvenueAC011不同的地址不同的地址! !存在不正确、不准确的数据,数据库存在不正确、不准确的数据,数据库“失去了完整性失去了完整性”姓名姓名一、数据的完整性一、数据的完整性数据完整性数据完整性可靠性可靠性准确性准确性强调认识强调认识:q数据存放在表中q“数据完整性的问题大多是由于设计引起的”q创建表的时候,就应当保证以后数据输入是正确的错误的数据、不符合要求的数据不允许输入创建表:保证数据的完整性创建表:保证数据的完整性 = 实施完整性约束实施完整性约束 输入的类型是否正确?年龄必须是数字 输入的格式是否正
3、确?身份证号码必须是18位 是否在允许的范围内?性别只能是”男”或者”女” 是否存在重复输入?学员信息输入了两次 列值要求(约束)整行要求(约束)(一)数据的完整性的分类:(一)数据的完整性的分类:域完整性实体完整性引用完整性1、实体完整性、实体完整性-也称为表的完整性,指一个表中也称为表的完整性,指一个表中必须有一个主关键字,用于惟一地标识表中的每一必须有一个主关键字,用于惟一地标识表中的每一行,且不允许为空。行,且不允许为空。河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012. .地址地址姓名姓名学号学号江
4、西南昌雷铜0010014约束方法:唯一约束、主键约束、标识列约束方法:唯一约束、主键约束、标识列2、域完整性、域完整性-也称为列的完整性或用户定义的完也称为列的完整性或用户定义的完整性,指表中的任一列数据必须满足所定义的数据整性,指表中的任一列数据必须满足所定义的数据类型,且其值必须在有效的范围之内。类型,且其值必须在有效的范围之内。河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012. .地址地址姓名姓名学号学号湖北江门李亮8700000000约束方法:限制数据类型、检查约束、外键约束、约束方法:限制数据类型、
5、检查约束、外键约束、默认值、非空约束默认值、非空约束3、引用完整性、引用完整性-也称为参照完整性,也称为参照完整性,是对表与表之间是对表与表之间的联系而言,指两个表中数据必须一致、协调。的联系而言,指两个表中数据必须一致、协调。河南新乡赵可以0010016河南新乡张丽鹃0010015江西南昌雷铜0010014湖南新田吴兰0010013山东定陶李山0010012地址地址姓名姓名学号学号980010021数学约束方法:外键约束约束方法:外键约束科目学号分数数学001001288数学001001374语文001001267语文001001381数学001001698二、二、SQL Server的数据
6、类型的数据类型(一)系统数据类型(一)系统数据类型1整型数据类型整型数据类型 (1)bigint: -263263-1,8个字节(2)int: -231231-1,4个字节(3)Smallint :-215215-1,2个字节(4)tinyint :0255,1个字节 (5)bit: 0或1,常用作表示逻辑真假关系,不允许在bit型列上建立索引,18个bit型数据占用一个字节。2.浮点数据类型浮点数据类型:real:-3.40E+383.40E+38,使用4个字节,精度为7float:-1.79E+3081.79E+308,可以指定用来存储按科学记数法记录的数据尾数的位数,如float(n),
7、n的范围是153,当n的取值在124时,精度为7位,用4个字节来存储;当n的取值在2553时,精度为15位,用8个字节来存储。decimal(简写为dec)和numeric:可以精确指定小数点两边的总位数,如:numeric(p,s) p为小数点两边的总位数,不包括小数点,s为小数点右边的位数,其中1p=38,0=s=p。取值范围:-1038+11038-1,存储空间随精度不同而不同。3、货币数据类型货币数据类型:money:-263263-1,由两个4字节整数构成,前一个4字节表示货币的整数部分,后一个表示小数部分,可以精确到万分之一的货币单位。smallmoney:-214,748.364
8、8214,748.3647, 由两个2字节整数构成可以精确到万分之一的货币单位。4、日期日期/时间数据类型时间数据类型:datetime:从1753年1月1日到9999年12月31日,占8个字节smalldatetime: 从1900年1月1日到2079年6月6日,占4个字节。注意注意:输入时日期与时间之间用空格隔开,时间格式:00:00:005、字符数据类型字符数据类型:(1)char: 每个字符占用1个字节,使用固定长度存储字符。其定义形式为:char(n),n的取值为18000。默认n的值为1。(2)varchar: 可以存储长达8000个字符的可变长度字符串,根据输入数据的实际长度而变
9、化。定义形式为:varchar(n)(3)nchar:采用Unicode(统一字符编码标准)字符集,每个Unicode字符用两个字节为一个存储单位。其定义形式为:nchar(n),n的取值范围是14000。(4)nvarchar:存储可变长度的双字节字符。(5)text:用于存储数量庞大的变长字符数据。最大长度可达231-1个字符。(6)ntext: 存储可变长度的双字节字符,最多为230-1。分析下面两表中各字段的类型分析下面两表中各字段的类型:学生情况表学生情况表:学生成绩表学生成绩表:(二)用户自定义数据类型二)用户自定义数据类型 1 1、创建、创建语法:语法:sp_addtype ty
10、pe_name,system_type,null|not null|nonull例1:在student数据库创建一个名为name的用户自定义数据类型,定义为nvarchar数据类型,长度为4,且该列不允许为空。use studentgosp_addtype name, nvarchar(4),not null例2:sp_addtype score ,dec(4,1)说明:说明:用户自定义数据类型并不是真正的数据类型,是在系统数据类型的基础上创建的。凡是包含了诸如“()”或“,”等分隔符的系统数据类型,必须使用引号括起来。在用户数据库创建的用户自定义数据类型只会出现在该用户数据库中,且命名必须惟
11、一。2 2、删除、删除语法格式:语法格式:sp_droptype type_name如:sp_droptype name说明:说明:如果用户自定义数据类型正被某表中的某列使用,则不能立即删除它,必须先删除使用该数据类型的表。三、数据表的创建三、数据表的创建表是包含数据库中所有数据的数据库对象,用来存储各种各样的信息。 在SQL Server 2000中,一个数据库中最多可以创建200万个表,用户创建数据库表时,最多可以定义1024列。在同一数据库的不同表中,可以有相同的字段,但在同一个表中不允许有相同的字段。(一)使用企业管理器使用企业管理器:1、设计表结构设计表结构:展开要放置表的数据库右击
12、“表”,选择“新建表”输入列名,选择正确的数据类型、数据长度和精度,规定该列数据可否为空,设置表格的主键(选中要建立主键的列,右击,选择“设置主键”)。击“保存”,输入表名。“学生情况表”与“学生成绩表”的表结构如下:学生情况表学生情况表:学生成绩表学生成绩表:说明说明:精度和小数位数精度和小数位数:精度是列的总长度,包括整数部分和小数部分的长度之和,但不包括小数点;小数位数指定小数点后面的长度。默认值默认值:指定列的默认值。标识标识:指定列是否是标识列。一个表只能创建一个标识列。必须同时指定种子和增量,或者两者都不指定。默认值(1,1)。能够成为标识列的数据类型有int、smallint、t
13、inyint、numeric和decimal等系统数据类型;如果其数据类型为numeric和decimal,不允许出现小数位数。标识种子标识种子:指定标识列的初始值。标识递增量标识递增量:指定标识列的增量值。如果标识列A的初始值为1,增长量为2,则输入三行数据以后,再删除两行,下次再输入数据行的时候,标识值从多少开始?RowGuid:指定列是否使用全局唯一标识符。尽管IDENTITY属性自动为表生成行号,但不同表的标识符列可以生成相同的行号。这是因为IDENTITY属性只须在所使用的表上保持唯一。如果应用程序需要生成在整个数据库或世界各地所有网络计算机的全部数据库中均为唯一的标识符列,须使用
14、ROWGUIDCOL 属性。公式公式:用于指定计算列的列值表达式。排序规则排序规则:指定列的排序规则。 说明说明:在数据库中表名必须是唯一的,但是如果为表指定了不同的用户,就可以创建多个相同名称的表。 实习五实习五上机目的上机目的:掌握SQL Server 2000中的数据类型,学会使用企业管理器创建数据库表。上机内容上机内容:1、建立一个XK数据库。2、在XK中创建一个名为number的用户自定义数据类型,定义为char数据类型,长度为3,且该列不允许为空;并将自定义的number数据类型用于下列表中编号字段。3、在XK数据库中建立下列数据表。4、备份XK数据库。5、将XK数据库分离然后再附加。