07 数据库系统设计综合实验 实验报告
广州大学学生实验报告
开课学院及实验室:计算机科学与工程实验室418B室 2018年06月 14 日
学院 |
计算机科学与教育软件 |
年级、专业、班 |
网络*** |
姓名 |
卟咚君 |
学号 |
1606100*** |
|
实验课程名称 |
数据库原理实验 |
成绩 |
|
|||||
实验项目名称 |
数据库系统设计综合实验 |
指导老师 |
*** |
|||||
预备知识
本实验的任务是设计并实现一个数据库系统。数据库设计的一般步骤包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
(1) 概念结构设计
了解概念结构设计的基本方法,根据需求分析的结果或实验题目给出的要求,能够准确地用实体联系图来描述实体和实体之间的联系。
(2) 逻辑结构设计
理解逻辑结构设计的基本方法,根据实体联系图的设计,转换成合理的关系模式,每个关系模式至少应该满足第三范式的要求。
(3) 物理结构设计
理解物理结构设计的基本方法,选择合理的索引结构和存储结构,优化数据库的存取。
(4) 数据库实施
选择一门熟悉的面向对象程序设计语言,完成应用程序的开发。
实验目的
通过实验,使学生掌握数据库系统设计和开发的一般方法,能够设计并实现简单的数据库系统。
实验要求
熟悉实验室实验环境,掌握实验预备知识,了解实验中故障排除的基本方法。实验中根据实验要求完成相应的任务,并独立完成实验报告。
实验环境
Oracle 10g,windows 2003;
实验内容和步骤
假设有“教师”、“学生”、“课程”三个实体,教师的基本信息包括:工号、姓名、职称、工资,课程的基本信息包括:课程号、课程名、学分数,学生的基本信息包括:学号、姓名、性别、年龄。系统必须满足以下要求:
(1) 一门课程只能有一个教师任课,一个教师可以上多门课程;
(2) 一个学生可以选修多门课程,一门课程可以由多个学生来选修,记录不同学生选修不同课程的成绩;
(3) 设置一个管理员,用于维护(添加、删除和修改等基本任务)学生基本信息、教师基本信息和教师所授课程等工作,此外,管理员添加学生时,为其设置初始密码;当学生选修了某门课程,课程成绩由管理员录入;
(4) 学生可以利用学号和密码登录系统,登陆系统后,可以进行选课、修改密码和个人基本信息、查询自己的选课及总学分等操作;
(5) 能够统计不同职称的教师的数量、不同职称的教师的平均工资,可以统计每门课程的平均成绩、最高分、最低分,统计每个学生选修课程的总学分;
根据上述描述,解答下列问题:
- 设计并画出E-R图,要求标注连通词(即联系类型);
- 将E-R图转化为关系模型,并指出各关系的主码和外码;
关系模型为:
teacher(tno,tname,tposition,tsalary,pwd),其中,tno为teacher表的主码
course(cno,cname,ccredit,tno),其中,cno为course表的主码
student(sno,sname,ssex,sage,pwd),其中,sno为student表的主码
sc(sno,con,grade),其中,(sno,cno)为sc表的主码,sno为外码,参照student(sno),cno为外码,参照course(cno)
- 在MySql、SQL Server、Oracle中选择一个数据库管理系统,并设计数据库的物理结构;
创建用户byd003,密码为byd123
create user byd003 identified by byd123;
grant connect,resource,unlimited tablespace to byd003;
grant create view to byd003;
在用户byd003下创建表sutudent,teacher,course,sc,视图studentinfo,courseinfo,
drop table teacher cascade constraints;
drop table student cascade constraints;
drop table course cascade constraints;
drop table sc cascade constraints;
create table Student
(
sno varchar(10) primary key,/*列级完整性约束条件*/
sname varchar(20) not null unique,
ssex char(3) check(ssex in('男','女')),
sage smallint not null,
pwd varchar(20) not null
);
select *from stu