




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理实验报告学号: 姓名: 班级: 指导教师: 中国矿业大学计算机科学与技术学院2011年4月数据库原理教师成绩评定表评定成绩的依据:基础理论及基本技能的掌握独立解决实际问题的能力;研究内容的理论依据和技术方法;取得的主要成果工作态度及工作量;成绩采用优良中差四个等级评定成绩表实验序号实验成绩指导教师日期实验一实验二实验一:SQL数据定义功能一、实验内容及要求1. 使用SQL语句建立学生管理系统相关的表,同时完善各表的相关完整性约束。其中带有下划线的为主码 学院(学院代码,学院名称) 学生(学号,姓名,性别,学院代码) ,学院代码为外码 教师(教师号,教师姓名,学院代码),学院代码为外码 课程(课程号,课程名,学时) 学习(学号,课程号,成绩),学号为外码,课程号为外码 开课(教师号,课程号),教师号为外码,课程号为外码2. 对各表进行增加、删除、修改属性操作添加操作:对学生表添加出生日期字段,和家庭地址字段,教师表增加性别字段,出生日期字段,(对课程表增加先修课程字段,并且先修课程为本关系外码)。删除操作:删除学生表家庭地址字段,删除教师表出生日期字段修改操作:(修改先课程表中先修课程字段名称为先修课程号,修改学生姓名字段,该字段值不允许取空值)3. 建立索引为学生表在学生姓名上建立名为sname-index 的索引,在学院代码字段上建立名为dept-index,降序。4. 删除表操作删除上述表,重新执行查询再次建立各表5. 利用ACCESS 2003 /2007完善各表的数据内容二、实验目的熟练掌握SQL的各种数据定义功能,包括1.定义表的功能,包括主码和外码的定义2.修改表的定义功能,包括增加属性,删除属性,修改属性类型4.建立和删除索引操作,理解索引的作用5.删除表功能三、实验步骤及运行结果实验步骤:1. 使用SQL语句建立学生管理系统相关的表,同时完善各表的相关完整性约束;(1)创建学院表:CREATE TABLE 学院(学院代码 CHAR(8) PRIMARY KEY,学院名称 CHAR(15);(2)创建学生表:CREATE TABLE 学生(学号 CHAR(6),姓名 CHAR(4),性别 CHAR(1),学院代码 CHAR(8),PRIMARY KEY(学号),FOREIGN KEY (学院代码) REFERENCES 学院(学院代码);(3)创建教师表:CREATE TABLE 教师(教师号 CHAR(8) NOT NULL UNIQUE,教师姓名 CHAR(4),学院代码 CHAR(8),primary key (教师号),FOREIGN KEY (学院代码) REFERENCES 学院(学院代码);(4)创建课程表:CREATE TABLE 课程(课程号 CHAR(8) PRIMARY KEY,课程名 CHAR(10),学时 INT);(5)创建学习表:CREATE TABLE 学习(学号 CHAR(8),课程号 CHAR(8),成绩 INT,PRIMARY KEY (学号,课程号),FOREIGN key (学号) references 学生(学号),foreign key (课程号) references 课程(课程号);(6)创建开课表:CREATE TABLE 开课(教师号 CHAR(8) NOT NULL,课程号 CHAR(8) NOT NULL,PRIMARY KEY (教师号,课程号),foreign key (教师号) references 教师(教师号),foreign key (课程号) references 课程(课程号);2. 对各表进行增加、删除、修改属性操作;(1)添加教师出生日期:alter table 教师 add column 出生日期 int;(2)添加教师性别:alter table 教师 add column 性别 char(1);(3)添加学生出生日期:alter table 学生 add column 出生日期 int;(4)添加学生家庭地址:alter table 学生 add column 家庭地址 char(20);(5)删除教师出生日期:alter table 教师 drop column 出生日期;(6)删除学生家庭地址:alter table 学生 drop column 家庭地址;3. 建立索引;(1)建立学生表中姓名索引:create index sname_index on 学生(姓名);(2)建立学生表中学院代码索引:create index dept_index on 学生(学院代码 desc);4. 删除表操作;(1)删除教师表:drop table 教师 cascade;(2)删除开课表:drop table 开课 cascade;(3)删除课程表:drop table 课程 cascade;(4)删除学生表:drop table 学生 cascade;(5)删除学习表:drop table 学习 cascade;(6)删除学院表:drop table 学院 cascade;5. 完善各表的数据内容。分别向各个表中输入不同的数据,数据截图见实验结果。实验结果:四、实验体会在仔细地看书、上机实践、请教同学和老师的过程中,我从对数据库的一无所知逐步学习到可以建立一个数据库。在空的数据库里创建表。再一步一步的熟悉数据库对象下的查询、窗体、报表、宏等。按照老师的要求,比较顺利的完成了布置的任务。我发现原来在我们日常生活中会随时遇到各种数据库建立的表,比如我们的学生管理系统,所以学好数据库是相当重要的。实验二:练习SQL数据操纵功能一、实验内容及要求1求选修了某个老师上课的学生,成绩在90分以上的姓名、课程名称和成绩; 2求选修了某个老师所授全部课程的学生姓名和学院名称; 3求没有选修某门课程的学生学号和姓名; 4求至少选修了两门课程的学生学号; 5求某门课程不及格学生姓名和考试成绩 6求至少选修了与某个同学选修的课程相同的学生学号 7求至少选修了某两门课程的学生姓名和学院名称。 8查询某个同学没有选修的课程号和课程名 9查询没有被任何学生选修的课程的课程号 10求选修了全部课程的学生姓名 11查询各学院某门课程的平均分,并按照成绩从高到低的顺序排列。12查询选修数据库原理课程的学生姓名和所在院系,结果按各院系排列,同时成绩从高到低排列。 13求学时在30-45之间(含30和45)的课程的课程号和课程名称及授课教师。 14检索选修数据库原理课程的最高分学生的姓名 15查询选课人数超过50(根据情况自己定人数)人的课程的课程号及课程名。16自行提出查询要求,内容包括并运算、差运算、交运算、笛卡儿积运算、连接运算、自然连接运算以及复杂统计表。二、实验目的使用SQL语句进行各种查询1、熟练掌握单表查询,包括 (1) 选择表中的若干列(投影) (2) 选择表中的若干元组(选择) (3) 对查询结果排序 (4) 使用集函数 (5) 对查询结果分组2、熟练掌握复杂查询,包括1) 等值与非等值连接查询 2) 自身连接:一个表与其自己进行连接。3) 外连接查询4) 复合条件连接:WHERE 子句中可以有多个连接条件。3、熟练掌握嵌套查询,包括1) 带有IN谓词的子查询2) 带有比较运算符的子查询(子查询一定要跟在比较符之后)3) 带有ANY或ALL谓词的子查询(使用ANY和ALL时必须同时使用比较运算符)4) 带有EXISTS谓词的子查询(查询结果不返回任何数据,只产生逻辑“真”或“假”)4、使用SQL和ACCESS结合完成一些复杂的统计三、实验步骤及运行结果实验步骤:根据实验要求依次建立116个数据查询SQL语句。查询1:SELECT 姓名, 课程名, 成绩FROM 学生, 课程, 学习, 开课, 教师WHERE 学生.学号=学习.学号 And 教师.教师号=开课.教师号 And 学习.课程号=课程.课程号 And 开课.课程号=学习.课程号 And 学习.成绩90 And 教师.教师姓名=张毅;查询2:SELECT 姓名, 学院名称FROM 学生, 学习, 教师, 学院, 开课WHERE 学生.学号=学习.学号 And 学生.学院代码=学院.学院代码 And 学习.课程号=开课.课程号 And 开课.教师号=教师.教师号 And 教师.教师姓名=张二;查询3:SELECT 学生.学号, 姓名FROM 学生WHERE 学生.学号 not in(select 学生.学号from 学生,学习,课程where 学生.学号=学习.学号and 学习.课程号=课程.课程号and 课程名 =采矿学);查询4:SELECT 学号FROM 学习GROUP BY 学号HAVING count(课程号)=2;查询5:SELECT 姓名, 成绩FROM 学生, 学习, 课程WHERE 学生.学号=学习.学号 And 学习.课程号=课程.课程号 And 课程名=体育 And 成绩=30 and 学时5;查询16(自行设计查询):SELECT DISTINCT 姓名, 学院名称, avg(成绩) AS 平均成绩FROM 学院, 学生, 学习WHERE 学生.学院代码=学院.学院代码and 学生.学号=学习.学号and 学生.学号 in(select 学生.学号from 学院,学生,课程,学习where 学生.学号=学习.学号and 学习.课程号=课程.课程号and 学生.学院代码=学院.学院代码and 课程名 in (高等数学,数据库原理)and 性别=女and 学院名称 in (计算机学院,矿业学院)GROUP BY 姓名, 学院名称ORDER BY avg(成绩) DESC;运行结果:四、实验体会本次实验的主要目的在于通过实验,对所学的知识充分应用到实践中来,摆脱书本的束缚,在实践中加深对课本知识的理解,通过实践来发现问题,解决问题,这才是实验的真正意义。从实验的过程中来看,本次实验还是进行的比较的困难,在完成了实验所要求的任务后,加深了对有关知识的理解和运用能力。但同时在这个过程中也发现了不少的问题。在实验之前没有充分的去做好准备,将书本的知识转化为自己的知识,在实验的过程中只能按照实验指导上的步骤按部就班的操作,没有加入自己多少知识,但在这个过程中,我还是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60530:1975/AMD2:2004 EN-D Amendment 2 - Methods for measuring the performance of electric kettles and jugs for household and similar use
- 【正版授权】 IEC 60304:1982 FR-D Standard colours for insulation for low-frequency cables and wires
- 新闻传播学概论知识问答
- 印刷考试试题及答案
- 饮品培训考试试题及答案
- 异地理论考试试题及答案
- 六一健身队活动方案
- 医学者考试试题及答案
- 六一夏威夷活动方案
- 六一寝室活动方案
- 低压电工证考试试题及答案
- 2025年大学生学术研究洞察报告
- 2025年广东中考化学模拟演练化学试卷B(含答案)
- 2025年全国二卷数学高考真题文字版
- 成都香城悦动置业有限公司招聘考试真题2024
- 2025年成都市初中学业水平考试道德与法治试题(含答案)
- 浙江省宁波2025年八年级下学期期末数学试题及答案
- T/CTRA 01-2020废轮胎/橡胶再生油
- 可信数据空间解决方案星环科技
- 2025广西专业技术人员公需科目培训考试答案
- 2025年全国高考物理试题及答案
评论
0/150
提交评论