广东工业大学数据库原理实验报告.doc
《广东工业大学数据库原理实验报告.doc》由会员分享,可在线阅读,更多相关《广东工业大学数据库原理实验报告.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库原理实验报告 课程名称_数据库系统_学生学院_计算机学院_专业班级_学 号_学生姓名_ _指导教师_ _2012 年 12 月 3 日实验一 数据库及基本表的建立一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创建数据库和表的操作;二、实验内容和要求1、分别使用SQL语句、企业管理器(Enterprise Manager)创建数据库;2、使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;三、实验主要仪器设备和材料1计算机及操作系统:PC机,Windows 2000/xp;2数据库管理系统:SQL sever 2000/2005
2、;四、实验方法、步骤及结果测试创建一个教学管理数据库SC,其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。创建:student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student _course表(学生选课成绩表)、teacher_course表(教师上课课表)等。题目1、创建数据库:实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示CREATE DATABASE scON PRIMARY( NAME=sc_Data,FILENAME=E:sc_Data.mdf,SIZE=30MB,MAXS
3、IZE=100MB,FILEGROWTH=20%)LOG ON (NAME=sc_Log,FILENAME=E:sc_Log.mdf,SIZE=3MB,MAXSIZE=100MB,FILEGROWTH=1MB)实验结果截图显示题目2、创建基本表创建各表的实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示- - Table structure for class- -DROP TABLE IF EXISTS class;CREATE TABLE class ( spno char(8) NOT NULL, class_no char(4) NOT NULL, header char(8
4、) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of class- - - Table structure for course- -DROP TABLE IF EXISTS course;CREATE TABLE course ( cno char(10) NOT NULL, cname char(20) NOT NULL, spno char(8) NOT NULL, ctno tinyint(4) DEFAULT NULL, lecture tinyint(4) DEFAULT NULL, experiment
5、 tinyint(4) DEFAULT NULL, semester tinyint(4) DEFAULT NULL, credit tinyint(4) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of course- - - Table structure for department- -DROP TABLE IF EXISTS department;CREATE TABLE department ( dno char(6) NOT NULL, dept_name char(20) NOT NULL, head
6、er char(8) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of department- - - Table structure for speciality- -DROP TABLE IF EXISTS speciality;CREATE TABLE speciality ( spno char(8) NOT NULL, dno char(6) NOT NULL, spname char(20) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records
7、of speciality- - - Table structure for student- -DROP TABLE IF EXISTS student;CREATE TABLE student ( s_no char(8) NOT NULL, sname char(8) NOT NULL, sex char(2) DEFAULT NULL, sbirthday datetime DEFAULT NULL, dno char(6) NOT NULL, spno char(8) NOT NULL, class_no char(4) DEFAULT NULL) ENGINE=InnoDB DEF
8、AULT CHARSET=utf8;- - Records of student- - - Table structure for student_course- -DROP TABLE IF EXISTS student_course;CREATE TABLE student_course ( s_no char(8) NOT NULL, tcid smallint(6) NOT NULL, score tinyint(4) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of student_course- - -
9、Table structure for teacher- -DROP TABLE IF EXISTS teacher;CREATE TABLE teacher ( t_no char(8) NOT NULL, t_name char(8) NOT NULL, t_sex char(2) DEFAULT NULL, t_birthday datetime DEFAULT NULL, dno char(6) NOT NULL, tech_title char(10) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of te
10、acher- - - Table structure for teacher_course- -DROP TABLE IF EXISTS teacher_course;CREATE TABLE teacher_course ( tcid smallint(6) NOT NULL, t_no char(8) NOT NULL, spno char(8) NOT NULL, class_no char(4) DEFAULT NULL, cno char(10) NOT NULL, semester char(6) DEFAULT NULL, schoolyear char(10) DEFAULT
11、NULL, PRIMARY KEY (tcid) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Records of teacher_course- -实验结果截图显示题目3、查看各数据表之间的关系,生成数据库关系图。生成数据库关系图截图显示题目4、利用查询分析器修改上述各表。(1)、用INSERT语句向各个表中插入数据录入5 条记录。录入时注意体会外键约束。实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示INSERT INTO student VALUES (6079, 陈三, 男, 1991-02-20 20:32:06, 1, 1, 6); 实
12、验结果截图显示(插入数据的表格)实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示INSERT INTO course VALUES (1, 计算机网络, 1, 1, 20, 5, 25, 5);实验结果截图显示(插入数据的表格)实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示INSERT INTO student_course VALUES (6079, 1, 90);实验结果截图显示(插入数据的表格)实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示INSERT INTO teacher VALUES (1, 廖老师, 男, 1989-01-01 20:41
13、:12, 1, null);实验结果截图显示(插入数据的表格)实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示INSERT INTO department VALUES (1, 计算机学院, 廖老师);INSERT INTO department VALUES (2, 信息工程学院, 张三);实验结果截图显示(插入数据的表格)实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示INSERT INTO speciality VALUES (1, 1, 计算机网络);INSERT INTO speciality VALUES (2, 1, Java);实验结果截图显示(插入数据
14、的表格)实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示INSERT INTO class VALUES (1, 6, 廖老师);实验结果截图显示(插入数据的表格)实现代码及截图:查询分析器执行情况:SQL语句及执行结果显示INSERT INTO teacher_course VALUES (1, 1, 1, 6, 1, 2, 2012);实验结果截图显示(插入数据的表格)共8组(共8个表)(2)、用UPDATE语句更改student表中数据;实现代码:查询分析器执行情况:SQL语句及执行结果显示UPDATE studentSET sname=李四WHERE s_no=6079st
15、udent表更改前后的内容截图显示(3)、用DELETE语句删除student表中数据;实现代码:查询分析器执行情况:SQL语句及执行结果显示DELETE FROM studentWHERE s_no=6080student表更改前后的内容截图显示五、实验中出现的问题及解决方案1. 外键的设置:外键设置不能一开始就设置,要等到所有表建完后再设置,这样才能保证外键存在。2. 删除操作:不能删除有外键连接的记录,如果要删除这样的记录,必须先把引用该外键的记录删除。六、思考题1、 说明数据库中的表和数据文件的关系。2、 数据库中的日志文件能否单独修改?答:1:数据库中的表其实就是数据文件里面的语句生
16、成的,在数据库中对表的任何操作在数据文件都会发生相应的变化。2:不能。单独修改会造成DBMS跟Log文件的不匹配冲突问题。实验二 查询数据库一、实验目的熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询二、实验内容和要求使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT 语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法。三、实验主要仪器设备和材料1计算机及操作系统:PC机,Windows 2000/xp;2数据库管理系统:SQL sever 2000/2005;四、实验方法、步骤及结果测试实验题目:1、对实验一建立的数据库表进行查询简单查询:题目(1)
17、、查询全部学生的学号、姓名、性别和出身年月日。实现代码及查询结果截图:格式如下查询分析器执行情况:SQL语句及执行结果显示SELECT s_no,sname,sex,sbirthdayFROM student查询结果截图显示题目(2)、查询全体学生的学号、姓名和年龄实现代码及查询结果截图:查询分析器执行情况:SQL语句及执行结果显示SELECT s_no,sname,2012-year(sbirthday) age FROM student查询结果截图显示题目(3)、查询院系编号为(计算机学院)的全部学生的学号、姓名、性别和出身年月日。实现代码及查询结果截图:查询分析器执行情况:SQL语句及执
18、行结果显示SELECT s_no,sname,sex,sbirthday,department.dept_nameFROM student,departmentWHERE student.dno=1 AND department.dno=student.dno查询结果截图显示题目(4)、查询“计算机科学与技术”专业(专业代码为)并且班级代码为0201的学生的学号、姓名和出生日期。实现代码及查询结果截图:查询分析器执行情况:SQL语句及执行结果显示/*由于0201没有数据,所以这里改成1*/SELECT s_no,sname,sbirthday,speciality.spname,class_n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广东工业大学 数据库 原理 实验 报告
限制150内