




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络数据库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由学号(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表增加“入学时间”列,其数据类型为日期型。ALTER TABLE Student ADD Scome DATE;3、删除Student表DROP TABLEStudent ;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、查考试成绩有不及格的学生的学号SELECT DISTINCT Sno FROM Course WHERE Grade 0 SELECT * FROM StudentWhere Sname = Name ELSESELECT 警示 = 不存在姓名为 + Name + 的学生资料22、创建Student表按学号升序建立唯一索引Create Unique Index Stusno on Student(Sno)23、创建Course表按课程号升序建立唯一索引Create Unique Index Coucno on Course(Cno)24、创建SC表按学号升序和课程号降序建立唯一索引Create Unique 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 StudentWhere Ssex=”女”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,filename=d:sqlstu_cou.mdf,size=10,maxsize=unlimited,filegrowth=10%)log on(name=stu_cou_log,filename=d:sqlstu_cou.ldf,size=1,maxsize=5,filegrowth=1)28、使用sp_addumpdevice创建一个备份设备stucbac,这是一个磁盘文件,其物理名称为“D:sqlstuc.bak”,将stu_cou数据库备份到该设备上。Exec sp_addumpdevice disk,stucbac, D:sqlstuc.bak Backup Database stu_cou to stucbac29、查询选修了课程名为“信息系统”的学生学号和姓名select Sno,Snamefrom student where sno in (select Sno from SCwhere Cno in( select Cnofrom Coursewhere Cname=信息系统) )或者select Student.Sno,Snamefrom Student,SC,Coursewhere Student.Sno=SC.Sno andSC.Con=Course.Cno andCourse.Cname=信息系统30、查询其他系中比IS系任一学生年龄小的学生名单。Select Sanme,SageFromWhere SageANY(Select Sagefrom Studentwhere Sdept=IS)and SdeptIS31、查询student表中的所有信息,将查询结果保存到当前数据库中的新数据表re_stu中。Select * into re_stu from student32、查询出所有所有学生的学号、姓名、性别、年龄、所在系,而且请使用中文作为查询结果的各字段的名称。Select Sno as 学号,Sname as 姓名,Ssex as 性别,Sage as 年龄,Sdept as 所在系From Student或者Select 学号=Sno, 姓名=Sname,性别=Ssex,年龄=Sage, 所在系=SdeptFrom Student33、在表student中增加一个缺省约束,当向student表插入一行数据时,如果没有为性别(Ssex)列提供数据,那么自动插入“女”值。Alter table studentAddCONSTRAINT default_student_sex DEFAULT 男 for sex34、定义一个检查约束,确保在性别(Ssex)列中只能接受性别数据(男和女)Alter table studentAdd CONSTRAINT Check_student_sex CHECK(sex=男 or sex=女)35、在student表中增加一个主键约束,指定学号(Sno)为主键值,并且还创建一个聚簇索引。Alter table student Add CONSTRAINT PK_student_snoPRIMARY KEY CLUSTERED (sno)36、定义一个外键约束,把学生选课表(S_C)中的Sno列和学生表(Student)中的Sno列关联起来。Alter table S_CAddCONSTRAINT S_C_student FOREIGN KEY(sno) REFERENCES student(sno) PRIMARY KEY约束 例如,下面的SQL语句创建一个名为student的表,其中指定student_number为主键: USE test GO CREATE TABLE 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字段不能包含重复的值: USE 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数据库中创建一个datetest表,其中c2指定默认值未当前日期: USE test GO CREATE TABLE datetest( c1 int, c2 datetime DEFAULT (getdate() ) 然后插入一行数据: INSERT datetest(c1) VALUES(1) SELECT * FROM datetest 同样,可以给bookdb数据库中的orderform表中的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_default默认对象绑定到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 (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 CREATE RULE list_rule AS list IN (1997, 1997, 1996) 也可以使用LIKE来创建一个模式规则,即遵循某种格式的规则。例如,要使得该规则指定任意两个字符的后面跟一个连字符和任意多个字符(或没有字符),并以1到6之间的整数结尾,则可以使用下面的SQL语句: USE test GO CREATE RULE pattern_rule
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025鱼塘租赁合同样本
- 2025内蒙古鄂尔多斯生态环境职业学院专业技术人员招聘18人模拟试卷带答案详解
- 2025农业生产资料租赁合同范本
- 2025房屋租赁合同范本代理人
- 2025年马鞍山花山区社区工作者招聘40人模拟试卷及完整答案详解1套
- 纯化水考试题库及答案
- 船厂技师考试题库及答案
- 卫生应急考试题库及答案
- 应急救生员证考试题库及答案
- 2025年锅炉工岗位应知应会题库及答案
- 《2025同上一堂思政课》观后感10篇
- SY4201.2-2019石油天然气建设工程施工质量验收规范设备安装塔类检验批表格
- 电机的工作原理课件
- 人大监督法讲解课件
- 2025至2030年中国酒吧市场发展现状调查及投资趋势前景分析报告
- 2025至2030年中国老花镜行业发展监测及市场发展潜力预测报告
- 2025年中国银行招聘考试(综合知识)历年参考题库含答案详解(5卷)
- 设计质量意识培训课件
- 2025年四川省高考化学试卷真题(含答案解析)
- 2025年新玩家股东招募协议书
- 食品安全知识培训会议记录范文
评论
0/150
提交评论