预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第八讲SQLServer数据库表的创建与管理(一)引例:一、数据的完整性强调认识:数据存放在表中“数据完整性的问题大多是由于设计引起的”创建表的时候就应当保证以后数据输入是正确的——错误的数据、不符合要求的数据不允许输入输入的类型是否正确?——年龄必须是数字输入的格式是否正确?——身份证号码必须是18位是否在允许的范围内?——性别只能是”男”或者”女”是否存在重复输入?——学员信息输入了两次……域完整性1、实体完整性----也称为表的完整性指一个表中必须有一个主关键字用于惟一地标识表中的每一行且不允许为空。2、域完整性----也称为列的完整性或用户定义的完整性指表中的任一列数据必须满足所定义的数据类型且其值必须在有效的范围之内。3、引用完整性----也称为参照完整性是对表与表之间的联系而言指两个表中数据必须一致、协调。二、SQLServer的数据类型2.浮点数据类型:①real:-3.40E+38~3.40E+38使用4个字节精度为7②float:-1.79E+308~1.79E+308可以指定用来存储按科学记数法记录的数据尾数的位数如float(n)n的范围是1~53当n的取值在1~24时精度为7位用4个字节来存储;当n的取值在25~53时精度为15位用8个字节来存储。③decimal(简写为dec)和numeric:可以精确指定小数点两边的总位数如:numeric(ps)p为小数点两边的总位数不包括小数点s为小数点右边的位数其中1<p<=380<=s<=p。取值范围:-1038+1~1038-1存储空间随精度不同而不同。3、货币数据类型:①money:-263~263-1由两个4字节整数构成前一个4字节表示货币的整数部分后一个表示小数部分可以精确到万分之一的货币单位。②smallmoney:-214748.3648~214748.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的取值为1~8000。默认n的值为1。(2)varchar:可以存储长达8000个字符的可变长度字符串根据输入数据的实际长度而变化。定义形式为:varchar(n)(3)nchar:采用Unicode(统一字符编码标准)字符集每个Unicode字符用两个字节为一个存储单位。其定义形式为:nchar(n)n的取值范围是1~4000。(4)nvarchar:存储可变长度的双字节字符。(5)text:用于存储数量庞大的变长字符数据。最大长度可达231-1个字符。(6)ntext:存储可变长度的双字节字符最多为230-1。分析下面两表中各字段的类型:(二)用户自定义数据类型说明:①用户自定义数据类型并不是真正的数据类型是在系统数据类型的基础上创建的。②凡是包含了诸如“()”或“”等分隔符的系统数据类型必须使用引号括起来。③在用户数据库创建的用户自定义数据类型只会出现在该用户数据库中且命名必须惟一。2、删除语法格式:sp_droptypetype_name如:sp_droptypename说明:如果用户自定义数据类型正被某表中的某列使用则不能立即删除它必须先删除使用该数据类型的表。三、数据表的创建“学生情况表”与“学生成绩表”的表结构如下:说明:①精度和小数位数:精度是列的总长度包括整数部分和小数部分的长度之和但不包括小数点;小数位数指定小数点后面的长度。②默认值:指定列的默认值。③标识:指定列是否是标识列。一个表只能创建一个标识列。必须同时指定种子和增量或者两者都不指定。默认值(11)。能够成为标识列的数据类型有int、smallint、tinyint、numeric和decimal等系统数据类型;如果其数据类型为numeric和decimal不允许出现小数位数。④标识种子:指定标识列的初始值。⑤标识递增量:指定标识列的增量值。⑥RowGuid:指定列是否使用全局唯一标识符。尽管IDENTITY属性自动为表生成行号但不同表的标识符列可以生成相同的行号。这是因为IDENTITY属性只须在所使用的表上保持唯一。如果应用程序需要生成在整个数据库或世界各地所有网络计算机的全部数据库中均为唯一的标识符列须使用ROWGUIDCOL属性。⑦公式:用于指定计算列的列值表达式。⑧排序规则:指定列的排序规则。说明:在数据库中表名必须是唯一的但是如果为表指定了不同的用户就可以创建多个相同名称的表。