数据库原理实验一_第1页
数据库原理实验一_第2页
数据库原理实验一_第3页
数据库原理实验一_第4页
数据库原理实验一_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

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,- CR

3、EAIT 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,

7、10 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)向Dep

8、t表中插入下列数据: 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 FR

9、OM Studentwhere (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

10、=Dept.DEPTNO 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 Stud

11、ent.SNO=S1.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 WH

温馨提示

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

评论

0/150

提交评论