数据库课程设计教务管理系统sqlsever.docx

上传人:b****6 文档编号:6384946 上传时间:2023-01-05 格式:DOCX 页数:35 大小:296.18KB
下载 相关 举报
数据库课程设计教务管理系统sqlsever.docx_第1页
第1页 / 共35页
数据库课程设计教务管理系统sqlsever.docx_第2页
第2页 / 共35页
数据库课程设计教务管理系统sqlsever.docx_第3页
第3页 / 共35页
数据库课程设计教务管理系统sqlsever.docx_第4页
第4页 / 共35页
数据库课程设计教务管理系统sqlsever.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

数据库课程设计教务管理系统sqlsever.docx

《数据库课程设计教务管理系统sqlsever.docx》由会员分享,可在线阅读,更多相关《数据库课程设计教务管理系统sqlsever.docx(35页珍藏版)》请在冰豆网上搜索。

数据库课程设计教务管理系统sqlsever.docx

数据库课程设计教务管理系统sqlsever

数据库课程设计教务管理系统(sql-sever2008)

河南城建学院

HenanUniversityofUrbanConstruction

 《数据库原理》课程设计报告

课程名称:

《数据库原理》课程设计

设计题目:

《教务管理系统》

指导教师:

何宗耀

班级:

0844141 

学号:

084414144

学生姓名:

同组人员:

 

成绩:

评语:

 

计算机科学与工程学院

2016年6月

 

2.2系统功能模块

1.2.1模块

模块一教师管理系统(主要完成教师的信息维护以及授课信息)

 

模块二学生管理系统(主要完成学生信息的维护以及上课的管理)

 

1.2.2模块功能

系表信息查询和更新模块将实现对系部信息的查询和更新(修改、插入、删除)操作,方便于对系部基本信息的管理

教师管理系统

(1)教师表实现了对教师信息的查询,更新(修改插入删除)操作

(2)授课表实现了老师教学任务信息的维护

学生管理系统

(1)班级表的查询和更新模块将完成班级基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理

(2)学生表的查询和更新模块将完成学生基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理

(3)课程表的查询和更新模块将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理

(4)选课表的查询和更新模块将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理

(5)教室表的查询和更新模块将完成教室基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理

(6)班主任在Student表中查询全部学生信息

(7)在Student,Cource,Elective表中,按学号查询学生成绩

(8)学生在Student表中查询本人信息

 

第3章数据库设计

3.1需求分析

3.1.1流程图

局部流程图:

 

 

总的流程图:

3.1.2数据字典

数据项:

系统涉及的数据项有29项

数据项列表

数据项编号

数据项名

别名

与其他数据项的关系

类型

DI-1

Xno

系号

char(10)

DI-2

Xname

系名称

char(10)

DI-3

Xdirector

系主任

char(10)

DI-4

Cno

班级号

char(20)

DI-5

Cname

班级名称

char(10)

DI-6

Cdirector

班主任

char(10)

DI-7

Sno

学号

char(20)

DI-8

Sname

学生姓名

varchar(30)

DI-9

Ssex

学生性别

char(4)

DI-10

Saddr

家庭住址

char(30)

DI-11

Sage

学生年龄

smallint

DI-12

Smajor

专业

char(20)

DI-13

Courceno

课程号

char(10)

DI-14

Courcename

课程名称

char(10)

DI-15

Credit

学分

smallint

DI-16

Courcedirector

授课教师

同Tname

char(10)

DI-17

Grade

成绩

char(10)

DI-18

Rno

教室号

char(10)

DI-19

Rname

教室名称

char(10)

DI-20

Raddr

教室地址

char(10)

DI-21

Stime

上课时间

同Teachtime

datetime

DI-22

Usetime

占用学时

char(10)

DI-23

Tno

教工号

char(10)

DI-24

Tname

教师姓名

同Courcedirector

char(10)

DI-25

Tsex

教师性别

char(10)

DI-26

Tpos

职称

char(10)

DI-27

Tage

教师年龄

smallint

DI-28

Tsal

工资

smallint

DI-29

Teachtime

授课时间

同Stime

datetime

数据结构

数据结构列表

数据结构编号

名称

描述

组成

DS-1

Department

系信息

Xno,Xname,Xdirector

DS-2

Class

班级信息

Cno,Cname,Xno,Cdirector

DS-3

Student

学生信息

Sno,Sname,Ssex,Saddr,Sage,Smajor,Cno

DS-4

Cource

课程信息

Courceno,Courcename,Credit,Courcedirector

