大数据库原理实验一.doc

上传人:李司机 文档编号:1119483 上传时间:2022-06-27 格式:DOC 页数:10 大小:86.50KB
返回 下载 相关 举报
大数据库原理实验一.doc_第1页
第1页 / 共10页
大数据库原理实验一.doc_第2页
第2页 / 共10页
大数据库原理实验一.doc_第3页
第3页 / 共10页
大数据库原理实验一.doc_第4页
第4页 / 共10页
大数据库原理实验一.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《大数据库原理实验一.doc》由会员分享,可在线阅读,更多相关《大数据库原理实验一.doc(10页珍藏版)》请在三一办公上搜索。

1、word课程名称数据库原理实验成绩实验名称交互式SQL语言学号班级日期实验目的:1. 熟悉数据库的交互式SQL工具;2. 熟悉通过SQL语言对数据库进展操作;实验平台:利用RDBMSSQL Server 2005与其交互查询工具来操作SQL语言;实验容与步骤:一、 数据定义(一) 根本表操作1. 建立根本表在数据库TEST中建立3根本表:Student、Course和SC。(1) 创建学生表Student,由以下属性组成:学号SNO(char型,长度为4,主码),SNAME(char型,长度为8,其值唯一),性别SEXchar型,长度为2,所在系DEPTNO(char型,长度为2)。-CREA

2、TE TABLE Student-(- SNO CHAR(4)PRIMARY KEY,- SNAME CHAR(8)UNIQUE,- SEX CHAR(2),- DEPTNO CHAR(2), -)2创建课程表Course,由以下属性组成:课程号O(char型,长度为2,主码),课程名称AME(char型,长度为20,非空),授课教师编号TNOchar型,长度为3,主码,学分CREDIT(int型)。-CREATE TABLE Course-(- O CHAR(2),- AME CHAR(20),- TNO CHAR(3)PRIMARY KEY,- CREAIT INT,-);3创建学生选课表

3、SC,由以下属性组成:学号SNO( char型,长度为4,主码),课程号O( char型,长度为2,主码),成绩GRADE(int型)。- CREATE TABLE SC- (- SNO CHAR(4),- O CHAR(2),- GRADE INT,- PRIMARY KEY (SNO,O),- );4创建教师表Teacher,由以下属性组成:教师编号TNO(char型,长度为3,主码),教师TNAME(char型,长度为8,非空),所在系DEPTNOchar型,长度为2- CREATE TABLE Teacher- (- TNO CHAR(3)PRIMARY KEY,- TNAME CHA

4、R(8)NOT NULL,- DEPTNO CHAR(2)- )5创建系表Dept,由以下属性组成:系号DEPTNO(char型,长度为2,主码),系名DNAME(char型,长度为20,非空)。CREATETABLE Dept( DEPTNO CHAR(2)PRIMARYKEY, DNAME CHAR(20)NOTNULL,)2. 修改根本表在student表中参加属性AGEint型;ALTERTABLE StudentADD AGE INT;3. 删除根本表后边所有操作完毕后,删除所创建的根本表;DROPTABLE Student;DROPTABLE Course;DROPTABLE SC

5、;DROPTABLE DEPT;DROPTABLE TEACHER;(二) 索引操作1. 建立索引(1) 在Student表上建立关于属性SNO的唯一索引;CREATEUNIQUEINDEX Stusno ON Student(Sno);(2) 在Course表上建立关于O的唯一索引;createuniqueindex Couo ON Course(o);2. 删除索引删除上面所建立的两个索引;-drop index Course.Couo;(三) 视图操作1. 建立视图在插入数据的Student根本表上为计算机系学生的记录建立一个视图CS_STUDENT。CREATEVIEW CS_STUD

6、ENTASSELECT SNO,SNAME,SEX,DEPTNO,AGEFROM StudentWHERE DEPTNO=CS;2. 删除视图在操作完毕后,删除视图CS_STUDENT。DROPVIEW CS_STUDENT;二、 数据操作 一更新操作1向Student表中插入如下数据: 1001,天,男,20,10 1002,兰,女,21,10 1003,铭,男,21,10 1004,茜,女,21,20 1005,马,男,22,202向Course表中插入如下数据: 1,数据结构,101,4 2,数据库,102,4 3,离散数学,103,4 4,C语言程序设计,101,23向SC表中插入如下

7、数据: 1001,1,801001,2,851001,3,781002,1,781002,2,821002,3,861003,1,921003,3,901004,1,871004,4,901005,1,851005,4,924向Teacher表中插入如下数据: 101,星,10 102,珊,10 103,天应,10 104,田,205向Dept表中插入如下数据: 10,计算机科学与技术 20,信息将星教师数据结构课程的学生成绩全部加2分;-UPDATE SC SET GRADE = GRADE +2-WHERE SCO IN (SELECT O FROM Course,Teacher-WHER

8、E Course.TNO=Teacher.TNO AND TNAME=星 AND Courseame=数据结构);3. 删除数据删除马同学的所有选课记录。二查询操作 1. 单表查询 1查询所有学生的信息;SELECT*FROM Student2查询所有女生的;SELECT SNAME FROM Studentwhere(SEX=女)(3) 查询成绩在8089分之间的所有学生的选课记录,查询结果按照成绩降序排列;SELECT SNO,O FROM SCWHERE GRADE BETWEEN 80 AND 90ORDERBY GRADE DESC;(4) 查询各个系的学生人数;SELECTCOUN

9、T(SNO)ASCOUNTFROM StudentGROUPBY DEPTNO;2. 连接查询查询信息系年龄在21岁以下的女生的与其年龄;SELECT SNAME,AGE FROM Student,DeptWHERE AGE 21 AND Student.DEPTNO=Dept.DEPTNO3. 嵌套查询(1) 查询选修课总学分在10学分以下的学生的;SELECT Sname FROM StudentWHERE Student.sno in(SELECT Student.SNO FROM Student,SC,CourseWHERE Student.sno = SC.SNO AND SCO =

10、 CourseOGROUPBY Student.SNOHAVINGSUM(CREAIT)10)(2) 查询各门课程最高成绩的学生的与其成绩;SELECT SNAME,GRADEFROM Student,SC S1WHERE Student.SNO=S1.SNO AND GRADE =(SELECTMAX(GRADE)FROM SC S2WHERE S2O = S1OGROUPBY S2O)(3) 查询选修了1001号学生所选修的全部课程的学生的学号;SELECTDISTINCT SNO FROM SC SCXWHERENOTEXISTS(SELECT*FROM SC SCYWHERE SCY.SNO =1001ANDNOTEXISTS(SELECT*FROM SC SCZWHERE SCZ.SNO = SCX.SNOAND SCZO = SCYO)4查询选修了星教师所开设的全部课程的学生的;SELECT SNAME FROM StudentWHEREEXISTS(SELECT SCO FROM SC,Course,Teacher,StudentWHERE SCO = CourseOAND Course.TNO = Teacher.TNO AND TNAME =星AND SC.SNO = Student.SNO)注意:红色字体的实验容待讲完相应知识点后在做。10 / 10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号