数据库课程设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

万方科技学院“数据库原理”课程设计题目:课程管理系统数据库设计

班级: 15级计算机科学与技术专升本

姓名:刘轶男

学号: 1516353011

评语及分数:

1.需求分析

1.1系统目标

实现课程管理系统。为任课教师和学生提供方便快捷的课程表。

1.2需求分析

步入大学,要求每一个学生全面发展,除了要专业课和公共基础课等必修课外,学生还有自己喜欢的选修课。学生选课管理系统面向广大学生和教师,给学生任课教师一个一目了然的课程表,达到了方便快捷,易于管理的效果。通过学生选课管理信息系统,既可以全面的查询、插入、浏览、修改课程信息,便于教师查询和统计本门课的相关信息。其次通过课程管理系统,学生还可以清晰的了解所有的所修课程。

1.3.功能描述

本系统面向学生和教师主要提供以下功能:

通过本系统,我们可以实现相关课程的更新、添加、修改、删除等操作。

1.4.课程相关信息管理

通过本系统,任课教师可以对选择本门课的相关信息进行查询、删除、修改等操作。学生也可以通过相关信息的查询了解自己所修课的相关记录。

1.5.教师信息管理

通过本系统,教师可以登录查询、修改自己的相关信息等。

2.概念结构设计

2.1详细介绍

1、实体集

(1)、教师实体集:具有教师编号、姓名、职称等属性。

(2)、课程实体集:具有课程号、课程名、学分等属性。

2、联系

一个教师可以开设多门课程,一门课程也可以有多名教师教授,他们之间存在m:n的联系。

2.2 ER图

3.逻辑结构设计

将E-R图转换为数据模型:

1.将课程实体转换为关系

C(Credit,Cname,Cno)

Credit代表学分,Cname代表课程名,Cno代表课程号。

2.将教师实体转化为关系

T(Tno,Tname,Tsex)

Tno代表教师编号,Tname代表教师姓名。

3.将教师和课程之间的联系授课转化为关系

Class(Clno,Cltime,Address,Cno,Tno)

Clno代表行政班号,Cltime代表上课时间,Address代表上课地点,其他属性含义同上。

4.数据库物理结构设计

4.1将关系模式转化为表结构

1、课程表

2、教师表

3、授课表

注:上课时间由两个数字和一条横线组成,前面的数字代表星期几,后面的数字代表第几节课。

4.2、数据完整性

为了保证数据的正确性和相容性,即为了维护数据库的完整性,必须制定一定的完整性约束条件来对数据进行语义约束。可以通过各种约束,缺省值,规则和触发器实现数据的完整性

(1)通过Primary key来实现实体完整性,即主码约束。这里注意多个属性码要定义表级约束条件。

(2)通过定义外码约束来实现参照完整性,保证数据不能随意被删除。

(3)Check约束,保证学生的已选学分必须要小于学分上限,并且规定性别的取值范围仅限于男女。其次还定义主码属性非空等。

5.数据库实施

5.1建立数据库

CREATE DATABASE Student ON

(NAME=’学生选课管理库’,

FILENAME='E:\db\学生选课管理库.mdf’,

SIZE = 3, MAXSIZE = 50, FILEGROWTH = 1)

5.2建表(附带完整性约束条件)

1、教师表

Create table T

(Tno char(9) primary key,

Tname char(8) not null,

Tpro char(8),

Tbirth smallint,

Tsex char(2) check(Sex IN (‘男’,’女’)), );

2、课程表

Create table C

(Cno char(9) primary key,

Cname char(8) not null,

Credit int not null );

3、授课表

Create table Class

(Cno char(9) not null,

Tno char(9) not null,

Clno char(8) not null,

Cltime char(5) not null,

Clnum int not null,

Primary key (Sno,Cno,Clno),

Foreign key (Tno) references T(Tno),

Foreign key (Cno) references C(Cno), );

5.3插入数据

1.课程数据

Insert into C

Values(‘001’,‘数据库原理’,3)

Insert into C

Values(‘002’,‘单片机原理与应用’,2)

Insert into C

Values(‘003’,‘局域网技术与组网工程’,2)

Insert into C

Values(‘004’,‘通信原理概论’,3)

Insert into C

Values(‘005’,‘操作系统’,2)

Insert into C

Values(‘006’,‘计算机组成与系统结构’,3)Insert into C

Values(‘007’,‘软件技术’,1)

Insert into C

Values(‘008’,‘JAVA程序设计’,2)

2、教师数据

Insert into T

Values(‘01’,‘苏百顺’,‘男’)

Insert into T

Values(‘02’,‘赵宗渠’, ‘男’)

Insert into T

Values(‘03’,‘许焱平’,‘女’)

Insert into T

Values(‘04’,‘陈彦良’,‘男’)

Insert into T

Values(‘05’,‘马永强’,‘男’)

Insert into T

Values(‘06’,‘叶晓涛’,‘男’)

Insert into T

Values(‘07’,‘张宵宏’,‘女’)

Insert into T

Values(‘08’,‘刘静’,‘女’)

3、授课数据

Insert into Class

相关文档
最新文档