您的当前位置:首页正文

数据库 用户表的创建

2022-04-28 来源:客趣旅游网
信息学院

实 验 报 告

学号: 姓名:熊忠飞 班级:11B 实验名称:用户表的创建 课程名称:大型数据库管理系统 实验性质:验证性实验 实验时间: 2013 年 3月28日 实验地点:睿智4号楼212 B区 一、实验目的 1、理解表的存储机理,掌握表的创建方法。 2、掌握SQL Server表创建时的基本字段类型。 3、掌握约束概念及实施的方法。 4、掌握添加和删除列的方法。 二、实验内容及要求 1、使用对象资源管理器创建表(完成本书第一章五个表的创建) 2、使用T-SQL语句创建表 有一个项目管理(xmgl)数据库,现有四张表,分别是: a、部门表(部门号,部门名,部门电话,部门地址,部门人数); b、员工表(员工号,姓名,性别,出生年月,技术职称,工资,所在部门号); b、项目表(项目编号,项目名称,所在地方,项目类型); c、员工参与项目(员工号,项目编号,职责); 其中有下画线的字段为关键字,斜体的字段是外关键字。除工资为数值类型、出生年月为日期类型外,其余字段均为字符类型。 3、从sysobjects、sysindexes和sysrefrences、syscolumns表中查看关于上述创建的表的信息 4、使用对象资源管理器定义下面的约束。 (1)员工号是4位数字串,其中第1位和最后1位取1-9之间的数字,其他取0-9之间的数字。(2)项目编号是以字母J开始的其他是数字的4位字符串。 (3)约束性别的取值为“男”、“女”,且非空,默认是“男”。 (4)约束电话号码的格式:以8892开始,第5位取234中的一个,其他是任意数字的8位数字串。 5、使用SQL语言增加修改部分表及字段。 (1)在部门表中增加“部门领导”字段(注意和员工号同域);在项目表中增加“项目主管”字段(注意和员工号同域);并考虑相应的外键约束。 (2)、在员工表中增加“技术职称”和“工资字段”,其中“工资”字段为数值类型。 (3)在项目表中增加“开工日期”和“完工日期字段”,为日期类型。 (4)增加约束:工程开工日期小于计划完工日期。 (5)修改“部门人数”字段类型为整型。 (6)删除项目表中的“项目类型”字段。 三、实验步骤及结果 (一)使用对象资源管理器创建 1、使用对象资源管理器创建 (1)在树状目录中找到要建表的数据库。如图 (2)在该数据库上单击鼠标右键,在弹出的快捷菜单中选择“新建”-“表”命令,如图1所示。出现创建数据表结构的表设计窗口,如图2所示。 图一 图二 (3)表设计器窗口中输入列名和相应的数值,创建第一个表——学生表,如图: (4)设置完后,单击工具栏上的“保存”按钮。在出现的选择名称对话框中输入表名“学生表”。 并单击“确定”按钮退出。 2、设置学生表完整性的约束 (1)展开对象资源管理器的数据库“xmgl”,单击“表”结点,选择学生表,单击鼠标右键,在快捷菜单上单击“修改”,出现如图所示的创建表结构窗口。 (2)设置主键约束(PRIMARY KEY),将光标移到需要设置主键的“学号”字段,单击鼠标右键,出现下拉菜单,如图。然后选择“设置主键”,“学号”列名左侧出现“钥匙”图标。 图三 图四 注:a、如果要设置多属性作为主键,可以按住Ctrl键,用鼠标左键依次单击要选定的列,选定多列后,单击右键出现下拉菜单,如图四。然后选择“设置主键”。 b、如果要取消设置的主键,应选定主键字段,单击鼠标右键出现下拉菜单,然后选择“移除主键”。 (3)在图三所示的表设计器上右击,出现下拉菜单,如图四。选择“索引/键”选项卡,如下图。系统设置“学生表.学号”属性为主键,因此自动在表中建立一个根据学号值的大小升序排列的索引,主键索引名为“PK_学生表”。 (5)设置检查约束(CHECK),学生表定义了三个CHECK约束,第一个约束是学号,第二个约束是身份证号,第三个是移动电话。 a、单击图四所示的表示设计器下拉快捷菜单中的“CHECK约束”,出现如图所示的“CHECK约束”属性对话框,在其中新建约束。 b、建立学号的约束:单击“添加”按钮,系统自动给定一个约束名,可在“标示-(名称)”处改名为“CK_学生表_学号”,然后在“常规-表达式”行单击,出现约束表达式的文本框,输入“学号 LIKE ‘S[0-9][0-9][0-9][0-9][0-9][0-9]’”。如图: c、建立身份证约束:单击“添加”按钮,系统自动给定一个约束名,同上,改名为“CK_学生表_身份证号”,然后在约束表达式文本框中输入“身份证号 LIKE ‘[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’”。 d、建立移动电话约束:同上,在约束文本框中输入“移动电话 LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'”。 3、在表中输入数值 (1)展开对象资源管理器的数据库“xmgl”,单击“表”结点,选定学生表,单击鼠标右键,在快捷菜单中选择“打开表”。出现如图所示: 再在相应位置对应学生表输入,如图 这就建好学生表了。 5、其余的四张表:课程表、教师表、开课表、选课表的创建过程同学生表。并设置相应的约束。 (1)课程表 (2)教师表 (3)开课表 (4)选课表 6、设置表的外键约束。 “xmgl”数据库中有5个表。其中,教师表、课程表和开课表有联系,开课表中的“课号”和“工号”是关于课程表和教师表的外键。同理,学生表、开课表和选课表有联系,选课表中的“学号”和“开课号”是关于学生表和开课表的外键。 设置步骤如下: (1)明确开课表和教师表关于工号的参照关系。开课表中的属性工号参照教师表中的属性工号的值,则开课表为外键表,开课表.工号为外键,教师表为主键表,教师表.工号是主键。 (2)单击图四所示表设计器下拉快捷菜单中的“关系”,出现“外键关系”对话框,单击“添加”按钮,系统自动给出一个关系名,然后在“常规-表和列规范”行单击,出现如图所示的教师表“关系”选项卡。在“关系名”处修改关系名称,选择主键表为教师表,外键表为开课表,选择两表的属性为工号。 打开开课表的属性对话框,单击“关系”选项卡,就可以看到已建立好的开课表和教师表的外键约束。如图: (3)同理,选择课表,建立课程表和开课表的外键约束关系;选择学生表,建立学生表和选课表的外键约束关系;选择开课表,建立开课表和选课表的外键约束关系。 (二)使用T-SQL语句创建表 1、创建部门表 点击“新建查询”,在出来的编辑框里输入SQL命令。 use xmgl go create table 部门表 ( 部门号char(7) not null, 部门名char(10) not null, 部门电话char(8), 部门地址char(10) not null, 部门人数char(2) not null, constraint pk_部门表_部门号primary key(部门号), constraint ck_部门表_部门号check(部门号like 'S[0-9][0-9][0-9][0-9][0-9][0-9]') ) 这样就创建好了第一张表——部门表: 2、创建员工表、项目表、员工参与项目同部门表的创建,代码分别如下: (1)员工表 use xmgl go create table 员工表 ( 员工号char(6) not null, 姓名char(8) not null, 性别char(2) not null, 出生年月datetime not null, 技术职称char(10) not null, 工资int, 所在部门char(7) not null, constraint pk_员工表_员工号primary key(员工号), constraint ck_员工表_员工号check(员工号like '[0-9][0-9][0-9][0-9][0-9][0-9]'), constraint fk_员工表_所在部门foreign key(所在部门) references 部门表(部门号) on update cascade on delete cascade ) (2)项目表 use xmgl go create table 项目表 ( 项目编号char(6) not null, 项目名称char(8) not null, 所在地方char(10) not null, 项目类型char(2) not null, constraint pk__项目表_项目编号primary key(项目编号) , constraint ck_项目表_项目编号check(项目编号like '[0-9][0-9][0-9][0-9][0-9][0-9]') ) (3)员工参与项目表 use xmgl go create table 员工参与项目 ( 员工号char(6) not null, 项目编号char(6) not null, 职责char(10) not null, constraint pk_员工参与项目_员工号primary key(员工号), constraint ck_员工参与项目_员工号check(员工号like '[0-9][0-9][0-9][0-9][0-9][0-9]'), constraint fk_员工参与项目_员工号foreign key(员工号) references 员工表(员工号) on update cascade on delete cascade, constraint fk_员工参与项目_项目编号foreign key(项目编号) references 项目表(项目编号) on update cascade on delete cascade ) 这样四张表就建好了: (三)使用对象资源管理器定义用SQL创建的表的约束 1、如图, 图五.单击“修改”命令,将弹出表设计器,把光标移到员工号处,单击右键,出现如图四所示的下拉菜单。再单击“CHECK约束”,则出现一个对话框,再在“常规-表达式”中单击,约束表达式文本框,输入“员工号 LIKE’[1-9][0-9][0-9][1-9]’”. 单击确定即可。 2、如图五,同上。在文本框中输入“项目编号 LIKE‘J[0-9][0-9][0-9][0-9]’”. 3、如图五,同上,在文本框中输入“性别 LIKE’男 and 女’”。并让输入“男”: 4、如图五,同上,在文本框中输入LIKE’8892[2-4][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’”. (四)使用SQL语言增加修改用SQL创建的部分表及字段 1、(1)代码为:use xmgl go alter table 部门表 add 部门领导char(8) 空着,再在列属性中。 “部门电话 则在部门表中增加了“部门领导”字段: (2)代码为: use xmgl go alter table 项目表 add 项目主管char(8) 则在项目表中增加了“项目主管”字段: 2、代码为:use xmgl go alter table 员工表 add 技术职称char(8), 工资int 则在员工表中增加了“技术职称”和“工资”字段: 3、代码为:use xmgl go alter table 项目表 add 开工日期datetime, 完工日期datetime 则在项目表中增加了“开工日期”和“完工日期”字段: 5、代码为:use xmgl go alter table 部门表 alter column 部门人数int 6、代码为:use xmgl go alter table 项目表drop column 项目类型 四、实验小结 通过本实验,学会了用对象资源管理器和SQL语句创建表和修改表中的一些属性。同时还知道了有关表的约束和不同的数有不同的数值类型。在创建表的过程中学会了使用主键约束和外键约束。需注意的是外键约束需考虑一些特定的条件,不然在设置外键约束的时候就容易出错。不仅如此,还要熟悉并掌握SQL语句的规则,理解其中代码所表示的意思,做到在理解的基础上实现各代码的相应操作。 五、教师评价 年 月 日 注:每学期至少有一次设计性实验。每学期结束请任课老师按时按量统一交到教学秘书处。

因篇幅问题不能全部显示,请点此查看更多更全内容