数据库课程设计教务管理系统sqlseverWord格式.docx
- 文档编号:19395924
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:35
- 大小:296.18KB
数据库课程设计教务管理系统sqlseverWord格式.docx
《数据库课程设计教务管理系统sqlseverWord格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计教务管理系统sqlseverWord格式.docx(35页珍藏版)》请在冰豆网上搜索。
数据项列表
数据项编号
数据项名
别名
与其他数据项的关系
类型
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
数据存储
数据存储结构列表
编号
存储名
流入数据流
流出数据流
系
班级
学生
课程
选课
学生课程
教室
占用
班级教室信息
班级教室
教师
授课
教师班级信息
教师班级
处理过程
存储过程列表
处理过程名
输入数据流
输出数据流
处理
系领导
系号不能缺省
班级号唯一
学生号唯一
课程号唯一
学生及课程号与学生和课程信息相同
教室号唯一
教室班级
教室号和班级号唯一
教师号唯一
教师课程
教师号和课程号唯一
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的联系两个实体分别转换为表后,只要在一个表中增加外键,一般在记录较少的表中增加属性,作为外键,该属性是另一个表的主键。
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)
Course(Courceno,Coursename,Credit,Coursedirector)
(注:
标有直线下划线的为主属性,标有波浪线下划线的为外键属性,主属性与外键属性一起构成主码)
模型优化
确定数据依赖。
分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。
根据需求分析可知:
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
教学信息管理系统_log'
\教学信息管理系统\教学信息管理系统_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),--教工号
Teachtimedatetimenotnull,--授课时间
primarykey(Tno,Cno,Courceno),
foreignkey(Tno)referencesTeacher(Tno)ondeletecascade,
insertintoTeachervalues('
023134'
陈建华'
'
25'
3600'
052325'
陈华'
'
27'
033226'
张红'
29'
4000'
074354'
王伟'
31'
4300'
051242'
侯芳'
43'
3800'
022124'
王建'
32'
4500'
087687'
王志'
34'
3900'
011343'
张国龙'
068787'
李薇'
35'
3700'
068962'
史俊'
4200'
042315'
李芬'
26'
027778'
高倩'
3300'
045477'
陈勇'
30'
043276'
杨飞'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 教务 管理 系统 sqlsever