数据库系统原理与应用课程实验.doc_第1页
数据库系统原理与应用课程实验.doc_第2页
数据库系统原理与应用课程实验.doc_第3页
数据库系统原理与应用课程实验.doc_第4页
数据库系统原理与应用课程实验.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

数 据 库 原 理 实 验(一) 学校: 西安工程大学 学院:计算机科学学院 班级:软件工程092班 学号: 40909050239 姓名: 马 萍实验二一、实验题目:数据库的设计二、实验目的:掌握数据表建立、修改、删除、索引的SQL语句。 三、实验中使用的关系表 关系表S、C、SC:S(SNO,SNAME,SEX,AGE,DEPT)C(CNO,CNAME,CCREDIT)SC(SNO,CNO,GRADE)学生表S由学号SNO,姓名SNAME,性别SEX,年龄AGE,所在系DEPT组成。课程表C由课程号CNO,课程名CNAME,学分CCREDIT组成。选课表SC由学号SNO,课程号CNO,成绩GRADE组成。四、实验内容:(1) 数据表的修改(2) 数据表的删除(3) 数据表的索引建立(4) 视图的建立与删除 五、实验步骤 1、建立数据库 create database maping111;2、建表 1) S表 create table S(SNO char(11)primary key, SNAME char(20)unique, SEX char(6), AGE smallint, DEPT char(20) ); 2) C表create table C(CNO char(11)primary key, CNAME char(20)unique, CCREDIT smallint ); 3)SC表create table SC(SNO char(11), CNO char(11), GRADE smallint, primary key (SNO,CNO), foreign key(SNO) references S(SNO), foreign key(CNO) references C(CNO) );2、表的删除 drop table C;3、索引建立create unique index Sno on S(SNO);create unique index Cno on C(CNO);create unique index SCno on SC(SNO ASC,GRADE DESC);4、视图的建立与删除l 建立一个计算机系学生基本信息视图CSV(SNO,SNAME,SEX,AGE)create view CSVasselect SNO,SNAME,SEX,AGEfrom Swhere DEPT=计算机;l 查询1983年以后出生的计算机系学生基本信息。select *from CSVwhere AGE3;l 查询计算机系学生2号课不及格的学生学号和成绩。select SNO,GRADEfrom JSGV1 where CNO=002 and GRADE20order by count(SNO) desc,CNO;(7) 检索所有缓考即成绩为NULL的同学学号、姓名和缓考课程号。select SC.SNO,SC.CNO,S.SNAMEfrom SC,S,Cwhere SC.GRADE is null and SC.SNO=S.SNO and SC.CNO=C.CNO;(8) 检索OS课成绩高于该课平均成绩的同学学号。select SNO,CNOfrom SC xwhere GRADE (select avg(GRADE) from SC y where y.SNO = x.SNO);查询数据SQL语句:(1) 检索计算机系女生的学号和姓名。 select SNO,SNAMEfrom CSVwhere SEX=女;(2) 检索全体学生姓名、出生年份和所在系。select SNO,2011-AGE,DEPTfrom S;(3) 检索未选修任何课程的学生学号。select SNOfrom Swhere SNO not IN (select SNO from SC);(4) 检索WANG老师所授课程号、课程名。select CNO,CNAMEfrom Cwhere TERTHER=WANG;(5) 检索所有姓LI同学的基本信息。select distinct *from S,C,SCwhere S.SNO=SC.SNO and C.CNO=SC.CNO and SNAME like LI%;(6) 检索选修数据库课程的学生学号。select SNOfrom SCwhere 数据库= (select CNAME from C where SC.CNO=C.CNO);(7) 检索年龄介于lIHUA同学年龄和28岁之间的学生基本信息。select *from Swhere AGE between (select AGE from S where SNAME=lIHUA ) and 28;(8) 检索至少选修了一门TIAN老师所授课程的学生姓名、学号。select distinct S.SNO,SNAMEfrom S,SCwhere S.SNO=SC.SNO and not exists (select * from C where TERTHER LIKE TIAN% and not exists (select * from SC where SC.SNO=S.SNO AND SC.CNO=C.CNO );五、实验心得 本次实验主要是基于表的查询操作。有关于单表的查询,多表的查询。对于多表的查询,可以采用连接的方式,也可以采用查询的嵌套,对于相对难的题目,比如说最后一道查询题检索至少选修了一门TIAN老师所授课程的学生姓名、学号,采用的就是双重否定的方式,用两个NOT EXISTS去实现表的查询。数 据 库 原 理 实 验(三) 学校: 西安工程大学 学院:计算机科学学院 班级:软件工程092班 学号: 40909050239 姓名: 马 萍实验四一、实验题目:数据表的完整性和安全性二、实验目的:掌握数据表的完整性和安全性的SQL语句。三、实验内容:1)数据表的完整性约束A)实体完整性约束数据库中表的完整性约束,就是实体完整性在create table中用primary key定义。如S表中主键的定义。B)参照完整性约束数据库中的参照完整性约束,就是参照完整性在create table中用foreign key 短语定义哪些列为外码。如SC表中外键的定义,SNO,CNO,用references 短语指明数据库的授权这些外码参照那些表的主码。2)触发器 用户定义在关系表上的一类由事件驱动的特殊过程。也是维护数据库完整性的一个方法。3)授权SQL语句:将查询SC表和修改GRADE属性的权限授予用户user1。grant update(GRADE),select on table SCto user1;将对表S的插入权限授予用户user2,并允许他将此权限授予其他用户。grant insert on table Sto user2with grant o

温馨提示

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

评论

0/150

提交评论