2022年数据库习题 .pdf

上传人:Q****o 文档编号:25951136 上传时间:2022-07-14 格式:PDF 页数:8 大小:62.72KB
返回 下载 相关 举报
2022年数据库习题 .pdf_第1页
第1页 / 共8页
2022年数据库习题 .pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年数据库习题 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库习题 .pdf(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、网络数据库SQL 自检自测题答案有一个“学生课程”数据库,数据库中包括三个表:(1) “学生”表Student由学号( Sno) 、姓名( Sname ) 、性别( Ssex) 、年龄( Sage) 、所在系( Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。(2) “课程”表Course 由课程号(Cno) 、 课程名(Cname ) 、 先修课号(Cpno) 、 学分(Ccredit )四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。(3) “学生选课”表SC由

2、学号( Sno) 、课程号( Cno) 、成绩( Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。完成下列操作:1、 建立一个 “ 学生 ” 表 Student,它由学号Sno、姓名 Sname、性别 Ssex、年龄 Sage 、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。CREATETABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20), Ssex CHAR(1), Sage INT, Sdept CHAR(15); 2、 向 Student 表增加

3、“入学时间”列,其数据类型为日期型。ALTER TABLE Student ADD Scome DATE; 3、删除 Student 表DROP TABLE Student ;4、查询全体学生的学号与姓名SELECT Sno, Sname FROM Student; 5、查询全体学生的详细记录SELECT * FROM Student; 6、查所有选修过课的学生的学号SELECT DISTINCT Sno FROM SC; 7、查所有年龄在20 岁以下的学生姓名及其年龄SELECT Sname, Sage FROM Student WHERE Sage 20; 8、查考试成绩有不及格的学生的学

4、号SELECT DISTINCT Sno FROM Course WHERE Grade 0 SELECT * FROM Student Where Sname = Name ELSE SELECT 警示 = 不存在姓名为 + Name + 的学生资料 22、创建 Student表按学号升序建立唯一索引Create Unique Index Stusno on Student(Sno)23、创建 Course 表按课程号升序建立唯一索引Create Unique Index Coucno on Course(Cno)24、创建 SC表按学号升序和课程号降序建立唯一索引Create Unique

5、 Index Scno on SC(Sno ASC,Cno DESC )25、建立信息系学生的视图Creat View IS_Student AS Select Sno,Sname,Sage From Student Where Sdept=”IS”26、建立所有女生记录的视图Creat View F_Student(stdnum,name,sex,age,dept) AS Select * From Student Where Ssex=”女”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -

6、 - 第 3 页,共 8 页 - - - - - - - - - 27、创建了一个名为stu_cou 数据库, 该数据库的主数据文件逻辑名称为“stu_cou_data ” ,物理文件名为“stu_cou.mdf ” ,路径为 D:sql,初始大小为10MB ,最大尺寸为无限大,增长速度为10% ;数据库的日志文件逻辑名称为“stu_cou_log” ,物理文件名为“stu_cou.ldf” ,路径为 D:sql,初始大小为1MB ,最大尺寸为5MB ,增长速度为1MB 。Create database stu_couon primary (name= stu_cou _data, stu_c

7、ou .mdf, size=10, maxsize=unlimited, filegrowth=10%) log on (name= stu_cou _log, stu_cou .ldf, size=1, maxsize=5, filegrowth=1) 28、使用 sp_addumpdevice 创建一个备份设备stucbac ,这是一个磁盘文件,其物理名称为“D:sqlstuc.bak” ,将 stu_cou 数据库备份到该设备上。Exec sp_addumpdevice disk , stucbac , D:sqlstuc.bakBackup Database stu_cou to st

8、ucbac 29、查询选修了课程名为“信息系统”的学生学号和姓名select Sno,Sname from student where sno in (select Sno from SC where Cno in ( select Cno from Course where Cname=信息系统 ) ) 或者select Student.Sno,Sname from Student,SC,Course where Student.Sno=SC.Sno and SC.Con=Course.Cno and Course.Cname=信息系统30、查询其他系中比IS 系任一学生年龄小的学生名单。S

9、elect Sanme,Sage From Where SageANY (Select Sage from Student where Sdept= IS) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - and Sdept IS31、查询 student表中的所有信息,将查询结果保存到当前数据库中的新数据表re_stu中。Select * into re_stu from student 32、查询出所有所有学生的学号、姓名、

10、性别、年龄、所在系,而且请使用中文作为查询结果的各字段的名称。Select Sno as 学号 ,Sname as 姓名 ,Ssex as 性别, Sage as 年龄 ,Sdept as 所在系From Student 或者Select 学号 =Sno, 姓名 =Sname,性别 =Ssex,年龄 =Sage, 所在系 =Sdept From Student 33、在表 student中增加一个缺省约束,当向 student表插入一行数据时,如果没有为性别(Ssex)列提供数据,那么自动插入“女”值。Alter table student Add CONSTRAINT default_stu

11、dent_sex DEFAULT 男 for sex 34、定义一个检查约束,确保在性别(Ssex)列中只能接受性别数据(男和女 )Alter table student Add CONSTRAINT Check_student_sex CHECK(sex=男 or sex=女 ) 35、在 student表中增加一个主键约束,指定学号(Sno)为主键值,并且还创建一个聚簇索引。Alter table student Add CONSTRAINT PK_student_sno PRIMARY KEY CLUSTERED (sno) 36、定义一个外键约束,把学生选课表(S_C )中的Sno 列

12、和学生表(Student )中的Sno列关联起来。Alter table S_C Add CONSTRAINT S_C_student FOREIGN KEY(sno) REFERENCES student(sno) PRIMARY KEY 约束例如,下面的SQL语句创建一个名为student的表,其中指定student_number为主键:USE test 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - GO CREATE T

13、ABLE student (sutdent_number int PRIMARY KEY, student_name char(30) GO 2 FOREIGN KEY约束例如,下面就是一个使用FOREIGN KEY 约束的例子:CREATE TABLE product (product_number int, student_number int FOREIGN KEY REFERENCES student(student_number) ON DELETE NO ACTION) GO 3 UNIQUE约束例如,下面的SQL语句创建了一个test2表,其中指定了c1 字段不能包含重复的值:U

14、SE test GO CREATE TABLE test2 (c1 int UNIQUE, c2 int) GO INSERT test2 VALUES(1,100) GO 如果再插入一行:INSERT test2 VALUES(1,200) 4 CHECK约束例如,下面的SQL语句创建一个成绩(score )表,其中使用CHECK 约束来限定成绩只能在0100 分之间:CREATE TABLE score (sutdent_number int, score int NOT NULL CHECK(score=0 AND score 默认值.1 在创建表时指定默认值例如,下面在test数据库中

15、创建一个datetest表,其中c2 指定默认值未当前日期:USE test GO CREATE TABLE datetest( c1 int, c2 datetime DEFAULT (getdate() ) 然后插入一行数据:INSERT datetest(c1) VALUES(1) SELECT * FROM datetest 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 同样,可以给bookdb 数据库中的orderf

16、orm表中的 order_date字段加上默认值:USE bookdb GO ALTER TABLE orderform ADD CONSTRAINT DateDflt DEFAULT getdate() FOR order_date .2 使用默认对象.2.1 创建默认对象2使用 CREATE DEFAULT 语句例如,使用下面的SQL语句也可以创建address_default默认对象:USE bookdb GO CREATE DEFAULT address_default AS 无 GO .2.2 绑定默认对象2使用 sp_bindefault存储过程例如,上面将 address_def

17、ault默认对象绑定到authors表的 address 列上的操作过程可以使用下面的SQL语句来完成:USE bookdb EXEC sp_bindefault address_default, authors.address .2.4 解除默认对象的绑定例如,下面的SQL语句解除 authors表 address 列上的默认值绑定:USE bookdb EXEC sp_unbindefault authors.address .2.5 删除默认对象例如,下面的 SQL语句判断是否存在address_default默认对象, 如果存在则删除该默认对象:USE bookdb IF EXISTS

18、 (SELECT name FROM sysobjects WHERE name = address_default AND type = D) DROP DEFAULT address_default GO 规 则1 创建规则例如,下面的SQL语句创建一个名为score_rule的规则,限定输入的值必须在0 到 100 之间:USE test GO CREATE RULE score_rule AS score BETWEEN 0 and 100 而下面创建的规则将输入到该规则所绑定的列中的实际值限制为只能是该规则中列出的值:USE test GO 名师资料总结 - - -精品资料欢迎下载

19、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - CREATE RULE list_rule AS list IN (1997, 1997, 1996) 也可以使用LIKE 来创建一个模式规则,即遵循某种格式的规则。例如,要使得该规则指定任意两个字符的后面跟一个连字符和任意多个字符(或没有字符),并以 1 到 6 之间的整数结尾,则可以使用下面的SQL语句:USE test GO CREATE RULE pattern_rule AS value LIKE _-%1-6

20、2 绑定规则例如,下面的SQL语句可以将score_rule规则绑定到score 表的 score 列上:USE test EXEC sp_bindrule score_rule, score.score 3 删除规则例如,要解除绑定到score 表的 score 列上的规则,可以使用下面SQL语句:USE test EXEC sp_unbindrule score.score 例如,要删除规则score_rule,可以使用下面的SQL语句:DROP RULE score_rule 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

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

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com