完整word版数据库课程设计教务管理系统sqlseverWord文档下载推荐.docx
- 文档编号:16382391
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:34
- 大小:232.83KB
完整word版数据库课程设计教务管理系统sqlseverWord文档下载推荐.docx
《完整word版数据库课程设计教务管理系统sqlseverWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整word版数据库课程设计教务管理系统sqlseverWord文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。
(3)课程表的查询和更新模块将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(4)选课表的查询和更新模块将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(5)教室表的查询和更新模块将完成教室基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理
(6)班主任在Student表中查询全部学生信息
(7)在Student,Cource,Elective表中,按学号查询学生成绩
(8)学生在Student表中查询本人信息
第3章数据库设计
3.1需求分析
3。
1流程图
局部流程图:
总的流程图:
1.2数据字典
数据项:
系统涉及的数据项有29项
数据项列表
数据项编号
数据项名
别名
与其他数据项的关系
类型
DI—1
Xno
系号
char(10)
DI—2
Xname
系名称
DI-3
Xdirector
系主任
DI—4
Cno
班级号
char(20)
DI—5
Cname
班级名称
DI-6
Cdirector
班主任
DI—7
Sno
学号
DI—8
Sname
学生姓名
varchar(30)
DI-9
Ssex
学生性别
char(4)
DI-10
Saddr
家庭住址
char(30)
DI-11
Sage
学生年龄
smallint
DI-12
Smajor
专业
DI—13
Courceno
课程号
DI—14
Courcename
课程名称
DI-15
Credit
学分
DI-16
Courcedirector
授课教师
同Tname
DI—17
Grade
成绩
DI—18
Rno
教室号
DI—19
Rname
教室名称
DI—20
Raddr
教室地址
DI—21
Stime
上课时间
同Teachtime
datetime
DI—22
Usetime
占用学时
DI—23
Tno
教工号
DI-24
Tname
教师姓名
同Courcedirector
DI—25
Tsex
教师性别
DI—26
Tpos
职称
DI-27
Tage
教师年龄
DI—28
Tsal
工资
DI-29
Teachtime
授课时间
同Stime
数据结构
数据结构列表
数据结构编号
名称
描述
组成
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—3
学生
DS-4
课程
DS—5
选课
学生课程
教室
DS—7
占用
班级教室信息
班级教室
DS—8
教师
DS-9
授课
教师班级信息
教师班级
处理过程
存储过程列表
处理过程名
输入数据流
输出数据流
处理
系领导
系号不能缺省
班级号唯一
学生号唯一
课程号唯一
学生及课程号与学生和课程信息相同
教室号唯一
教室班级
教室号和班级号唯一
教师号唯一
教师课程
教师号和课程号唯一
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.1E-R图向关系模式转换原则
一个实体转换为一个表,实体的属性转换为表的列,实体的码转换为表的主键。
实体间的联系根据联系的类型转换如下:
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)
(注:
标有直线下划线的为主属性,标有波浪线下划线的为外键属性,主属性与外键属性一起构成主码)
模型优化
确定数据依赖。
分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖.根据需求分析可知:
系表的数据依赖:
{系号—>
系名,系号—>
系主任}
2.班级表的数据依赖:
{班号—〉班名,班号->
班主任,班号-〉系号}
学生表的数据依赖:
{学生号-〉姓名,学生号-〉性别,学生号—>
省份,学生号—>
年龄,学生号—>
班级号,学生号->
专业}
4。
课程表的数据依赖:
{课程号->
课程名,课程号—>
学分,课程号->
任课教师号}
5.教师表的数据依赖:
{教师号->
姓名,教师号—>
职称,教师号
->
性别,教师号—>
年龄,教师号-〉工资}
6。
教室表的数据依赖:
{教室号—〉教室名,教室号—〉教室位置}
7。
选课表的数据依赖:
{(学生号,课程号)->
成绩}
8.占用表的数据依赖:
{(班级号,教室号,上课时间)—〉占用学时}
9.授课表的数据依赖:
教授表的数据依赖:
{(教师,班级号,课程号)—〉授课时间}
3子模式的设计(视图)
院系信息表
2。
班级信息表
学生信息表
课程信息表
5.选课信息表
教室信息表
占用信息表
8.教师信息表
9.授课信息表
3.4物理结构设计
3.4.1存储结构与存取方法
存储结构的确定
确定数据库的存储结构,主要是数据库中数据的存放位置,合理设置系统参数.数据库中的数据主要是指表、索引、聚促、日志、备份等数据.存储结构选择的主要原则是:
数据存取时间上的高效性、存储空间的利用率、存储数据的安全性。
存放位置
在数据存放位置之前,要将数据中易变部分和稳定部分适当分离并分开存放;
要将数据库管理系统文件和数据库文件分开。
如果系统采用多个磁盘和磁盘阵列,将表和索引存放在不同的磁盘上,查询时由于两个驱动器并行工作,可以提高I/O读写速度。
为了系统的安全性,一般将日志文件和重要的系统文件存放在多个磁盘上,互为备份。
另外,数据库文件和日志文件的备份,由于数据量大,并且只在数据库恢复时使用,所以一般存储在磁带上。
系统配置
DBMS产品一般都提供大量的配置参数,供数据库设计人员和DBA进行数据库的物理结构设计和优化,如用户数,缓冲区,内存配置,物理块的大小等。
一般建立数据库时,系统都提供了默认参数,但是默认参数不一定适用每一个应用环境,要做适当的调整.此外,在物理结构设计的参数,只是初步的,要在系统运行阶段根据实际情况进一步调整和优化.
存取方法的选择
索引是数据库表的一个附加表,存储了建立索引猎德值和对应的地址。
查询数据时,先在索引中根据查询的条件值找到相关地址,然后在表中存取对应的记录,所以能加快查询速度。
但索引本身占用存储空间,索引是系统自维护的。
建立索引的一般原则是:
如果某属性或属性组经常出现在查询中,则考虑为该属性或属性组建立索引;
2.如果某个属性经常作为最大值和最小值等聚集函数的参数,则考虑建立索引;
如果某属性和属性组经常出现在连接操作的连接条件中,则考虑建立索引;
3.4.2数据的易变与稳定部分
由于基本表Teacher,Student的主码Tno,Sname经常在查询条件和连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;
2.由于基本表Elective的属性Sno,Grade经常在查询条件中出现,在两个属性上建立唯一索引;
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,-—工资
)
院系基本信息表的建立:
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(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'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 数据库 课程设计 教务 管理 系统 sqlsever
![提示](https://static.bdocx.com/images/bang_tan.gif)