目录

一、 需求分析 3

二、数据库设计 3

2.1 确定联系集及E-R图 3

2.2 画出E-R图 4

2.3课程管理系统总E-R图 5

三、逻辑数据库设计阶段 6

3.1 班级表(Student) 6

3.2 学生信息表(Student) 6

3.3 教室表(Room) 7

3.4 课程表(Course) 7

3.5 教师表(Teacher) 7

3.6 选课表(Choose) 7

3.4 排课表(Arrange) 8

四、建表 8

4.1 创建数据库 8

4.2 创建数据表 8

五、数据库的运行和维护 11

5.1 定义 11

5.1.1 基本表的创建,建表语句 11

5.1.2 基本表的删除 14

5.2 数据操作 14

5.2.1 单表查询: 16

5.2.2 连接查询 17

5.2.3 操作结果集查询 17

5.2.4 嵌套查询 18

5.3 数据库更新操作 18

5.3.1 插入数据 18

5.3.2 修改数据 18

5.3.3 删除数据 19

5.4 为数据库建立索引 19

5.4.1 索引的建立 19

5.4.2 索引的删除 19

DROP INDEX index_xm ON student; 19

5.5 数据库的安全性 19

5.6 数据库的完整性 20

5.6.1 实体完整性定义 20

5.6.2 参照完整性定义 22

七、总结 23

  • 需求分析

学校的日常事务管理涉及很多方面,其中课程管理是一个很重要的方面,比较体系化,流程化,适合使用计算机系统管理,该数据库需求分析如下:

学院有若干班级、教师、学生,一个学院设有若干班级,每个班级有若干名学生;每个学生选修若干门课程,一名教师可教授多门课程。每门课程可有若干名学生选修;每门课可以被安排在不同的教室上课,每门课程有固定的学时修完以后有相应学分,考试通过后可获得学分。

二、数据库设计

2.1 确定联系集及E-R

根据前面对系统进行的分析,确定有关的各个实体及其相互联系如下:

学生(学号,姓名,性别,所在班级,电话,生日,住址)

教师(教师编号,姓名,职称)

课程(课程号,课程名,学时,学分,授课教师)

班级(班级编号,班级名称)

教室(教室编号,所在位置)

①、标示实体集:班级,课程,学生,教师,教室。

②、标示联系集:

学生和班级:一个班由多个学生组成,一个学生只能归属于某个班;

学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修;

课程和教师:一门课由一个教师教授,一个教师可教授多门课。

教室和班级及课程:一间教室同一时间只能有一个班级上一门课,一间教室可供多个班级上多门课。

③、标示属性集:

学生(学号,姓名,性别,所在班级,电话,生日,住址)

教师(教师编号,姓名,职称)

课程(课程号,课程名,学时,学分,授课教师)

班级(班级编号,班级名称)

教室(教室编号,所在位置)

选课表(学号课程号,成绩)

排课表(课程号班级编号教室编号,上课时间,课号)

2.2 画出E-R

学生ER图如下:

教师ER图如下:

课程信息图如下:

班级ER图如下:

教室ER图如下:

2.3课程管理系统总E-R

三、逻辑数据库设计阶段

逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括学生、教师、课程、班级、教室、选课、排课七个关系, 其关系模式中对每个实体定义的属性如下:

学生(学号,姓名,性别,所在班级,电话,生日,住址)

教师(教师编号,姓名,职称)

课程(课程号,课程名,学时,学分,授课教师)

班级(班级编号,班级名称)

教室(教室编号,所在位置)

选课表(学号课程号,成绩)

排课表(课程号班级编号教室编号,上课时间,课号)

3.1 班级(Student)

列名

中文含义

数据类型

约束

d_no

班级编号

Char(8)

主码

d_Name

班级名称

char(12)

not null

3.2 学生信息表(Student)

列名

中文含义

数据类型

约束

S_no

学号

Char(12)

主码

S_Name

用户名

char(10)

not null

sex

密码

char(2)

Not null

d_no

班级编号

Char(8)

外键

phone

电话

Char(12)

Not null

birthday

生日

date

address

住址

Varchar(30)

Not null

3.3 教室表(Room

列名

中文含义

数据类型

约束

r_no

教室编号

Char(8)

主码

r_location

位置

char(12)

not null

3.4 课程表Course

列名

中文含义

数据类型

约束

c_no

课程号

Char(12)

主码

c_name

课程名

char(10)

not null

hours

学时

Int

Not null

credit

学分

Int

Not null

t_no

授课教师

Char(12)

外键

3.5 教师表Teacher

列名

说明

数据类型

约束

t_no

教师编号

Char(12)

主码

t_name

姓名

char(10)

not null

t_title

职称

Varchar(10)

3.6 选课表Choose

列名

说明

数据类型

约束

c_no

课程号

Char(12)

外键(联合主键)

s_no

学号

Char(12)

外键(联合主键)

score

成绩

int

默认值0

3.4 排课表Arrange

列名

说明

数据类型

约束

c_no

课程号

Int

外键,联合主键

d_no

班级号

int

外键,联合主键

r_no

教室编号

Int

外键,联合主键

dt_date

上课时间

Date

联合主键

kh

课号

int

四、建表

insert choose values ('1002','s0001',88);

insert choose values ('1002','s0002',66);

insert choose values ('1002','s0003',74);

insert choose values ('1002','s0004',91);

insert choose values ('1003','s0002',59);

insert choose values ('1003','s0003',72);

insert choose values ('1003','s0004',85);

insert choose values ('1004','s0003',60);

5.5 数据库的安全性

所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、可靠和正确有效。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。

用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进行验证,只有通过验证的用户方可对数据库进行操作。

5.6 数据库的完整性

5.6.1 实体完整性定义在每个表上都创建了合理的主键约束

5.6.2 参照完整性定义在选课表和排课表上创建了合理的外键约束

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