DS-5

Elective

选课信息

Sno,Courceno,Grade

DS-6

Classroom

教室信息

Rno,Rname,Raddr

DS-7

Occupy

占用信息

Cno,Rno,Stime,Usetime

DS-8

Teacher

教师信息

Tno,Tname,Tsex,Tpos,Tage,Tsal

DS-9

Teaching

授课信息

Tno,Cno,Courceno,Teachtime

 

数据存储

数据存储结构列表

编号

存储名

流入数据流

流出数据流

组成

DS-1

系信息

系信息

DS-2

班级

班级信息

班级信息

班级

DS-3

学生

学生信息

学生信息

学生

DS-4

课程

课程信息

课程信息

课程

DS-5

选课

选课信息

选课信息

学生课程

DS-6

教室

教室信息

教室信息

教室

DS-7

占用

班级教室信息

班级教室信息

班级教室

DS-8

教师

教师信息

教师信息

教师

DS-9

授课

教师班级信息

教师班级信息

教师班级

处理过程

存储过程列表

处理过程名

输入数据流

输出数据流

处理

系信息

系领导

系信息

系号不能缺省

班级信息

班级

班级信息

班级号唯一

学生信息

学生

学生信息

学生号唯一

课程信息

课程

课程信息

课程号唯一

选课信息

学生课程

选课信息

学生及课程号与学生和课程信息相同

教室信息

教室

教室信息

教室号唯一

占用信息

教室班级

占用信息

教室号和班级号唯一

教师信息

教师

教师信息

教师号唯一

授课信息

教师课程

授课信息

教师号和课程号唯一

3.2概念结构设计

3.2.1E—R图

局部E-R图:

 

 

全局E-R图

采用自底直地向上的设计方法,首先定义局部的概念结构,然后将局部概念概念结构集成全局的概念结构。

在进行局部E-R图的合并时先消除属性,命名及结构冲突。

然后消除冗余生成全局E-R图。

上述E-R图各实体的属性如下所示:

院系:

Deparement(Xno,Xname,Xdirector)

学生:

Student(Sno,Sname,Ssex,Saddr,Sage,Smajor,Cno)

教师:

Teacher(Tno,Tname,Tsex,Tpos,Tage,Tsal)

课程:

Course(Courseno,Coursename,Credit,Coursedirector)

教室:

Classroom(Rno,Rname,Raddr)

班级:

Class(Cno,Cname,Xno,Cdirector)

各E-R图中联系的属性如下所示:

选课信息:

Elective(Sno,Courseno,Grade)

占用教室信息:

Occupy(Cno,Rno,Stime,Uestime)

授课信息:

Teaching(Tno,Cno,Courseno,Teachtime)

 

3.3逻辑结构设计

3.3.1E-R图向关系模式转换原则

1.一个实体转换为一个表,实体的属性转换为表的列,实体的码转换为表的主键。

2.实体间的联系根据联系的类型转换如下:

1:

1的联系两个实体分别转换为表后,只要在一个表中增加外键,一般在记录较少的表中增加属性,作为外键,该属性是另一个表的主键。

1:

n的联系在n端的实体对应的表中增加属性,该属性是1端实体对应的主键。

m:

n的联系通过引进一个新表来表达两个实体多对多的联系,新表的主键是由联系两端实体的主键组合而成,同时增加相关的联系属性。

3.3.2范式的判定(3NF)

范式的判定

院系:

Deparement(Xno,Xname,Xdirector)3NF

学生:

Student(Sno,Sname,Ssex,Saddr,Sage,Smajor,Cno)3NF

教师:

Teacher(Tno,Tname,Tsex,Tpos,Tage,Tsal)3NF

课程:

Cource(Courceno,Courcename,Credit,Courcedirector)3NF

教室:

Classroom(Rno,Rname,Raddr)3NF

班级:

Class(Cno,Cname,Xno,Cdirector)3NF

选课信息:

Elective(Sno,Courceno,Grade)3NF

占用教室信息:

Occupy(Cno,Rno,Stime,Uestime)3NF

授课信息:

Teaching(Tno,Cno,Courceno,Teachtime)3NF

以上各表均满足第一范式属性是不可分割的基本数据象,第二范式关系属性集中的非主属性完全依赖于候选码,第三范式每个非主属性既不部分函数依赖于码,也不传递依赖于码。

具体的基本E-R图向关系模型的转化如下:

院系:

Department(Xno,Xname,Xdirector)

学生:

Student(Sno,Sname,Ssex,Saddr,Sage,Smajor,Cno)

教师:

Teacher(Tno,Tname,Tsex,Tpos,Tage,Tsal)

课程:

Course(Courceno,Coursename,Credit,Coursedirector)

教室:

Classroom(Rno,Rname,Raddr)

班级:

Class(Cno,Cname,Xno,Cdirector)

选课信息:

Elective(Sno,Courseno,Grade)

占用教室信息:

Occupy(Cno,Rno,Stime,Uestime)

授课信息:

Teaching(Tno,Cno,Courseno,Teachtime)

(注:

标有直线下划线的为主属性,标有波浪线下划线的为外键属性,主属性与外键属性一起构成主码)

模型优化

确定数据依赖。

分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。

根据需求分析可知:

1.系表的数据依赖:

{系号->系名,系号->系主任}

2.班级表的数据依赖:

{班号->班名,班号->班主任,班号->系号}

3.学生表的数据依赖:

{学生号->姓名,学生号->性别,学生号->省份,学生号->年龄,学生号->班级号,学生号->专业}

4.课程表的数据依赖:

{课程号->课程名,课程号->学分,课程号->任课教师号}

5.教师表的数据依赖:

{教师号->姓名,教师号->职称,教师号

->性别,教师号->年龄,教师号->工资}

6.教室表的数据依赖:

{教室号->教室名,教室号->教室位置}

7.选课表的数据依赖:

{(学生号,课程号)->成绩}

8.占用表的数据依赖:

{(班级号,教室号,上课时间)->占用学时}

9.授课表的数据依赖:

教授表的数据依赖:

{(教师,班级号,课程号)->授课时间}

3.3.3子模式的设计(视图)

1.院系信息表

2.班级信息表

3.学生信息表

 

4.课程信息表

5.选课信息表

6.教室信息表

7.占用信息表

8.教师信息表

9.授课信息表

3.4物理结构设计

3.4.1存储结构与存取方法

存储结构的确定

确定数据库的存储结构,主要是数据库中数据的存放位置,合理设置系统参数。

数据库中的数据主要是指表、索引、聚促、日志、备份等数据。

存储结构选择的主要原则是:

数据存取时间上的高效性、存储空间的利用率、存储数据的安全性。

存放位置

在数据存放位置之前,要将数据中易变部分和稳定部分适当分离并分开存放;要将数据库管理系统文件和数据库文件分开。

如果系统采用多个磁盘和磁盘阵列,将表和索引存放在不同的磁盘上,查询时由于两个驱动器并行工作,可以提高I/O读写速度。

为了系统的安全性,一般将日志文件和重要的系统文件存放在多个磁盘上,互为备份。

另外,数据库文件和日志文件的备份,由于数据量大,并且只在数据库恢复时使用,所以一般存储在磁带上。

系统配置

DBMS产品一般都提供大量的配置参数,供数据库设计人员和DBA进行数据库的物理结构设计和优化,如用户数,缓冲区,内存配置,物理块的大小等。

一般建立数据库时,系统都提供了默认参数,但是默认参数不一定适用每一个应用环境,要做适当的调整。

此外,在物理结构设计的参数,只是初步的,要在系统运行阶段根据实际情况进一步调整和优化。

存取方法的选择

索引是数据库表的一个附加表,存储了建立索引猎德值和对应的地址。

查询数据时,先在索引中根据查询的条件值找到相关地址,然后在表中存取对应的记录,所以能加快查询速度。

但索引本身占用存储空间,索引是系统自维护的。

建立索引的一般原则是:

1.如果某属性或属性组经常出现在查询中,则考虑为该属性或属性组建立索引;

2.如果某个属性经常作为最大值和最小值等聚集函数的参数,则考虑建立索引;

3.如果某属性和属性组经常出现在连接操作的连接条件中,则考虑建立索引;

3.4.2数据的易变与稳定部分

1.由于基本表Teacher,Student的主码Tno,Sname经常在查询条件和连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;

2.由于基本表Elective的属性Sno,Grade经常在查询条件中出现,在两个属性上建立唯一索引;

3.4.3索引的建立

createuniqueindexsnogradeonElective(Snoasc,Gradedesc);

createuniqueindexteadnoonTeacher(Tno);

createuniqueindexstusnameonStudent(Sname);

3.5数据库、表建立的代码

createdatabase教学信息管理系统

onprimary

(name='教学信息管理系统',

filename='E:

\教学信息管理系统\教学信息管理系统.mdf',

size=10MB,

maxsize=20mb,

filegrowth=15%)

