排课系统数据库报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程设计
题目某中学排课管理系统
专业班级
姓名
学号
完成日期 2014-11-24
目录
一、需求分析 (2)
1.1数据字典 (2)
1.2全系统的数据项 (3)
1.3数据流图 (3)
二、概念结构设计 (4)
2.1E-R图 (4)
2.2系统说明书 (5)
三、逻辑结构设计 (15)
3.1关系模型 (15)
3.2参照完整性约束条件 (15)
3.3系统结构图 (16)
四、数据库实施 (16)
4.1关系模式 (16)
4.2程序编码(C#语言) (21)
五、课程设计的感想和心得体会 (27)
一、需求分析
学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。总结出如下需求信息:
1)一个班级有多个学生;
2)一个学生有多门课,一门课对应多个学生;
3)一个教师可以教授多门课,一门课可以由多个教师来教授;
4)一个班级对应一张班级课程表,一个教师也对应一张教师课程表;
5)一个教师可以教授多个班级;
经过对上述系统功能的分析和需求总结,设计总结如下:
1.1数据字典
2)班级信息表
1.2全系统的数据项
数据项:
1)学生信息:学生ID、姓名、性别、出生日期、所属班级。
2)班级信息:班级ID、所属年级。
3)教师信息:教师ID、姓名、性别、年龄。
4)课程信息:课程ID、课程名称、教师ID。
5)课程表信息:星期、第一节、第二节、第三节、第四节、第五节、
第六节、第七节、第八节、班级ID。
1.3数据流图
信息文件
二、概念结构设计
2.1E-R图
1)
2)班级实体E-R图
3)教师实体E-R图
4)课程实体E-R图
5)课程表实体E-R图
6)全局E-R图
2.2系统说明书
1)系统要求
某中学的排课管理系统
●实现班级、课程等基本信息的管理;
●实现学生、教师信息的管理;
●实现班级课程及课程的任课教师和排课管理;
●创建存储过程检测指定教师、指定节次是否有课;
●创建存储过程生成指定班级的课程表;
●创建存储过程生成指定老师的课程表;
●建立数据库相关表之间的参照完整性约束。
2)方案和概图
a)设计方案
b)系统概图
用户登录界面
错误提示界面
排课系统主界面
教师信息主界面
教师信息查询
报错
学生信息查询主界面
学生信息查询
报错
课程信息查询主界面
课程信息查询
班级信息查询
报错课表信息查询
班级课程表
教师课程表查询
学生课程表查询
三、逻辑结构设计
3.1关系模型
1)学生(学生ID,姓名,性别,出生日期,班级ID)
主键:学生ID 外键:班级ID
2)班级(班级ID,班级名称)
主键:班级ID
3)教师(教师ID,姓名,性别,年龄,)
主键:教师ID
4)课程(课程ID,课程名称,教师ID)
主键:课程名称外键:教师ID
5)课程表1(星期,第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节)
主键:星期外键:第一节,第二节,第三节,第四
节,第五节,第六节,第七节,第八节
6)课程表2(星期,第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节,课程名称)
主键:星期外键:第一节,第二节,第三节,第四
节,第五节,第六节,第七节,第八节
3.2参照完整性约束条件
学生——班级学生.班级ID=班级.班级ID
教师——课程教师.课程ID=课程.课程ID
课程表——班级课程表.班级ID=班级.班级ID
课程表——教师课程表.教师ID=教师.教师ID
3.3系统结构图
四、数据库实施
4.1关系模式
1)class表
CREATE TABLE [dbo].[class](
[classID] [int] NOT NULL,
[classname] [nchar](20) NOT NULL,
CONSTRAINT [PK_class] PRIMARY KEY CLUSTERED
(
[classID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
2)course表
CREATE TABLE [dbo].[course](
[courseID] [int] NOT NULL,
[coursename] [nchar](20) NOT NULL,
[teacherID] [int] NULL,
CONSTRAINT [PK_course] PRIMARY KEY CLUSTERED
(
[coursename] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[course] WITH CHECK ADD CONSTRAINT [FK_course_teacher1] FOREIGN KEY([teacherID])
REFERENCES [dbo].[teacher] ([teacherID])
ALTER TABLE [dbo].[course] CHECK CONSTRAINT [FK_course_teacher1]
3)student表
CREATE TABLE [dbo].[student](
[studentID] [int] NOT NULL,
[name] [nchar](10) NOT NULL,
[sex] [nchar](2) NULL,
[birthday] [datetime] NULL,
[classID] [int] NULL,
CONSTRAINT [PK_student] PRIMARY KEY CLUSTERED
(
[studentID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]