《数据库原理与应用》课件——第5章 表的创建与管理.ppt
5.3.2使用企业管理器设计数据库表【例5-3】用企业管理器设计表“班级”,并设置班级号为主键,设置学制默认值为4。操作步骤如下:(1)在企业管理器中选择并展开要创建表的数据库(jxgl),选择“表”节点,右击之弹出快捷菜单,选择“新建表”,如图5-5所示。(2)单击后释放,弹出“新建表”对话框,并在“新建表”对话框中设置各列的属性:列名、数据类型、长度、精度、小数位数、是否允许空、默认值等,如图5-6所示。5.3.2使用企业管理器设计数据库表 图5-5“企业管理”对话框 图5-6“新建表”对话框5.3.2使用企业管理器设计数据库表(3)在编辑完各列属性后,单击“保存”按钮,弹出“选择名称”对话框,输入“班级”名称,如图5-7所示。(4)单击“确定”按钮,返回“新建表”对话框,单击该对话框右上角的关闭按钮,返回“企业管理器”对话框,拖动右框格垂直滚动条,可看到“班级”表,如图5-8所示。 图5-7“选择名称”对话框 图5-8“企业管理器”对话框5.3.2使用企业管理器设计数据库表注意:①在“表设计器”对话框中,选中列名“班级号”后,在该对话框中任意位置右击,弹出快捷菜单,选择“设置主键”即可将“班级号”设置为主键。“班级号”左侧有一把钥匙标记即表示已经设置为主键。②在“新建表”对话框中,右击列名如“班级号”所在行的任何位置,弹出快捷菜单,选择“插入列”可以在当前列前位置增加列;选择“删除列”可以删除当前列;另外列的上下位置也可以调整:选择要移动的列,然后拖动该列到要释放的位置。5.3.3使用T-SQL语句设计数据表在T-SQL语句中,创建表可用createtable语句创建表,其完整语法格式如下:createtable[数据库名.[所有者].|所有者.]表名({列定义说明|[列名as计算机列表达式]|[表约束说明]}|[{primarykey|unique}][,…n])[on{文件组名|default}] /*指定存储表的文件组*/[textimage_on{文件组名|default}] /*指定存储text、ntext和image类型数据的文件组*/功能:在指定的数据库的指定用户上创建一个表,缺省值为当前数据库的现有用户。5.3.3使用T-SQL语句设计数据表(1)列定义说明:用来定义一列,列的定义如下:列定义说明::={列名列数据类型} /*指定列名、数据类型*/|[notnull|null] /*指定列空值非空值约束*/[collate排序规则名] /*指定排序规则*/[[default常量表达式] /*指定默认值*/|[identity[(初始值,增量)[notforreplication]]]/*指定列为标识列*/][rowguidcol] /*指定列为全局标识符列*/[列约束说明][,…n] /*指定列的约束*/5.3.3使用T-SQL语句设计数据表(4)表约束说明:定义表约束,约束格式如下:表约束说明::=[constraint约束名]{[{primarykey|unique} /*定义主键,唯一性约束*/{(列名[asc|desc][,…16])} /*定义索引升序或降序的列名*/[clustered|nonclustered] /*定义聚集索引,非聚集索引*/[withfillfactor=fillfactor] /*唯一性约束为非聚集*/[on{文件组|default}]]|[foreignkey[(列名[,…16])] /*定义外键约束*/references参照表名[(参照列名[,…n])] /*外键约束引用的表及其列*/[ondelete{cascade|onaction}] /*删除行是否级联删除子表相关行*/[onupdate{cascade|onaction}] /*更新行是否级联更新子表相关行*/[notforreplication]]|check(逻辑表达式)[notforreplication]}5.3.3使用T-SQL语句设计数据表(5)列约束说明:定义列约束说明,约束格式如下:列约束说明::=[constraint约束名]{[null