附录C数据库上机实验

上传人:cn****1 文档编号:507262688 上传时间:2023-11-10 格式:DOCX 页数:15 大小:72.86KB
返回 下载 相关 举报
附录C数据库上机实验_第1页
第1页 / 共15页
附录C数据库上机实验_第2页
第2页 / 共15页
附录C数据库上机实验_第3页
第3页 / 共15页
附录C数据库上机实验_第4页
第4页 / 共15页
附录C数据库上机实验_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《附录C数据库上机实验》由会员分享,可在线阅读,更多相关《附录C数据库上机实验(15页珍藏版)》请在金锄头文库上搜索。

1、附录C上机实验C.1第4章上机实验宇超,仅供参考下列实验均使用SQL Server的SSMS工具实现。1. 用图形化方法创建符合如下条件的数据库(创建数据库的方法可参见本书附录A): 数据库名为:学生数据库 主要数据文件的逻辑文件名为:Students_data,存放在D:Data文件夹下(若D: 盘中无此文件夹,请先建立此文件夹,然后再创建数据库。),初始大小为:5MB, 增长方式为自动增长,每次增加1 MB。 日志文件的逻辑文件名字为:Students_log,也存放在D:Data文件夹下,初始大 小为:2MB,增长方式为自动增长,每次增加10%。2. 选用已建立的“学生数据库”,写出创建

2、满足表-1到4-4条件的表的SQL语句,并执行所 写代码。(注:“说明”部分不作为表定义容)表 CT Student 表结构列名说明数据类型约束Sno学号普通编码定长字符串,长度为7主键Sname普通编码定长字符串,长度为10非空Ssex性别普通编码定长字符串,长度为2取值围:男,女Sage年龄微整型(tinyint)取值围:15-45Sdept所在系普通编码不定长字符串,长度为20默认值为“计算机系Sid号普通编码定长字符串,长度为10取值不重Sdate入学日期日期默认为系统当前日期表 C-2 Course 表结构列名说明数据类型约束Cno课程号普通编码定长字符串,长度为10主键Cname课

3、程名普通编码不定长字符串,长度为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语句,并执行所写代码,查看执行结果。(1) 在Teacher

4、表中添加一个职称列,列名为:Title,类型为nchar(4)。ALTER TABLE Teacher ADD Title VARCHAR(4)(2) 为Teacher表中的Title列增加取值围约束,取值围为:教授,副教授,讲师。ALTER TABLE Teacher ADD CONSTRAINT Title CHECK(Title IN(教授, 副教授,讲师)(3) 将Course表中Credit列的类型改为:tinyint。注意:这里首先需要先删除Credit的约束,修改完数据类型后再重新添加约束项ALTER TABLE Course DROP CONSTRAINT CK_Course_

5、Credit_2B3F6F97ALTER TABLE Course ALTER COLUMN Credit TINYINTALTER TABLE Course ADD CONSTRAINT Credit CHECK (Credit0)(4) 删除Student表中的Sid和Sdate列。注意:这里首先需要先删除约束ALTER TABLE Student DROP CONSTRAINT UQ_Student_CA1E5D79B3204FCFALTER TABLE Student DROP CONSTRAINT DF_Student_Sdate_3B75D760ALTER TABLE Studen

6、t DROP COLUMN Sdate,Sid(5) 为Teacher表添加主键约束,其主键为:Tno。ALTER TABLE Teacher ADD PRIMARY KEY (Tno)建立数据库主要文件和日志文件我们可以看到D盘增加了主要数据文件.mdf和日志文件.ldf 此电脂 JAVA (D::l atav C?修改日周大小| 9 Students_d ata. mdf2016/111&4BSQL Server Da虹“20 IKEI囤 Studnt5_d ata J o g,l dfS-QL Server D砒日皿上场KB |给students_data建立表格 create tabl

7、e Student ( Sno char(7),Sname char(10) not null,Ssex char(2) check( Ssex=男or Ssex=女) Sage tinyint check(Sage 14 AND Sage0),Semester tinyint,)create table SC(Sno char(7),Cno char(10),Grade tinyint check( Grade=0 AND Grade20011. 查询选7C002课程的学生和所在系。SELECT Sname,Sdept FROM Student st,SC sc WHERE st. Sno=

8、sc. Sno ANDCno=C002或者SELECT Sname,Sdept FROM Student WHERE Sno IN(SELECT Sno FROM SCWHERE Cno=C002)或者SELECT Sname,Sdept FROM Student WHERE EXISTS (SELECT * FROM SC WHERE Sno 二 Student. Sno AND Cno =C002)12. 查询考试成绩80分以上的学生、课程号和成绩,并按成绩降序排列结果。SELECT Sname,Cno,Grade FROM Student,SC WHERE Student. Sno=SC

9、.Sno AND Grade80 ORDER BY Grade DESC13. 查询与VB在同一学期开设的课程的课程名和开课学期。SELECT c2. Cname,c2. Semester FROM Course c1,Course c2WHERE c1. Cname=c2. Cname AND c1.Cname=VB AND c2.Cname!=VB14. 查询与勇年龄相同的学生的、所在系和年龄。SELECT s2. Sname,s2. Sdept,s2. Sage FROM Student s1,Student s2WHERE s1. Sage=s2. Sage AND s1.Sname=

10、勇AND s2.Sname!=勇 或者SELECT Sname,Sdept,Sage FROM Student WHERE Sage=(SELECT Sage FROM Student WHERE Sname=勇)AND Sname !=勇15. 查询哪些课程没有学生选修,列出课程号和课程名。SELECT Course. Cno,Course. Cname FROM Course LEFT JOIN SC on SC. Cno二Course. Cno WHERE SC.Cno IS NULL16. 查询每个学生的选课情况,包括未选课的学生,列出学生的学号、选的课程号。SELECT Student. Sno,Student. Sname,Cno FROM Student LEFT JOIN SC ON SC.Sno二Student. Sno17. 查询计算机系哪些学生没有选课,列出学生。SELECT Sname FROM Student WHERE Sdept=计算机系AND Sn

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号