数据库程序设计教务辅助管理系统文档格式.docx

上传人:b****3 文档编号:7965486 上传时间:2023-05-09 格式:DOCX 页数:31 大小:23.72KB
下载 相关 举报
数据库程序设计教务辅助管理系统文档格式.docx_第1页
第1页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第2页
第2页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第3页
第3页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第4页
第4页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第5页
第5页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第6页
第6页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第7页
第7页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第8页
第8页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第9页
第9页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第10页
第10页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第11页
第11页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第12页
第12页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第13页
第13页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第14页
第14页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第15页
第15页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第16页
第16页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第17页
第17页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第18页
第18页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第19页
第19页 / 共31页
数据库程序设计教务辅助管理系统文档格式.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库程序设计教务辅助管理系统文档格式.docx

《数据库程序设计教务辅助管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《数据库程序设计教务辅助管理系统文档格式.docx(31页珍藏版)》请在冰点文库上搜索。

数据库程序设计教务辅助管理系统文档格式.docx

2、 

数据字典

数据结构:

含义说明:

是教务管理系统的一个核心数据结构,定义了学生的有关信息

组成:

学号、姓名

数据项:

学号

唯一标识每一个学生

别名:

学生编号

类型:

字符型

长度:

9位

取值范围:

190000000–999999999

取值含义:

前四位表明学生所在年级,后五位安顺序编号

姓名

表示学生的姓名

10位

任意字符

数据结构:

含义说明:

教务管理系统的核心数据结构之一,定义了教师的有关信息

组成:

教师号,教师姓名

数据项:

教师号

教师的编号

类型:

长度:

5位

取值范围:

10000–99999

教师姓名

教师的姓名

任意合法的字符

课程

教务管理系统的核心数据结构之一,定义了课程的有关信息

课程号,课程名,课程描述,教师,教室,教科书,学分

课程号

课程的编号

4

0001–9999

课序号

对于同一课程,由不同老师教授,用课序号来区分

2

01–99

课程名

课程的名称

10

课程描述

课程内容的基本描述

200

任意合法字符

教科书

课程所用的教科书

20

学分

课程的学分

整型

1

1-9

教室

上课所用的教室

教室编号,教室地址,教室容量

教室编号

教室的编号

字符

5

00001-99999

教室地址

标明教室的地址

30

教室容量

教室的容纳学生的数量

正整数

选课记录

纪录学生选课的纪录

学生,课程,成绩

成绩

选课学生本学期的成绩

浮点数

范围:

0.0–100.0

处理过程:

分配教室

说明:

为所有课程分配上课教室

输入:

课程,教室

输出:

处理:

学期课程决定后,要为每个课程安排上课地点,要求上课的地点不能冲突且上课人数不能超过教室容量。

处理过程:

分配考场

说明:

在考试日期,为所有课程分配考场

输入:

输出:

为每个课程安排考场,考试时间和地点不能冲突且考试人数不能超过考场容量。

数据存储:

记录学生本学期所有课程成绩

流入数据流:

学生所有的选课记录

流出数据流:

学生的成绩单

数据量:

由学生的人数决定

存取方式:

随机存取

二、概念结构设计

1、根据需求分析画出E-R图:

选修

m

n

讲授

开设

根据E-R图写出各个实体的属性描述

学生:

{学号,姓名}

课程:

{课程号,课程名,课程描述,学分}

教师:

{教师号,教师名,课程数}

教室:

{教室编号,地址,容量}

3、 

视图的集成

假设在学生管理系统的学籍管理系统中存在另一个学生实体,其中还包括以下信息:

性别,所属专业,所属班级。

为了使两个实体保持一致,对两个实体取并集得到新的学生实体:

{学号,姓名,性别,专业,班级}

三、逻辑结构设计

由E-R图向数据模型的转换

一个实体型转换为一个关系模式。

实体的属性就是关系的属性。

实体的码就是关系的码。

所以,E-R图中的属性描述可直接转换为相应的关系模式。

对于剩余的一对多和多对多联系可以如下表示

