当建立了数据库后,要分析考虑如何根据需要设计数据库中的表和如何创建各个表。
创建表就是定义表结构以及向表中添加数据。
为了定义表的结构,需要明确这个表将包含哪些类型的数据、需要设置哪些字段、字段宽度是多少、哪些字段可以接受空值、哪些字段应设置为主键或者外键、是否使用约束以及在何处使用、是否需要建立索引等问题。
如果确切知道了上述问题,就可以快速地定义好这个表的结构。不过有时候需要在使用数据库过程中去修改表的结构,当此时修改表结构的时候,要尽可能保留已存储在原表中的所有数据。
设计表的时候还要注意各个字段的列宽要合适,应以“够用”为目的,尽量占用较小的存储空间。
1.使用对象资源管理器创建表
【例3-18】 根据如表3-2所示的“学生”表的表结构定义表结构,使用对象资源管理器在“Teaching”数据库中创建“学生”表。
表3-2 “学生”表的表结构
1)打开定义表的窗格。在“对象资源管理器”窗格中展开“数据库”结点,再展开“Teaching”数据库结点,右击该数据库的“表”结点,在弹出的快捷菜单中选择“新建表”命令,将打开表设计窗格,如图3-18所示。
2)添加字段。在表设计窗格的上部网格中,分别输入表结构的各列字段名称、数据类型、数据长度和允许空等项。在表设计窗格的下部网格中,对上部网格中选择的字段设置附加属性,经常设置的是数据类型和长度。
3)设置主键。右击“Xh”列并在弹出的快捷菜单中选择“设置主键”,则在该列名左侧出现一个“钥匙”图标。若要删除该主键,则可以按同样的方法将另一列设置为主键,或者右击“Xh”列并在弹出的快捷菜单中选择“移除主键”。
4)保存表。单击定义表的窗格右上方的“关闭”按钮,弹出对话框询问是否保存,点击该对话框下方的“是”按钮,打开“选择名称”对话框,如图3-19所示,输入表名“Xs”并单击“确定”按钮,完成表的定义。
图3-18 定义的窗格
图3-19 “选择名称”对话框
2.在查询分析器中使用T⁃SQL语句创建表
使用T⁃SQL语言创建表结构的命令是:CREATETABLE,其基本语法格式如下。
在上述数据参数中:
●table_name:指定在当前数据库中新建表的名称,需在一个数据库中是唯一的,且遵循T-SQL语言中的标识符规则。
●<column_definition>:表示列的定义。
●column_name:指定表中列的名称,在该表内必须唯一。
●type_name[(precision[,scale])]:列的数据类型定义。type_name:指定列的数据类型。precision:指定新数据类型的精度。scale:指定新数据类型的小数位数。
●NULL|NOT NULL:设置空值或非空值约束。NULL:该列可以接收空值。如果默认和NULL含义相同。
●[CONSTRAINT constraint_name]DEFAULT constant_expression:设置默认值约束。CONSTRAINT:约束定义的开始。constraint_name:默认约束名。DEFAULT:默认约束关键词。constant_expressio:该列默认值。(www.xing528.com)
●<column_constraint>列的其他约束的定义。
●<table_constraint>表约束的定义。
●ON{filegroup|"default"}:如果指定了filegroup,则该表将存储在命名的文件组中,数据库中必须存在该文件组。如果指定了“default”,或者未指定ON,则表存储在默认文件组中。
●TEXTIMAGE_ON{filegroup|"default"}:指定TEXT、NTEXT、IMAGE、varchar(max)、nvarchar(max)、varbinary(max)等列的数据存储在哪个数据库文件组。
若省略该子句,这些类型的数据就和表一起存储在相同的文件组中。如果表中没有
TEXT、NTEXT和IMAGE列,则可以省略此句。
【例3-19】 根据如表3-3所示的表结构,使用T-SQL语句创建“教师”表。
表3-3 “教师”表的表结构
在“查询”窗格中输入如下代码。
执行代码并在“对象资源管理器”窗格中右击“teaching”数据库结点下的表结点,在弹出的快捷菜单中选择“刷新”选项,将看到所创建的“Js”表,结果如图3-20所示。
注意:在执行创建表的代码之前,一定要将teaching数据库设置为当前数据库,否则表将创建到默认数据库中。
图3-20 创建“Js”表的窗口
请自行完成下面3个题目。
【例3-20】 根据如表3-4所示的表结构,使用T⁃SQL语句创建“专业”表。
表3-4 “专业”表的表结构
【例3-21】 根据如表3-5所示的表结构,使用T⁃SQL语句创建“班级”表。
表3-5 “班级”表的表结构
【例3-22】 根据如表3-6所示的表结构,使用T⁃SQL语句创建“部门”表。
表3-6 “部门”表的表结构
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。