资源描述:
《关系数据库与SQLServer2012第3版教学课件作者龚小勇第7讲创建数据表和约束课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章数据表的创建和管理——创建数据表和约束第7讲复习请说出下列命令的功能?CreatedatabaseDropdatabaseSp_helpdbAlterdatabaseaddfile
2、addlogfile
3、addfilegroupmodifyfile
4、modifyfilegroupmodifyname=新库名removefile
5、removefilegroup创建数据库修改数据库删除数据库显示数据库信息增加数据文件增加日志文件增加文件组修改数据文件修改文件组修改数据库名删除数据文件删除文件组第4章数据表的创建和管理——创建数据表和表约束教学内容基础知识:设计表
6、创建数据表创建约束第4章数据表的创建和管理——创建数据表和表约束学习目标认知目标:了解SQLServer2012的数据类型了解表约束的含义能力目标:掌握用命令方式创建数据表的方法(重点)掌握表约束的创建(重点、难点)一、设计表1.数据表的类型系统表用于存储服务器的配置信息、数据表的定义信息的一组特殊表,称为系统表。用户表已分区表已分区表是将超大表按照某种业务规则分别存储在不同的文件组中,以提高性能和方便管理。临时表临时表是一种因为暂时需要所产生的数据表,它存放在Tempdb数据库中,当使用完临时表且关闭连接后,系统会自动删除临时表。一、设计表2.创建数据表前应考虑
7、的问题表中要存储的数据类型(用来确定数据的取值范围)表中需要的列数、每列的类型列是否可以为空是否需要在列上使用约束、默认值和规则需要使用什么样的索引哪些列作为主键、哪些列作为外键哪些用户拥有访问该数据库或表的权限表约束一、设计表3.数据类型占1字节。存放逻辑值。只能取0、1、nullbit位类型存放固定长度的字符,n为1~4000存放可变长度的字符,n为1~4000存放最大长度为230-1的字符数据nchar(n)nvarchar(n)ntextUnicode宽字符型占8字节占4字节占2字节占1字节bigintintsmallinttinyint整数类型存放固定长
8、度的字符,n为1~8000存放可变长度的字符,n为1~8000存放最大长度为231-1的字符数据char(n)varchar(n)text字符型长度定义标识数据类型字符型:1个字符占1个字节。Unicode型:1个字符占2个字节一、设计表3.数据类型占8字节占4字节moneysmallmoney货币型占8字节。日期为从1/1/1753到12/31/9999占4字节。日期为从1/1/1900到6/6/2079datetimesmalldatetime日期时间型定长二进制数据。n为1~8000变长二进制数据。n为1~8000存放最大长度为231-1的二进制数据bina
9、ry(n)varbinary(n)image二进制型占8字节。存储小数点位数不确定的数据占4字节。存储小数点位数不确定的数据floatreal浮点数类型占2~17字节。存储小数点位数确定的数据占2~17字节。存储小数点位数确定的数据decimal(p,s)numeric(p,s)精确数类型数据类型定义标识长度二、创建数据表1.创建简单的数据表命令格式createtable表名(列定义列约束[,……n])实例1:在xscj库中,创建一个简单的表xsqk。createtablexscj.dbo.xsqk(学号char(10),姓名varchar(10),性别bit,联
10、系电话char(11))数据库名,可省略所有者名,可省略表名方法2:usexscjcreatetablexsqk……二、创建数据表2.列属性类型非空值属性默认时,列的值为null,表示允许该列为空。如果值为notnull,表示不允许该列为空。默认值属性标识属性为标识属性的列,其值由系统自动填充。二、创建数据表2.列属性实例2:在xscj库中,创建“序号”标识属性、“学号”非空属性,“性别”有默认值1的表xsqk。createtablexsqk(序号intidentity,学号char(10)notnull,姓名varchar(10),性别bitdefault1,联
11、系电话char(11))若xscj不是当前库,应先输入:usexscj默认情况下为空值。二、创建数据表3.表约束含义约束定义了关于允许什么数据进入数据库的原则。目的为了防止列出现非法数据,以保证数据中数据的正确性、一致性和有效性。二、创建数据表3.表约束类型主键(PRIMARYKEY)约束唯一(UNIQUE)约束外键(FOREIGNKEY)约束检查(CHECK)约束说明:非空和默认值也可看成是约束。创建表约束的方法新建表时,在单列后创建约束在所有列之后,再创建约束表已存在,只能通过修改表,添加约束实现实体完整性实现参照完整性实现域完整性二、创建数据表4.创建约束—
12、(1)主键