数据库课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、数据操作

数据库查询操作

相关文档
最新文档