排课系统数据库报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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]

相关文档
最新文档