实验2-2、基本表的创建与约束机制_第1页
实验2-2、基本表的创建与约束机制_第2页
实验2-2、基本表的创建与约束机制_第3页
实验2-2、基本表的创建与约束机制_第4页
实验2-2、基本表的创建与约束机制_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验内容版权所有,转载请注明来源 2021-10-21 by 黄玉兰实验二 基本表的创建与约束机制1、约束的类别Primary key 主键约束Foreign key 外键约束Unique 唯一值约束Default 默认值约束Check 检查约束2、约束的创建方式举例(请按要求完成以下实验任务)创建方式有两种,一种是SQL,一种是SSMS,所有操作请在以自己姓名命名的数据库下进行,并及时刷新对象资源管理器查阅执行结果。代码按照“实验须知”中要求的命名方式存储在.sql文件中。注:遇到问题时可查阅实验2-1和2-2文档中的示例。创建以“自己姓名_library”为名的数据库,并在此数据库中创建“

2、图书”、“出版社” 、“学生”以及“借阅”四张表(不指定创建方式,自由选择)。表结构如下“图书”表结构列名数据类型是否为空约束书号Char(6)否主键书名Varchar(20)否数量int大于0位置Varchar(20)出版社编号Char(6)外键“出版社”表结构列名数据类型是否为空约束出版社编号Char(6)否主键出版社名称Varchar(30)否唯一约束电话Char(11)邮编Char(6)六位纯数字地址Varchar(30) “学生”表结构列名数据类型是否为空学号Char(8)否姓名Varchar(20)否性别Char(2)院系Char(20)“借阅”表结构列名数据类型是否为空学号Cha

3、r(8)否书号Char(6)否借书日期datetime还书日期datetimeT-sql语句实现约束(实践部分)完成以下实验要求,并在实验报告上认真如实记录实验数据。(第二次要求写成报告的实验)1、利用T-SQL语句在library数据库中做出以下修改。(1)利用T-SQL语句在“学生”表中增加列“民族”,数据类型为varchar(6),默认值为“汉”。(2)在“学生”表中修改列“姓名”,数据类型为char(20)。(3)在“借阅”表中增加列“到期日期”,数据类型为datetime。说明,datetime为日期型。2、利用T-SQL语句在library数据库中添加以下约束:(自行验证约束是否设

4、置成功)(1)为“学生”表定义主键列,主键列为“学号”。(2)在“借阅”表中添加一默认约束default,借书日期默认值为getdate()。(3)为“借阅”表的“学号”列设置foreign key约束,“学号”列外键约束于“学生”表中的“学号”列。(4)为“学生”表中“学号”列设置check约束,要求输入的学号是必须数字形式。说明:以上各约束名可自定义。原则知名达意。3、利用t-sql语句在library数据库中做以下数据操作:(1)在“学生”表中插入一条记录,记录信息为(“08010110”,“张敏”,“女”,“计算机系”)。(2)对于library数据库中的学生,图书,出版社,借阅四个表

5、,注意相应的约束条件,自行插入不少于2条记录。(3)更新学号为08021102同学的院系为“电子系”。(更新记录不可为空,自己想办法!)实验要求:1、本次实验中所有代码保存在一个.sql文件中,每位同学以“实验须知”中的命名方式命名文档,并将电子档提交给学习委员,由学委收集整理,以专业和班级命名打包文件,并另建一个文档注明未交者的学号及姓名,一并提交到黄老师邮箱958865887。2、根据实验内容和每一步骤实验的结果,按课程实验报告的撰写规范完成实验报告。报告可用手写或打印,格式一定要规范。3、实验报告至少包括以下内容:实验目的;实验环境;实验内容、步骤、结果和实验过程中出现的问题;实验过程中

6、主要使用的Transact-SQL语句。4、实验报告由每班学习委员统一收齐,并于下一次上课前上交。Primary key示例2-1-1为学生表的sno字段创建一个主键约束 示例2-1-2为学生表的sno字段增加一个主键约束【思考】在实际操作中,增加主键约束时,对于最初建表中的字段有什么限制条件?并进一步思考在缺省状态下,系统默认在建表时字段允许为空还是不允许为空?示例2-1-3 利用SSMS工具Foreign key示例2-2-1为选修表的sno字段创建一个外键约束示例2-2-2为选修表的cno字段增加一个外键约束【思考】在实际操作中,增加外键约束时,系统有无报错?找出原因并改正。示例2-2-

7、3利用SSMS工具Unique示例2-3-1为学生表的sname字段创建一个唯一值约束示例2-3-2为课程表的cname字段增加一个唯一值约束【思考】唯一值和主键的区别?示例2-3-3利用SSMS工具Default示例2-4-1为学生表的ssex字段创建一个默认值为男的约束示例2-4-2为上述学生表的nation字段增加一个默认值为汉族的约束示例2-4-3利用SSMS工具Check示例2-5-1为选修表的grade字段创建一个检查约束,其取值范围0-100示例2-5-2为学生表的sno字段增加一个检查约束,只能由纯数字充当学号。示例2-5-3利用SSMS工具【课后作业】根据下列各表中的说明部分

8、,自行设置相应约束。设置完后插入合理的原始数据。各表中原始数据不可少于10条。Department名称数据类型可否为空说明DepartmentIDChar(3)否系部编号DepartmentNameVarchar(30)否系部们称DepartmentHeadChar(8)是部门负责人Teacher名称数据类型可否为空说明TeacherIDChar(8)否教师编号teacherNameVarchar(10)否教师姓名departmentIDChar(3)是教师所在系部IDsexChar(2)是性别technicalPostchar(16)是职称TelephoneChar(16)是电话homeAd

9、drVarchar(50)是家庭住址pwdVarchar(16)是密码remarknvarchar(200)是备注Course名称数据类型可否为空说明courseIDChar(8)否课程编号coursenameVarchar(20)否课程名称coursetypeIDChar(3)是课程类型编号totalperiodtinyint是总课时weekperiodtinyint是周课时credithourtinyint是学分(0)remarkVarchar(50)是备注Student名称数据类型可否为空说明studentIDChar(10)否学生编号studentNameVarchar(10)否学生姓

10、名nationChar(10)是民族sexChar(2)是性别(默认男或女,默认男)birthdaydatetime是出生日期classIDChar(7)是班级编号telephoneVarchar(16)是联系电话credithourtinyint否已修学分(0)ru_dateChar(4)是入学年份Speciality名称数据类型可否为空说明SpecialityidChar(5)否专业编号SpecialityNameVarchar(30)否专业名称DepartmentidChar(3)是专业所在系部IDCoursetype名称数据类型可否为空说明CoursetypeidChar(3)否课程类型编号TypenameVarchar(18)否课程类型名称Class名称数据类型可否为空说明classIDChar(7)否班级编号classNameVarchar(12)否班级名称SpecialitynameChar(5)是专业编号specialtityNameVarchar(30)是专业名称entranceYearChar(4)是入学年份MonitoridChar(10)是班长编号Grade名称数据类型可否为空说明StudentidChar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论