lab3_5 创建和管理数据表(数据完整性)
- 格式:doc
- 大小:100.50 KB
- 文档页数:4
《表的创建与管理》实验一、实验目的与要求1、掌握使用T-SQL语句创建数据表和`数据表完整性约束的定义。
2、熟悉表的结构和列所使用的数据类型。
3、理解数据表完整性含义及其定义的方法。
二、实验平台1、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005三、实验内容(一)用户自定义数据类型address varchar(40) null(二)表的创建与完整性定义StudentInfo(学生信息表)TeacherInfo(教师信息表)CourseInfo(课程信息表)StudentCourse(学生选课表)Teaching(教学表)RankPaymetn(职称课酬表)1、使用T-SQL语句创建以上数据表。
同时定义主键约束:StudentInfo 表主键Sno;TeacherInfo表主键Tno;CourseInfo表主键Cno;RankPayment表主键Trank和非空约束。
2、使用T-SQL语句定义以上数据表的其他约束①对CourseInfo表的Cname进行唯一性约束(unique约束)。
②对StudentCourse表定义外键约束:Sno引用StudentInfo表中的Sno,Cno引用CourseInfo表中的Cno。
③对TeacherInfo表定义外键约束:Trank引用RankPayment表中的Trank。
④对Teaching表定义外键约束:Tno引用TeacherInfo表中的Tno,Cno引用CourseInfo表中的Cno。
⑤对StudentCourse表的Score进行CHECK约束:Score必须在0至100之间。
⑥对StudentInfo表中的Ssex和TeacherInfo表中的Tsex进行默认值定义,默认值为“男”或“male”四、实验过程五、实验总结简述实验完成情况、实验过程中各自碰到的问题、各自对实验目的掌握情况。
《数据库原理与应用》实验报告(实验名称:创建和修改数据表及数据完整性)专业班级学号学生姓名指导老师怀化学院计算机科学与技术系2111 年10 月 11日《数据库原理与应用》实验报告实验名称:创建和修改数据表及数据完整性一、实验目的熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用。
要求学生熟练掌握使用企业管理器和T—SQL语句CREATE TABLE、ALTER TABLE及DROP TABLE语句对数据表进行管理。
二、实验内容:1.在数据库company中创建以上五张表,并设置各表的主键。
2.在销售主表sales中添加字段“发票号码”invoice_no,char(10),NOT NULL。
3.添加外键约束:a)在销售主表sales的业务员编号字段sale_id上添加外键约束,参照字段为员工表employee中的字段员工编号emp_no,约束名为FK_sale_id。
b)在销售主表sales的客户号字段cust_id上添加外键约束,参照字段为客户表customer中的字段客户号cust_id,约束名为FK_cust_id。
c)在销售明细表sale_item的订单编号字段order_no上添加外键约束,参照字段为销售主表sales中的字段订单编号order_no,约束名为FK_order_no。
d)在销售明细表sale_item的产品编号字段prod_id上添加外键约束,参照字段为产品名称表product中的产品编号字段prod_id,约束名为FK_prod_id。
4.添加核查约束:a) 将员工表employee中的薪水字段salary的值限定在1000至10000间,约束名为CK_salary。
b) 将员工表employee中的员工编号字段emp_no设定为以“E”字母开头,后面跟4位数的编号,约束名为CK_emp_no。
南京晓庄学院《数据库原理与应用》课程实验报告实验三数据表的创建与管理实验所在院(系):数学与信息技术学院班级:学号:姓名:1.实验目的(1)理解SQL Server 2005常用数据类型和表结构的设计方法。
理解主键、外键含义,掌握建立各表相关属性间参照关系的方法。
(2)熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构,插入及更新数据的方法。
(3)熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方法。
2.实验要求基本实验:(1)在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构:学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号)课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时)学习信息(学号,课程号,考试成绩,平时成绩)院系信息(院系号,院系名称)要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。
(2)依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据库中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。
(3)依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验使用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。
(4)找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。
(5)按要求完成实验报告。
扩展实验:(1)在“TM”数据库中补充设计以下各表结构:教师信息(教师号,姓名,性别,出生日期,学历,学位,入职时间,职称,院系号)授课信息(教师号,课程号,学期)班级信息(班级号,班级名称,专业号)专业信息(专业号,专业名称,学制,学位)图书信息(图书号,书名,作者,出版社,出版日期,册数,价格,分类)借书偏息(学号,图书号,借出时间,归还时间)奖励信息(学号,奖励类型,奖励金额)(2)设计并实现各表之间相关属性的参照关系。
实验三、四 创建表及输入数据及完整性约束本实验需要4学时。
一、实验目的要求学生熟练掌握和使用Transact-SQL、SQL Server企业管理器创建表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。
学生熟练掌握使用 SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。
二、实验内容1 创建表、确定表的主码和约束条件。
为主码建索引。
2 查看和修改表结构。
3 输入数据、修改数据和删除数据三、实验步骤(1)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为;图书(书号,类别,出版社,作者,书名,定价,作者).读者(编号,姓名,单位,性别,电话).借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。
(2)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。
(3)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。
要求记录不仅满足数据约束要求.还要有表间关联的记录。
(4)通过企业管理器实现对图书借阅数据库的图书、读者和借阅3个表中数据的插入。
删除和修改操作。
(5)通过企业管理器实现对学生选课库的数据增加、数据删除和数据修改操作、要求学生、课程和选课表中各有10条以上的记录。
四、实验方法1 新建表在 SQL Serve 2000的数据库中,文件夹是按数据库对象的类型建立的.文件夹名是该数据库对象名。
当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的图书.读者数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。
数据库完整性实验报告数据库完整性实验报告引言数据库完整性是指数据库中数据的准确性、一致性和有效性。
在数据库中,完整性是非常重要的,它保证了数据的可靠性和可信度。
本实验报告旨在介绍数据库完整性的概念、重要性以及实验过程和结果。
一、数据库完整性的概念和重要性数据库完整性是指数据库中的数据应符合规定的约束条件,不应存在冲突、矛盾或不一致的情况。
它包括实体完整性、参照完整性和用户定义的完整性。
1. 实体完整性实体完整性是指数据库中的每个实体都必须具有唯一的标识符。
在关系型数据库中,实体完整性通常通过主键来实现。
主键是一个能唯一标识实体的属性或属性组合,它保证了每个实体的唯一性。
2. 参照完整性参照完整性是指数据库中的外键必须引用已存在的主键。
外键是一个表中的属性,它引用了另一个表的主键。
参照完整性保证了表与表之间的关联关系的正确性和一致性。
3. 用户定义的完整性用户定义的完整性是指用户自定义的约束条件必须满足。
例如,一个表中的某个属性必须满足某种条件,如非空、唯一等。
用户定义的完整性保证了特定业务需求的满足。
数据库完整性的重要性在于保护数据的可靠性和一致性。
它可以防止数据的错误、冲突和不一致,确保数据的准确性和可信度。
同时,数据库完整性也为数据库的安全性提供了基础,防止非法访问和恶意操作。
二、实验过程本实验使用MySQL数据库进行实验。
1. 创建数据库和表首先,创建一个名为"students"的数据库,并在其中创建一个名为"grades"的表。
表"grades"包含三个字段:学生ID、课程名称和成绩。
2. 添加完整性约束在表"grades"中,为学生ID字段添加主键约束,保证每个学生ID的唯一性。
同时,为课程名称字段添加非空约束,保证每个课程都有名称。
3. 添加参照完整性约束在表"grades"中,为学生ID字段添加外键约束,引用了另一个表"students"中的主键。
实验二:建立表和数据完整性一、实验目的与要求:1.实验目的(1)掌握建立表、修改表结构等基本操作。
(2)掌握数据完整性的功能,加深对数据完整性的理解。
2.实验要求(1)使用创建数据库技术建立名称为“学生管理”数据库。
(2)建立“院系”、“学生”、“教师”、“课程”、“选课”等5张表,具体要求见实验指导书。
(3)修改表的结构,具体要求如下:①为学生表增加一个“平均成绩”字段,类型为短整型,默认是空值。
②为课程表的“学时”字段重新定义约束:取值为8的倍数,不允许为空值。
③将院系表的“名称”字段的类型修改为varchar(30)。
④为教师表增加一个“工资”字段,类型为5位整数、2位小数的数值型。
二、实验内容1、实验原理基本表是SQL Server的数据库对象,包含了表中的列,计算列和表级约束。
对它的操作有创建、修改和删除。
(1)建立基本表结构的命令:CREATE TABLE [schema_name].table_name({<column_definition>|<computed_ column_definition >}[ < table_constraint> ][,…n])其中列定义(column_definition)的基本格式是:column_name<data_type>[NULL|NOT NULL][[CONSTRAINT constraint_name] PRIMARY KEY|UNIQUE|[FOREIGN KEY]REFERENCES [schema_name.] referenced_table_name [(ref_column)][ON DELETE {NO ACTION|CASCADE|SET NULL|SET DEFAULT}][ON UPDATE {NO ACTION|CASCADE|SET NULL|SET DEFAULT}]|CHECK (logical_expression)][DEFAULT constraint_expression]如果需要还可以定义计算列(computed_column_definition)和表级约束(table_ constraint)●空值约束NOT NULL和NULL●主关键字约束PRIMARY KEY●惟一性约束UNIQUE●参照完整性约束FOREGIN KEY●默认值定义DEFAULT●取值范围约束CHECK(2)修改表结构的命令:ALTER TABLE schema_name.table_name{ ALTER COLUMN column_name <data_type>[NULL|NOT NULL]| ADD< column_definition > | < computed_column_definition >| < table_constraint >| DROP[ CONSTRAINT ] constraint_name COLUMN column_name }(3)删除数据表的命令格式:DROP TABLE table-name2、实验步骤与结果(1)调出SQL Server2005软件的用户界面,进入SQL SERVER MANAGEMENT STUDIO。
数据库运维课程实训报告实验3 数据库安全性与完整性控制实验实训名称:成绩教师评语教师签字日期学生姓名学号一、实训目标练习安全性授权方法、安全性和完整性查看的操作方法。
二、实训内容【实验3-1】使用create user创建用户,创建单个用户teacher,创建两个用户teacher1和student。
【实验3-2】通过直接操作MySQL用户表创建用户,创建单个用户teacher2,创建两个用户teacher3和student2(请注意,新版的MySQL可能不支持使用此方法创建新用户)。
【实验3-3】新建一个terminal窗口,使用mysql –u –h -p方式登录teacher。
【实验3-4】再次新建一个terminal窗口,使用mysql –u –h -p方式登录student。
【实验3-5】使用GRANT语句对用户student赋予所有数据库所有表的insert权限和update权限。
【实验3-6】使用GRANT语句对用户student赋予school数据库所有表的select权限。
【实验3-7】使用GRANT语句对用户student赋予school数据库stuinfo表的create 访问权限。
【实验3-8】使用GRANT语句对用户student赋予school数据库stuinfo表的stuno 列上的select访问权限。
【实验3-9】使用GRANT语句对用户student赋予s所有数据库所有表的select访问权限,并设定student每小时最多可使用select操作访问数据库的次数。
【实验3-10】查看表INFORMATION_ER_PRIVILEGES中有关student的信息,查看user表中的内容信息。
【实验3-11】查看表INFORMATION_SCHEMA.SCHEMA_PRIVILEGES,找到student在school数据库下拥有的权限。
【实验3-12】查看表INFORMATION_SCHEMA.TABLE_PRIVILEGES,查找school数据库中stuinfo数据表相关的表权限。
实验五数据库完整性与安全性实验1、实验目的1.通过对完整性规则的定义实现,熟悉了解kingbase中完整性保证的规则和实现方法,加深对数据完整性的理解。
2.通过对安全性相关内容的定义,熟悉了解kingbase中安全性的内容和实现方法,加深对数据库安全性的理解2、实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
数据库版本:MySQL 6.23、实验内容3.1完整性实验:(1)分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;在create table 时已经定义了各个基表的主键。
因此,首先对每个基表删除主键,再添加主键。
实现实体完整性约束。
如下图。
删除主键:添加主键:sc表中的cno和sno分别是course表和student表的外关键字。
下图为给sc表添加student和course的外键,实现参照完整性约束。
alter table sc add constraint fk_student foreign key(sno) references student(sno);alter table sc add constraint fk_course foreign key(cno) references course(cno);主键和外键均添加成功,输入show create table 命令来查看各基表信息。
(2)分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束;向课程表中插入课程号为C01的课程。
向学生表中插入学号为30201的学生。
由上面两个实验来看,分别对student和course表插入具有相同学号和相同课程号的学生信息和课程信息,都显示sql语句错误信息为:Duplicate entry *** for key ‘PRIMARY’。
验证了实体完整性约束。
(3)向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;插入成绩信息是学号为31428(student中存在),课程号为C07(course中不存在)的学生成绩信息。
实验创建数据库及关系表数据完整性约束CKBOOD was revised in the early morning of December 17, 2020.实验一创建数据库及关系表、数据完整性约束网工1203 熊健羲 38一、实验目的1. 掌握SQL Server数据库管理系统的使用,能够在该环境中进行日常数据库操作;2. 掌握在SQL Server中使用图形化工具创建数据库的方法;3.掌握建立关系表的语句,掌握定义主码约束及外码约束的语句;4.掌握修改表结构的语句。
5.掌握数据完整性约束的功能。
二、实验内容和步骤1.创建符合如下条件的数据库:数据库的名字为:Students数据文件的逻辑文件名为:Students_dat,存放在用户盘某目录下;文件的初始大小为:5MB;增长方式为自动增长,每次增加1MB。
实验结果:2.在已建立的Students数据库中,确定出各表中的数据类型,写出创建满足下述条件的四张表的SQL语句,并查看执行结果。
实验结果:3.写出实现如下操作的SQL语句,并查看执行结果:(1)在选课表中添加一个新的修课类别列:列名为:选课类别,类型为char(4)。
(2)将课程表中的学分列的类型改为:tinyint(微整型,取值范围在0~255)。
(3)删除学生表的专业列。
(4)为教师表添加主码约束,其主码列为:教师号。
实验结果:4.在Students数据库中,编写建立满足完整性要求的定义表的SQL语句,执行并观察执行结果。
(1)图书表,结构如下:书号:统一字符编码定长类型,长度为6,主码,书名:统一字符编码可变长类型,长度为30,非空,第一作者:普通编码定长字符类型,长度为10,非空,出版日期:小日期时间型,小于等于当前系统日期,(用getdate()实现)印刷数量:小整型,取值范围:1000~5000,默认为4000,价格:定点小数,小数部分一位,整数部分3位。
实验结果:(2)书店表,结构如下:书店编号:统一字符编码定长类型,长度为6,主码,店名:统一字符编码可变长类型,长度为30,非空,电话:普通编码定长字符类型,12位长,取值形式:010-8位数字地址:普通编码可变长字符类型,40位长。
表的创建与管理实验遇到的问题及解决方法在本文中,将探讨表的创建与管理实验中可能遇到的一些问题,以及解决这些问题的方法。
我们将从基础知识和常见问题开始,逐步深入探讨,帮助读者全面理解这一主题。
一、基础知识1. 表的概念和作用我们需要了解什么是表,在数据库中的作用是什么。
表是数据库中用来存储数据的基本单位,它由行和列组成,每一行代表一个记录,每一列代表一个字段。
表的创建是数据库设计的第一步,也是数据管理的核心。
2. 表的创建语法在SQL语言中,创建一个表需要使用CREATE TABLE语句,通过指定表的名称和字段的属性来完成。
在实际操作中,我们需要了解不同数据库管理系统的语法差异,例如MySQL、SQL Server、Oracle等。
3. 表的管理操作包括对表的增、删、改、查等基本操作,以及对表结构的修改、索引的创建等高级操作。
二、常见问题及解决方法在实际操作中,我们可能会遇到以下一些问题:1. 表的创建失败可能是由于语法错误、权限不足、字段重复等原因导致的。
解决方法是仔细检查语法、确认权限、重新设计表结构等。
2. 表的字段类型选择在创建表时,选择合适的字段类型是非常重要的。
不同的字段类型适用于不同的数据类型,选择不当会导致数据存储不当,影响查询和性能。
3. 表的主键和外键设置主键和外键的设置对于数据的完整性和关联性非常重要,需要仔细考虑和设计,避免出现数据不一致或关联错误的问题。
4. 表的索引设计合理的索引设计可以提高查询效率,但不当的索引设置也会降低性能并占用大量空间。
需要根据实际情况设计和优化索引。
5. 表的数据量过大当表的数据量过大时,查询和操作性能会受到影响,需要进行分区、分表、数据压缩等操作来解决。
总结与回顾通过本文的介绍,我们深入了解了表的创建与管理实验中可能遇到的问题及解决方法。
从基础知识到常见问题,再到解决方法的具体介绍,希望能帮助读者更好地掌握这一主题。
在实际操作中,需要综合运用知识和经验,才能更好地处理表的创建与管理。
创建和管理数据库的实验总结在本次数据库实验中,我们学习了如何创建和管理一个数据库。
此外,我们还学习了SQL语句、表的创建和修改、数据查询、数据的插入、更新和删除。
第一步是创建一个数据库。
我们了解了如何使用MySQL命令行客户端创建一个数据库。
我们使用了CREATE DATABASE语句来创建数据库,可以指定数据库名称和字符集。
在创建数据库后,我们使用USE statement来切换到创建的数据库中。
创建表是下一步。
我们使用CREATE TABLE语句来创建一个新表,我们指定了表的名称,并为每个列指定名称、数据类型和大小。
我们还使用了PRIMARY KEY约束将一列指定为主键,这样就可以更轻松地处理表中的多个记录。
为了进一步学习,我们一起实现了数据查询。
我们使用SELECT语句来提取数据,可以指定要查询的列和条件,排序,甚至可以使用聚合函数来计算数据。
我们还学习了如何使用DISTINCT关键字来删除相同的结果。
接下来,我们学习了如何插入、更新和删除数据。
我们使用INSERT语句来插入新行,使用UPDATE语句来更新现有行,使用DELETE语句来删除行。
我们还学习了如何将指定的值插入自增列中。
在实验的过程中,我们使用了一些技巧来帮助我们更快地完成任务。
例如,我们可以使用DESCRIBE表名称语句来查看表的结构。
我们还学会了使用LIMIT语句来限制返回的行数。
我们还使用了WHERE语句来过滤查询结果。
这门实验让我更好地了解了数据库和SQL语言。
我学会了创造和管理数据库,以及如何查询、更新和删除数据。
我还了解了如何使用不同的技巧将查询结果限制在所需的行数和结果中,并使用约束来保证表中数据的完整性。
让我感到欣慰的是,在此过程中,我还学会了处理MySQL客户端中的错误信息,这是一个非常重要的技能。
在此实验中,我们还学会了详细记录我们的工作。
我们建立了一个工作日志来记录每个命令的输出,以便可以查看历史记录并做出更好的判断或纠正错误。
实验三数据表的创建与管理一、实验目的要求学生熟练掌握SQL server Management Studio的使用和利用T-SQL语句进行数据表的创建和删除,并对数据表和表中数据进行有效的管理。
二、实验内容分别使用SQL Server Management Studio和T-SQL语句创建和删除数据表,修改表结构,输入数据、更新数据。
三、实验指导1. 数据表定义实验3.1在“JXGL”数据库中,使用SQL Server Management Studio建立S、C和SC三个表,其结构如表表1.3.1 学生表S结构列名描述数据类型允许空值说明sno 学号char(8) NO 主键sname 姓名char(8) NOage 年龄Smallint YESsex 性别char(2) YESsdept 所在系Varchar(50) YES表1.3.2 课程表C结构列描述数据类型允许空值说明cno 课程号char(4) NO 主键cname 课程名char(20) NOcredit 学分Float YESpcno 先修课char(4) YESdescribe 课程描述varchar(100) YES表1.3.3 选课表SC结构列描述数据类型允许空值说明sno 学号char(8) NO主键(同时都是外键)cno 课程号char(4) NOgrade 成绩Float YES具体步骤如下:(1)在SQL Server Management Studio的对象管理器中,单击数据库前面的“+”号,选择“表”并击右键,在弹出的快捷菜单中选择“新建表”菜单项,则进入设计表字段对话框,如图图1.3.1设计字段对话框(2) 在设计表字段对话框中,共有三列参数:列名,数据类型,允许Null 值。
“列名”就是数据库表的字段名,而“数据类型”是字段值的类型即整型、字符型、日期时间型等类型,“允许Null值”是用来设置该字段中的值能不能为空。
日期:20180630 数据库实验三索引和数据完整性--////////扩展训练///////--////创建索引////--(要求分别用界面方式和命令方式完成)--对yggl数据库的Employees表中的DepartmentID列建立索引。
/*use ygglgoif exists(select name from sysindexes where name='depart_ind') drop index Employees.depart_indgocreate index depart_indon Employees(DepartmentID)*/--在Employees表的Name列和Adreess列上建立复合索引。
/*use ygglgoif exists(select name from sysindexes where name='sy2') drop index Employees.sy2gocreate index sy2on Employees(Name,Address)*/--对Departments表上的DepartmentName列建立唯一的非聚集索引。
/*create unique nonclustered index sy3on Departments(DepartmentName)*/--使用DROP INDEX 语句删除表Employees上建立的索引depart_ind. /*if exists(select name from sysindexes where name='depart_ind') drop index Employees.depart_ind*/--界面方式:/*启动SQL Server Management Studio,在对象资源管理器中展开数据库yggl,展开表Employees,右击“索引,选择“新建索引”选项。
数据完整性设置
为LIB数据库进行如下数据完整性设置:
1 主键设置
为各表添加主键
2 外键设置
设置“借阅表〞表的“借书证号〞和“图书编号〞两个字段为外键,分别参照“读者表〞表中的〞借书证号〞和〞图书〞表中的〞图书编号〞字段信息。
设置“图书表〞中分类号字段为外键,参照“图书类型表〞中“图书分类号〞字段值。
3 chec约束设置
设置“图书〞表中的价格大于0
设置“图书〞表中的“总册数〞、“在册数〞大于0
4 默认值设置
设置“读者〞表中的“类型〞字段默认值是“学生〞5.备份数据库
练习:为LIB创立关系图,保证库中四张表的数据一致性
注意:
创立数据库关系图后,表上的外键可以自动生成,如果想删除表上的外键,只能在表结构上删除。
Lab3_5:实现数据的完整性
一、创建名为mydb1的数据库
二、在mydb1数据库中按照下表所示.创建Student,teacher,test,test_score表
(Student表和teacher表使用企业管理器创建,后面2张表使用T-SQL语句实现。
)
student
属性名数据类型长度可否为空说明student_id int 否主键
name varchar 20 否
sex char 2 否默认值“男”
age int 可
teacher
属性名数据类型长度可否为空说明teacher_id int 否主键
name varchar 20 否
sex char 2 否
age int 可
birthdate datetime 可
workdate datetime 可
test
属性名数据类型长度可否为空说明test_id int 否主键
test_name varchar 20 可
teacher_id int 否
test_score
属性名数据类型长度可否为空说明student_id int 否
test_id int 否
score int 可
三、添加删除约束
使用T-SQL语句完成下面的任务。
1. 在student表中添加专业列institute,最长是10个汉字,不允许为空,默认值为“计算机软件”;
2. 修改Student表中列sex上的默认值为‘女’;
3. 在teacher表中对age列添加约束,年龄在18-60之间;
4. 在teacher表中添加约束,工作时间必须大于生日;
5. 将test_score表中的student_id和test_id设置为“主键”;
6. 将test_score表中的score设置检查约束,成绩值在0-100之间;
7. 设置外键:test表中的teacher_id参照teacher表中的teacher_id;
8. 设置外键:test_score表中的student_id参照student表中的student_id,test_id 参照test表中的test_id;
9. 执行下面的语句,验证以上操作:(说明:大家仔细查看表的信息,是否与图示一致)sp_help student
sp_help teacher
sp_help test_score
10. 形成这4张表的关系图,如下所示:(说明:大家查看自己创建的关系图与图示是否一致)。