logon

(name='教学信息管理系统_log',

filename='E:

\教学信息管理系统\教学信息管理系统_log.ldf',

size=5mb,

maxsize=10mb,

filegrowth=3MB)

go

1.教师表基本信息的建立

createtableTeacher(

Tnochar(10)primarykey,--教工号

Tnamechar(10)notnull,--姓名

Tsexchar(10)notnullcheck(Tsexin('男','女')),--性别

Tposchar(10)notnullcheck(Tposin('教师','主任','辅导员')),--职称

Tagesmallintnotnull,--年龄

Tsalsmallintnotnull,--工资

2.院系基本信息表的建立:

CreatetableDepartment(

Xnochar(10)primarykeynotnull,--系号

Xnamechar(10)notnull,--系名称

Xdirectorchar(10),--系主任

foreignkey(Xdirector)referencesTeacher(Tno)ondeletecascade

3.班级基本信息表的建立:

CreatetableClass(

Cnochar(20)primarykey,--班级号

Cnamechar(10)notnull,--班级名称

Xnochar(10),--所属系

Cdirectorchar(10),--班主任

foreignkey(Xno)referencesDepartment(Xno),

foreignkey(Cdirector)referencesTeacher(Tno)ondeletecascade

4.学生基本信息表的建立:

CreatetableStudent(

Snochar(20)primarykey,--学号

Snamevarchar(30)notnull,--姓名

Ssexchar(4)notnullcheck(Ssexin('男','女')),--性别

Saddrchar(30)notnull,--家庭住址

Sagesmallintnotnull,--年龄

Smajorchar(20)notnull,--专业

Cnochar(20)--所属班级

foreignkey(Cno)referencesClass(Cno)

5.课程基本信息表的建立:

CreatetableCource(

Courcenochar(10)primarykey,--课程号

Courcenamechar(10)notnull,--课程名称

Creditsmallintnotnull,--学分

Courcedirectorchar(10),--授课教师

foreignkey(Courcedirector)referencesTeacher(Tno)ondeletecascade,

6.学生所选课程基本信息表的建立:

CreatetableElective(

Snochar(20),--学号

Courcenochar(10),--课程号

Gradefloat(10)notnull,--成绩

primarykey(Sno,Courceno),

foreignkey(Sno)referencesStudent(Sno)ondeletecascade,

foreignkey(Courceno)referencesCource(Courceno),

7.教室基本信息表的建立:

createtableClassroom(

Rnochar(10)primarykey,--教室号

Rnamechar(10)notnull,--教室名称

Raddrchar(10)notnull,--教室地址

8.占用教室基本信息表的建立:

createtableOccupy(

Cnochar(20),--班级号

Rnochar(10),--教室号

Stimedatetime,--上课时间

Usetimechar(10),--占用学时

primarykey(Cno,Rno,Stime),

foreignkey(Rno)referencesClassroom(Rno),

foreignkey(Cno)referencesClass(Cno),

9.授课基本信息表的建立:

createtableTeaching(

Tnochar(10),--教工号

Cnochar(20),--班级号

Courcenochar(10),--课程号

Teachtimedatetimenotnull,--授课时间

primarykey(Tno,Cno,Courceno),

foreignkey(Tno)referencesTeacher(Tno)ondeletecascade,

foreignkey(Cno)referencesClass(Cno),

foreignkey(Courceno)referencesCource(Courceno),

 

insertintoTeachervalues('023134','陈建华','男','辅导员','25','3600')

insertintoTeachervalues('052325','陈华','男','主任','27','3600')

insertintoTeachervalues('033226','张红','女','教师','29','4000')

insertintoTeachervalues('074354','王伟','男','主任','31','4300')

insertintoTeachervalues('051242','侯芳','女','主任','43','3800')

insertintoTeachervalues('022124','王建','男','教师','32','4500')

insertintoTeachervalues('087687','王志','男','主任','34','3900')

insertintoTeachervalues('011343','张国龙','男','教师','34','4500')

insertintoTeachervalues('068787','李薇','女','主任','35','3700')

insertintoTeachervalues('068962','史俊','男','主任','27','4200')

insertintoTeachervalues('042315','李芬','女','辅导员','26','3600')

insertintoTeachervalues('027778','高倩','女','主任','29','3300')

insertintoTeachervalues('045477','陈勇','男','主任','30','4300')

insertintoTeachervalues('043276','杨飞','男','

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1