一、实验目的 |
|
二.实验环境 |
Microsoft SQL Server Management Studio 18 |
三、实验内容与步骤 |
1.快速创建一个名为xmgl的数据库。 2.使用DDL语言定义基本表。 有一个项目管理(xmgl)数据库,现有四张表,分别是部门表(部门号,部门名,部门电话,部门地址);员工表(员工号,姓名,性别,出生年月,所在部门号);项目表(项目编号,项目名称,所在地方)以及员工参与项目(员工号,项目编号,职责)。其中一个员工属于一个部门,一个部门有多个员工;一个员工可同时参加多个项目,一个项目有多个员工一起开发。用SQL语言中的DDL语言建立这四张表,设计并定义表的主码和外码,各字段的数据类型自己设计。 3.分别使用对象资源管理器和SQL语句定义下面的约束,并进行比较。 ①员工号是四位数字串,其中每一位是取0-9之间的数字。 ②项目编号是以字母J开始的,其它是数字的4位字符串。 ③约束性别的取值为“男”、“女”,且非空,缺省是男。 ④约束部门电话的格式:由取值为0-9的8位数字串组成。 4.使用SQL语句修改表 ①在部门表中增加“部门领导”字段(和员工号同域);在项目表中增加“项目主管”字段(和员工号同域)。 ②在员工表中增加“技术职称”和“工资”字段,其中“工资”为数字类型。 ③在项目表中增加“开工日期”和“完工日期”字段,类型为日期型。 ④增加约束:工程起始日期小于计划完成日期。 ⑤在部门表中增加“部门人数”字段,类型为字符型。 ⑥修改“部门人数”字段类型为整型。 ⑦先在项目表中增加“项目类型”字段,然后再删除该字段。 5.分别向四张表中录入如下数据。 部门表 员工表 项目表 员工参与项目表 |
四、实验过程与分析 |
1.创建数据库 通过对象资源管理器快速创建一个名为xmgl的数据库,只要修改物理路径即可。 2.创建表 (1)部门表: 1.部门号为主码,不能为空 2.部门领导与员工表中的员工号数据类型相同,形成外码约束 3.部门电话要求为由取值为0-9的8位数字串组成,设置为C_K约束 4.代码 5.两种方法设置约束 对象资源管理器: SQL语句定义: (2)员工表: 1.员工号为主码,不能为空 2.员工所在部门号,与部门表中的部门号数据类型完全相同,形成外码约束 3.员工的性别要求默认为“男”,并且取值只能为“男”或“女” 4.代码 5.两种方法设置约束 对象资源管理器: SQL语句定义: (3)项目表: 1.项目编号为主码,不能为空 2.项目编号是以字母J开始的,其它是数字的4位字符串 3.代码 4.两种方法设置约束 对象资源管理器: SQL语句定义: (4)员工参与项目表: 1.员工号和部门号共同形成了主码,并且两者均不能为空 2.员工参与项目表中的员工号的取值取决于员工表中的员工号型要完,形成外码约束,员工参与项目表中部门号的取值取决于部门表中的部门号,形成外码约束 3.代码 3.使用SQL语句修改表 4.分别向四张表中录入如下数据 部门表和员工参与项目表通过对象资源管理器录入数据: 员工表和项目表通过SQL命令插入数据: |
五、实验总结 |
通过这次实验,我充分了解了表的结构,并学会了用两种方式创建表——1.用对象资源管理器创建表;2.用SQL语句创建表。 此外,在实验过程中,我还遇到不少问题,比如第一个问题——属性的数据精度设置过小导致“性别”被截断,必须重新建表;第二个问题——insert语句与foreign key约束冲突,首先要按顺序录入元组,其次可以设置空值,先录入其他已有的数据;第三个问题——insert语句与check约束冲突,首先去查看自己的check约束是否合理,不合理进行修改;其次检查是否有正在设计或者正在编辑的窗口没有关闭,保存关闭了重试。思考题中,2012和2014不可以录入,因为员工表中的员工号没有这两个数据,会发生数据的不一致。可以通过将强约束改成否或者在员工表中添加这两个员工号实现。文章来源:https://www.toymoban.com/news/detail-471496.html |
本文章中有不正确的地方,还请各位大神指出。。。文章来源地址https://www.toymoban.com/news/detail-471496.html
到了这里,关于数据库/实验:创建和删除表(提高篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!