数据库原理实验一

上传人:枫** 文档编号:511832585 上传时间:2023-07-09 格式:DOC 页数:10 大小:159.50KB
返回 下载 相关 举报
数据库原理实验一_第1页
第1页 / 共10页
数据库原理实验一_第2页
第2页 / 共10页
数据库原理实验一_第3页
第3页 / 共10页
数据库原理实验一_第4页
第4页 / 共10页
数据库原理实验一_第5页
第5页 / 共10页
点击查看更多>>
资源描述

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

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

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

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

4、 TNO CHAR(3)PRIMARY KEY,- TNAME CHAR(8)NOT NULL,- DEPTNO CHAR(2)- ) (5)创建系表Dept,由以下属性组成:系号DEPTNO(char型,长度为2,主码),系名DNAME(char型,长度为20,非空)。 CREATE TABLE Dept ( DEPTNO CHAR(2)PRIMARY KEY, DNAME CHAR(20) NOT NULL, ) 2. 修改基本表在student表中加入属性AGE(int型);ALTER TABLE Student ADD AGE INT; 3. 删除基本表后边所有操作结束后,删除所创建的

5、基本表;DROP TABLE Student;DROP TABLE Course;DROP TABLE SC;DROP TABLE DEPT;DROP TABLE TEACHER;(二) 索引操作1. 建立索引(1) 在Student表上建立关于属性SNO的唯一索引; CREATE UNIQUE INDEX Stusno ON Student(Sno);(2) 在Course表上建立关于CNO的唯一索引; create unique index Coucno ON Course(Cno); 2. 删除索引删除上面所建立的两个索引;-drop index Student.stusno-drop

6、index Course.Coucno;(三) 视图操作1. 建立视图在插入数据的Student基本表上为计算机系学生的记录建立一个视图CS_STUDENT。CREATE VIEW CS_STUDENTASSELECT SNO,SNAME,SEX,DEPTNO,AGEFROM StudentWHERE DEPTNO=CS;2. 删除视图在操作结束后,删除视图CS_STUDENT。DROP VIEW CS_STUDENT;二、 数据操作 (一)更新操作1.插入操作(1)向Student表中插入下列数据: 1001,张天,男,20,10 1002,李兰,女,21,10 1003,陈铭,男,21,1

7、0 1004,刘茜,女,21,20 1005,马朝阳,男,22,20(2)向Course表中插入下列数据: 1,数据结构,101,4 2,数据库,102,4 3,离散数学,103,4 4,C语言程序设计,101,2(3)向SC表中插入下列数据: 1001,1,801001,2,851001,3,781002,1,781002,2,821002,3,861003,1,921003,3,901004,1,871004,4,901005,1,851005,4,92(4)向Teacher表中插入下列数据: 101,张星,10 102,李珊,10 103,赵天应,10 104,刘田,20(5)向Dept

8、表中插入下列数据: 10,计算机科学与技术 20,信息2.修改数据将张星老师数据结构课程的学生成绩全部加2分;-UPDATE SC SET GRADE = GRADE +2-WHERE SC.CNO IN (SELECT CNO FROM Course,Teacher-WHERE Course.TNO=Teacher.TNO AND TNAME=张星 AND Came=数据结构);3. 删除数据删除马朝阳同学的所有选课记录。(二)查询操作 1. 单表查询 (1)查询所有学生的信息;SELECT *FROM Student(2)查询所有女生的姓名;SELECT SNAME FROM Studen

9、twhere (SEX=女)(3) 查询成绩在8089分之间的所有学生的选课记录,查询结果按照成绩降序排列;SELECT SNO,CNO FROM SCWHERE GRADE BETWEEN 80 AND 90ORDER BY GRADE DESC;(4) 查询各个系的学生人数;SELECT COUNT (SNO) AS COUNTFROM StudentGROUP BY DEPTNO;2. 连接查询查询信息系年龄在21岁以下的女生的姓名及其年龄;SELECT SNAME,AGE FROM Student,DeptWHERE AGE 21 AND Student.DEPTNO=Dept.DEP

10、TNO 3. 嵌套查询(1) 查询选修课总学分在10学分以下的学生的姓名;SELECT Sname FROM StudentWHERE Student.sno in( SELECT Student.SNO FROM Student,SC,Course WHERE Student.sno = SC.SNO AND SC.CNO = Course.CNO GROUP BY Student.SNO HAVING SUM (CREAIT)10)(2) 查询各门课程最高成绩的学生的姓名及其成绩;SELECT SNAME,GRADEFROM Student,SC S1WHERE Student.SNO=S

11、1.SNO AND GRADE =( SELECT MAX(GRADE) FROM SC S2 WHERE S2.CNO = S1.CNO GROUP BY S2.CNO)(3) 查询选修了1001号学生所选修的全部课程的学生的学号;SELECT DISTINCT SNO FROM SC SCXWHERE NOT EXISTS( SELECT * FROM SC SCY WHERE SCY.SNO =1001 AND NOT EXISTS ( SELECT * FROM SC SCZ WHERE SCZ.SNO = SCX.SNO AND SCZ.CNO = SCY.CNO) (4)查询选修了张星老师所开设的全部课程的学生的姓名;SELECT SNAME FROM Student WHERE EXISTS( SELECT SC.CNO FROM SC,Course,Teacher,Student WHERE SC.CNO = Course.CNO AND Course.TNO = Teacher.TNO AND TNAME =张星 AND SC.SNO = Student.SNO)注意:红色字体的实验内容待讲完相应知识点后在做。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

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