数据库课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库系统概论》课程设计
实验报告书
学院:软件学院
班级:1402
姓名:
学号:14621402
指导老师:黄杰
设计时间:2016年6月13日-21日
一.需求分析
1.1 学生选课与考试成绩管理系统要实现的功能:
能记录院系、学生、教师以及课程的基本情况,能记录学生所选的课程以及相应的成绩和授课教师,每个学生和老师都只能被一个院系管理。为了简化每个教师最多教授一门课程,每个学生可以多选门课程或不选。每个学生选修的每门课程有一个成绩记载。课程分为必修、选修和任选三种。每个教师最多教授一门课程,管理员可以编辑院系、教师以及课程的基本数据。学生只能进行选课操作,授课教师可以编辑自己授课课程的成绩。
1.2 系统模块设计
学生选课与成绩查询管理系统大致可以分为四大模块:一是学生的基本信息模块,里面应该包含学生各种的基本信息;二是选课的信息模块,里面包含选课的内容以及选课情况;三是课程管理模块,里面包含学生成绩的查询与处理;其次就是教师等相关信息模块。
1.3 数据字典
数据项是数据库的关系中不可再分割的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用“SQL Sever”建立学生选课及成绩查询的数据库。其基本表清单及结构描述如下:
1.数据库中用到的表,即:数据项和数据结构
Student 基本情况数据表,结构如下:
Teacher基本情况数据表,结构如下:
Course基本情况数据表,结构如下:
Stu_Cour基本情况数据表,结构如下:
Score基本情况数据表,结构如下:
2.数据流图
顶层图
管理员信息数据流图
总数据流图
3.数据存储
数据存储:学生信息管理表
说明:记录学生的基本信息
流入数据:注册学生的相关信息
流出信息:学生毕业、休学时,删除学生的信息
组成:学号、姓名、性别、学院、出生日期、政治面貌存取方式:随机存取
数据存储:教师信息管理表
说明:记录教师的基本信息
流入数据:注册教师的相关信息
流出数据:教师离任、调离或更名时,删改教师的信息组成:教师号、姓名、性别,年龄,学院
存取方式:随机存取
数据存储:课程信息管理表
说明:记录课程的基本信息
流入数据:注册课程的相关信息
流出数据:课程内容取消或更改时,删改课程的信息
组成:编号、课程名称、学时、任课教师
存取方式:随机存取
数据存储:成绩信息管理表
说明:记录成绩的基本信息
流入数据:注册成绩的相关信息
流出数据:查询成绩的信息
组成:成绩、学号、课程号
存取方式:随机存取
4.处理过程
处理过程:学生、教师、课程、成绩、STU_CORE等信息
说明:为所有学生分配教师及课程、成绩
输入:学生信息
输出:教师、课程、成绩安排
处理:在新的学生报到后或出现学生毕业或转学时,为所有的学生分配教师和课程。
二.概念结构设计
⒈由需求分析的结果可知,本系统设计的实体包括:
⑴学生基本信息:学号、姓名、学院、班级、年龄、性别
⑵课程基本信息:课程名、课程号、学时
⑶教师基本信息: 教师号、教师姓名、职称、年龄、性别、学院
⑷学院基本信息:学院名、学院号、院长
2.这些实体间的关系:
⑴每个学生和老师都只能被一个院系管理
⑵每个教师最多教授一门课程,每个学生可以多选一门课程或不选
⑶每个学生选修的每门课程有一个成绩记载
3.各个实体的E—R图:
由上分析可得到系统的E —R 图:
三.逻辑结构设计
3.1由E—R图转化为关系模式如下:
⑴学生(学号、姓名、性别、年龄、学院、班级),其主关键字为学号;
⑵课程(课程名、课程号、学时),其主关键字是课程号;
⑶教师(教师号、教师姓名、职称、年龄、性别、学院、所授课程);
⑷选课(课程号、学号)其中主关键字为学号和课程号;
⑸成绩(课程号、学号、分数)其中主关键字为学号和课程号。
3.2 数据模式范化:
⑴学生信息图:
⑵教师信息图:
⑶课程信息图:
⑷学生课程信息图:
⑸成绩信息图:
四.数据库的实施阶段
4.1创建数据库
create database stuDB
4.2创建数据库后,为stuDB数据库添加数据表,步骤如下。
(1)新建查询窗口
(2)在查询窗口中键入下列SQL语句
执行上述SQL语句即可创建学生信息表相关表格
执行上述SQL语句即可创建课程信息表相关表格
执行上述SQL语句即可创建教师信息表相关表格
执行上述SQL语句即可创建Stu_Cour信息表相关表格
执行上述SQL语句即可创建成绩信息表相关表格4.3创建索引
(1) 在class表的cno列上创建非聚集索引。Create index classnameONclass (cno)
(2) 在student表的sno列上创建非聚集索引。
Create unique index studentno ONStudent (sno)
(3) 在Student表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。
Create index studentno ONstudent(sno ASC)
五.数据库运行与维护阶段
1、数据定义:基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除
(1)基本表的创建,建表语句
create table students(
sno char(10) primary key,
snamevarchar(40) not null,
ssex char(2) not null,
sage char(10) not null,
smajor char(10) not null,
sdepart char(10) not null,
)
(2)基本表的删除
drop table students
2、数据操作
数据库查询操作