学生-课程:

{学号,课程号,课序号,成绩}

课程-教师:

{课程号,课序号,教师号}

课程-教科书:

{课程号,课序号,教科书}

教室-课程:

{教室号,时间,课程号,课序号}

其中课程-教师与课程-教科书具有相同的主码,可以合并成一个关系

教学:

{课程号,课序号,教师号,教科书}

最后得到的关系模式为

{教室号,地址,容量}

用户外模式

根据需求,为计算综合测评增加一个外模式,因为综合测评只在学期末进行,查询次数不多,所以没有必要用冗余的方法来提高查询效率,只需要建立一个外模式视图即可。

测评{学号,学生姓名,平均成绩}

4、 

根据设计写出相应的SQL语句:

CREATETABLEstudent

SnoVARCHAR(9)CONSTRAINTpk_studentPRIMARYKEY,

SnameVARCHAR(10)NOTNULL,

SexVARCHAR

(1)NOTNULL,

MajorVARCHAR(10)NOTNULL,

ClassVARCHAR(10)NOTNULL,

CHECK(Sex='

f'

ORSex='

m'

CREATETABLEcourse

CnoVARCHAR(4)CONSTRAINTpk_coursePRIMARYKEY,

CnameVARCHAR(10)NOTNULL,

DescribeVARCHAR(200),

MarkINTEGER

CREATETABLEteacher

TnoVARCHAR(5)CONSTRAINTteacher_pkPRIMARYKEY,

TnameVARCHAR(10)NOTNULL,

CcntINTEGERNOTNULLDEFAULT0

CREATETABLEclassroom

RnoVARCHAR(5)CONSTRAINTpk_classroomPRIMARYKEY,

LocateVARCHAR(30)NOTNULL,

CapINTEGER

CHECK(Cap>

0)

CREATETABLEtech

CnoVARCHAR(4)NOTNULLCONSTRAINTfk_course_cnoFOREIGNKEYREFERENCEScourse(Cno)

ONUPDATECASCADE--级联更新

ONDELETECASCADE,--级联删除

SCnoVARCHAR

(2)NOTNULL,

TnoVARCHAR(5)CONSTRAINTfk_teacher_tnoFOREIGNKEYREFERENCESteacher(Tno)

ONUPDATECASCADE

ONDELETECASCADE,

BookVARCHAR(20)

CONSTRAINTpk_techPRIMARYKEY(Cno,SCno)

CREATETABLESC

SnoVARCHAR(9)NOTNULLCONSTRAINTfk_student_snoFOREIGNKEYREFERENCESstudent(Sno)

CnoVARCHAR(4)NOTNULLCONSTRAINTfk_sc_course_cnoFOREIGNKEYREFERENCEScourse(Cno)

ScoreFLOAT

CONSTRAINTpk_scPRIMARYKEY(Sno,Cno,SCno)

CREATETABLERC

RnoVARCHAR(5)CONSTRAINTfk_classroom_rnoFOREIGNKEYREFERENCESclassroom(Rno)

TimeDATETIME,

CnoVARCHAR(4)NOTNULLCONSTRAINTfk_rc_course_cnoFOREIGNKEYREFERENCEScourse(Cno)

ONDELETECASCADE,

SCnoVARCHAR

(2)NOTNULL

CONSTRAINTpk_rcPRIMARYKEY(Rno,Time)

为进行综合测评增加一个外模式

CREATEVIEWassessAS

SELECTSC.sno,sname,AVG(score)asaverageFROMSC,Student

whereSC.sno=student.sno

GROUPBYSC.sno,sname

为了符合数据的参照完整性约束,避免学生选课的时候选择一个不存在的课程号-课序号组,增加一个外键约束。

ALTERTABLEsc

ADDCONSTRAINTfk_sc_techFOREIGNKEY(Cno,SCno)REFERENCEStech(Cno,SCno)

ONDELETECASCADE

为了在插入一个新课程时能级联更新教师的工作量,增加一个触发器。

此任务也可以通过建立一个外模式视图来动态统计,为了练习的目的这里采用了触发器

CREATETRIGGERworkcnterOntech

AFTERINSERT,UPDATE,DELETE

AS

BEGIN

DECLARE@TVARCHAR(5)

IFEXISTS

SELECTTOP1TnoFROMINSERTED

BEGIN

SET@T=(SELECTTOP1TnoFROMINSERTED)

UPDATEteacherSETCcnt=Ccnt+1WHERETno=@T

END

SELECTTOP1TnoFROMDELETED

BEGIN

SET@T=(SELECTTOP1TnoFROMDELETED)

UPDATEteacherSETCcnt=Ccnt-1WHERETno=@T

END

END

关于课程容量:

如何保证选课的学生数量不超过教室的容量?

初步解决办法是:

在学生选课时建立暂时不考虑容量问题,都加入一个临时的SC表中。

然后,在选课结束后将未超额的记录直接加入SC表,超额的课程进行抽签,将命中部分学生的选课记录插入SC表,直到人数符合课程容量的要求为止。

抽签的功能较适合用顶层的高级语言来实现。

在选课结束后,选超额课程的学生需登陆选课系统进行抽签,抽签的过程可以使用概率算法,如果抽中,系统再将选课记录插入SC表,否则就从临时表中删除。

所以,在数据库系统中,没有对SC表的插入操作进行约束。

1、根据分析可以画出该教务管理系统的数据流图:

2、数据字典

数据库设计---教务管理系统

来源:

互联网 

版权归原作者所有时间:

2009-12-19

course_cnoFOREIGNKEYREFERENCEScourse(Cno)

ONUPDATECASCADE

ONDELETECASCADE,

SCnoVARCHAR

(2)NOTNULL,

ScoreFLOAT

CONSTRAINTpk_scPRIMARYKEY(Sno,Cno,SCno)

CREATETABLERC

RnoVARCHAR(5)CONSTRAINTfk_classroom_rnoFOREIGNKEYREFERENCESclassroom(Rno)

TimeDATETIME,

CnoVARCHAR(4)NOTNULLCONSTRAINTfk_rc_course_cnoFOREIGNKEYREFERENCEScourse(Cno)

SCnoVARCHAR

(2)NOTNULL

CONSTRAINTpk_rcPRIMARYKEY(Rno,Time)

为入行综合测评增加一个外模式

SELECTSC.sno,sname,AVG(score)asaverageFROMSC,Student

whereSC.sno=student.sno

GROUPBYSC.sno,sname

ALTERTABLEsc

ADDCONSTRAINTfk_sc_techFOREIGNKEY(Cno,SCno)REFERENCEStech(Cno,SCno)

ONDELETECASCADE

为了在插渗入渗出一个新课程时能级联更新教师的工作量,增加一个触发器。

此任务也可以通过建立一个外模式视图来动态统计,为了练习的目的这里采用了触发器

AFTERINSERT,UPDATE,DELETE

AS

BEGIN

DECLARE@TVARCHAR(5)

IFEXISTS

SELECTTOP1TnoFROMINSERTED

SET@T=(SELECTTOP1TnoFROMINSERTED)

UPDATEteacherSETCcnt=Ccnt1WHERETno=@T

END

SELECTTOP1TnoFROMDELETED

SET@T=(SELECTTOP1TnoFROMDELETED)

UPDATEteacherSETCcnt=Ccnt-1WHERETno=@T

在学生选课时建立暂时不考虑容量问题,都加渗透一个临时的SC表中。

然后,在选课结束后将未超额的记录直接加渗透SC表,超额的课程进行抽签,将命中部分学生的选课记录插入SC表,直到人数符合课程容量的要求为止。

所以,在数据库系统中,没有对SC表的插渗入渗出操作进行约束。

本文来自CSDN博客,转载请标明出处:

966.aspx

数据库设计---教务管理系统

2009年12月03日星期四11:

04P.M.

题目要求:

数据结构:

含义说明:

组成:

数据项:

类型:

长度:

取值范围:

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2