附录C数据库上机实验讲述教程.docVIP

  • 68
  • 0
  • 约 16页
  • 2017-05-01 发布于湖北
  • 举报
附录C数据库上机实验讲述教程

PAGE \* MERGEFORMAT379 附录C 上机实验 C.1 第4章上机实验 陈宇超,仅供参考 下列实验均使用SQL Server 的SSMS工具实现。 1.用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A): 数据库名为:学生数据库 主要数据文件的逻辑文件名为:Students_data,存放在D:\Data文件夹下(若D:盘中无此文件夹,请先建立此文件夹,然后再创建数据库。),初始大小为:5MB,增长方式为自动增长,每次增加1MB。 日志文件的逻辑文件名字为:Students_log,也存放在D:\Data文件夹下,初始大小为:2MB,增长方式为自动增长,每次增加10%。 2.选用已建立的“学生数据库”,写出创建满足表C-1到4-4条件的表的SQL语句,并执行所写代码。(注:“说明”部分不作为表定义内容) 表C-1 Student表结构 列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键Sname姓名普通编码定长字符串,长度为10非空Ssex性别普通编码定长字符串,长度为2取值范围:{男,女}Sage年龄微整型(tinyint)取值范围:15-45Sdept所在系普通编码不定长字符串,长度为20默认值为“计算机系”Sid身份证号普通编码定长字符串,长度为10取值不重Sdate入学日期日期默认为系统当前日期表C-2 Course表结构 列名说明数据类型约束Cno课程号普通编码定长字符串,长度为10主键Cname课程名普通编码不定长字符串,长度为20非空Credit学时数整型取值大于0Semester学分小整型表C-3 SC表结构 列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键,引用Student的外键Cno课程号普通编码定长字符串,长度为10主键,引用Course的外键Grade成绩小整型取值范围为0-100表C-4 Teacher表结构 列名说明数据类型约束Tno教师号普通编码定长字符串,长度为8非空Tname教师名普通编码定长字符串,长度为10非空Salary工资定点小数,小数点前4位,小数点后2位 3. 写出实现如下功能的SQL语句,并执行所写代码,查看执行结果。 在Teacher表中添加一个职称列,列名为:Title,类型为nchar(4)。 ALTER TABLE Teacher ADD Title VARCHAR(4) 为Teacher表中的Title列增加取值范围约束,取值范围为:{教授,副教授,讲师}。 ALTER TABLE Teacher ADD CONSTRAINT Title CHECK(Title IN(教授,副教授,讲师)) 将Course表中Credit列的类型改为:tinyint。 注意:这里首先需要先删除Credit的约束,修改完数据类型后再重新添加约束项 ALTER TABLE Course DROP CONSTRAINT CK__Course__Credit__2B3F6F97 ALTER TABLE Course ALTER COLUMN Credit TINYINT ALTER TABLE Course ADD CONSTRAINT Credit CHECK (Credit0) 删除Student表中的Sid和Sdate列。 注意:这里首先需要先删除约束 ALTER TABLE Student DROP CONSTRAINT UQ__Student__CA1E5D79B3204FCF ALTER TABLE Student DROP CONSTRAINT DF__Student__Sdate__3B75D760 ALTER TABLE Student DROP COLUMN Sdate,Sid 为Teacher表添加主键约束,其主键为:Tno。 ALTER TABLE Teacher ADD PRIMARY KEY(Tno) ※建立数据库主要文件和日志文件 ※我们可以看到D盘增加了主要数据文件.mdf和日志文件.ldf ※给students_data建立表格 create table Student( Sno char(7), Sname char(10) not null, Ssex char(2) check( Ssex=男 or Ssex=女 ) , Sage tinyint check(Sage 14 AND Sage46), Sdept varchar(20) default 计算

文档评论(0)

1亿VIP精品文档

相关文档