第4章 数据表的创建和管理
- 格式:doc
- 大小:46.00 KB
- 文档页数:4
第4章管理数据表4.2.1 使用图形界面创建表使用图形界面创建表的操作步骤如下。
(1)打开对象资源管理器,选中上一章所建的数据库“marketing”,右键单击“表”节点,单击弹出菜单中的“新建表”命令,如图4-2所示。
(2)此时将出现如图4-3所示的表设计器窗口。
该窗口是专门用来建立表结构的,左边的一列“列名”用来指定要建表的列名;接着是“数据类型”,用来指定该列的数据类型;然后是“允许空”,说明该列的值是否为空,允许为空则选中该列的复选框,出现“对号”标记。
图4-2 “新建表”菜单图4-3 表设计器窗口“列名”也称字段名,应符合命名规则:最长128个字符;可以包含汉字、英文字母、数字、下划线等;在同一个表中,字段名必须唯一。
“数据类型”列必须是下拉表中的类型之一,可以是系统数据类型或用户定义的数据类型,当数据库中存在用户定义的数据类型时,则这些数据类型也会自动地出现在这个下拉表中。
在表设计器窗口的列属性选项中,可以设置当前字段的附加属性,如长度、默认值、标识、标识种子及标识递增量等。
“长度”对于字符型等部分数据类型,只需输入字节的长度。
对于整型等部分数据类型,其长度是系统确定的,用户不能修改。
对于numeric等部分数据类型,还需要指定“精度”和“小数位”。
后面将通过例子说明其作用。
(3)按照设计要求首先建立销售人员表,在“列名”中输入“工号”,“数据类型”中选择“int”,在列属性“允许空”中选择否。
在下一行输入“部门号”,但是允许为空。
(4)继续设置列,在“列名”中输入“姓名”,数据类型框中选择“varchar(50)”,在长度中输入“10”,不允许空。
如此进行,分别建立好“地址”列和“电话”列。
(5)将“工号”列设置为该表的“主键”并作为记录的“标识”,首先选中“工号”所在的行,然后单击SQL Server Management Studio工具栏上的“”(钥匙)按钮,完成了“主键”的设置,59。
第4章数据表的创建和管理——例题解答
例4-2-1:在数据库STUDENT中创建一个学生基本信息表(名为t_student),表中各列的要求如表4-2-1所示。
表4-2-1 学生基本信息表(名为t_student)组成
实现的步骤如下:
(1)在SQL Server Management Studio中新建一个查询页面。
(2)输入以下程序段并执行此查询:
USE STUDENT
GO
CREATE TABLE t_student
(
s_number char(10) not null,
s_name char(8),
sex char(2) default '男' ,
birthday datetime,
polity char(4)
)
GO
如果系统的输出结果为:“命令已成功完成。
”,则表明t_student数据表已经创建成功了。
例4-3-1:为t_student2表中的s_number字段创建非空约束。
程序清单如下:
USE STUDENT
GO
CREATE TABLE t_student2(
s_number char(10) NOT NULL,
s_name char(8),
sex char(2),
phonenum int
)
例4-3-2:在数据库STUDENT中创建一个t_student3表,并定义s_number为主键。
增加主键后,就限定了该记录中不能插入编号相同的两个或者多个数据信息,从而保证了表中的记录信息是唯一的。
程序清单如下:
USE STUDENT
GO
CREATE TABLE t_student3(
s_number char(10) PRIMARY KEY,
s_name char(8),
sex char(2),
birthday datetime,
polity char(4)
)
例4-3-3:创建一个学生信息表t_student4,其中s_name字段具有唯一性。
程序清单如下:
USE STUDENT
GO
CREATE TABLE t_student4
(
s_number char(10) PRIMARY KEY,
s_name char(8),
sex char(2) ,
birthday datetime,
polity char(4),
constraint uk_name unique(s_name)
)
例4-3-4:创建一个学生信息表t_student5,其中输入性别字段值时,只能接受“男”或者“女”,而不能接受其他数据。
程序清单如下:
USE STUDENT
GO
CREATE TABLE t_student5(
s_number char(10),
s_name char(8),
sex char(2),
phonenum int,
CONSTRAINT chk_sex CHECK(sex in ('男','女'))
)
例4-3-5:创建一个学生信息表t_student6,为sex字段创建默认约束“男”。
程序清单如下:
USE STUDENT
GO
CREATE TABLE t_student6(
s_number char(10),
s_name char(8),
sex char(2) DEFAULT '男',
phonenum int
)
例4-3-6:创建t_score表,并为t_score创建外键约束,该约束把表t_score中的学生学号(s_number)字段和表t_student中的学生学号(s_number)字段关联起来,实现t_score中的学生学号(s_number)字段的取值要参照表t_student中的学生学号(s_number)字段的数据值。
程序清单如下:
USE STUDENT
GO
CREATE TABLE t_score
(
s_number char(10),
c_number char(10) ,
score int ,
CONSTRAINT con_s_number
FOREIGN KEY (s_number)
REFERENCES t_student(s_number)
)
GO
例4-4-1:在数据库STUDENT中创建一个t_course1表,然后在表中增加一个c_pnumber 字段,删除表中的credit字段,并且修改c_name字段的数据长度。
SQL语句的程序清单如下:
USE STUDENT
GO
CREATE TABLE t_course1
(
c_number char(10) NOT NULL,
c_name char(30),
hours int,
credit real
)
GO
ALTER TABLE t_course1 ALTER COLUMN c_name char(40)
ALTER TABLE t_course1 DROP COLUMN credit
ALTER TABLE t_course1 ADD c_pnumber char(10)
GO
例4-5-1:(1)显示STUDENT数据库中所有对象的信息。
程序如下:
USE STUDENT
GO
Exec sp_help
GO
(2)显示t_student数据表的信息。
程序如下:
USE STUDENT
GO
Exec sp_help t_student
GO
例4-6-1:删除STUDENT数据库中的表t_student3和t_student4。
相应的SQL语句如下:
DROP TABLE STUDENT.dbo.t_student3, STUDENT.dbo.t_student4。