资源描述
6.1数据库设计概述
㈠数据库设计的概念:数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
㈡数据库设计的特点
1、数据库建设是硬件、软件和干件的结合:三分技术、七分管理、十二分基础数据,技术与管理的界面称之为干件。
2、数据库设计过程是结构设计和行为设计的密切结合:结构设计是设计数据库结构,行为设计是设计应用程序、事务处理等。
㈢数据库设计的方法
1、手工试凑法:设计质量与设计人员的经验和水平有直接关系,缺乏科学理论和工程方法的支持,工程质量难保证。
2、规范设计法:基本思想是过程迭代和逐步求精。
㈣数据库设计的基本步骤
准备工作:选定参加设计的人员。
⑴分析员:数据库设计的核心人员,自始至终参与数据库设计,其水平决定了数据库系统的质量。
⑵用户:主要参加需求分析和数据库的运行维护,用户的积极参与将加速数据库设计,提高数据库设计的质量。
⑶程序员:在系统实施阶段参与进来,负责编制程序。
⑷操作员:在系统实施阶段参与进来,准备软硬件环境。
㈤数据库设计的过程(六个阶段)
1、需求分析阶段:
准确了解与分析用户需求(包括数据与处理),是整个设计过程的基础,是最困难、最耗费时间的一步。
2、概念结构设计阶段:
整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
3、逻辑结构设计阶段:
将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
4、数据库物理设计阶段:
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
5、数据库实施阶段:
运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行试运行。
6、数据库运行和维护阶段:
数据库应用系统经过试运行后即可投入正式运行,在运行过程中不断对其进行评价、调整与修改。
设计一个数据库应用系统往往是上述六个阶段的不断反复
。
㈥数据库设计各阶段的模式形成:
1、需求分析阶段:综合各个用户的应用需求。
2、概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)。
3、逻辑设计阶段:首先将E-R图转换成具体DBMS支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式。
4、物理设计阶段:根据DBMS特点和处理需要,进行物理存储安排,建立索引,形成数据库内模式。
教务管理系统
1、需求分析
存储、查询、维护有关学生的信息;
存储、查询、维护有关教师的信息;
存储、查询、维护有关每个系部的信息;
存储、查询、维护有关每个班级的信息;
存储、查询、维护有关课程及使用教材的信息;
存储、查询、维护有关课程安排的信息;
存储、查询、维护有关每个班级的信息;
2、概念结构设计
隶属
给某班授课
班级
系部
教师
1 n
k
n m
教材
使用
教学计划
课程
n m 1 1
隶属
隶属
学习
1 1 n
n n m
系部
隶属
学生
1 n
出生年月
性别
班级号
姓名
入学时间
家庭住址
学号
学生
出生年月
性别
系号
姓名
职位
家庭住址
教师编号
教师
邮政编码
联系电话
周学时
书号
总学时
课程名
学分
课程号
课程
作者
出版社
书价
书名
书号
教材
教师地点
学生人数
班长
班级号
班级
系教师人数
系主任
系名
系部号
系部
课程号
班级号
教学计划
学分
学期
分数
学年
课程号
学号
成绩
学期
班级号
课程号
教师号
成绩
上课时间
学年
上课地点
3、逻辑结构设计
Student(学生表)
列名
数据类型
字段大小
可否为空
说明
Student_ID
Char
5
N (KEY)
学号
Student_name
Char
10
N
姓名
Student_sex
Char
2
N
性别
Student_birth
datetime
固定长度
N
出生年月
Student_enterdate
datetime
固定长度
N
入学时间
Student_address
Char
50
Y
家庭地址
Book(教材表)
列名
数据类型
字段大小
可否为空
说明
Book_isbn
Char
13
N(KEY)
书号
Book_name
Char
30
N
书名
Book_publish
Char
30
N
出版社
Book_author
Char
10
Y
作者
Book_price
Money
固定长度
Y
价格
Class(班级表)
列名
数据类型
字段大小
可否为空
说明
Class_ID
Char
5
N(KEY)
班级编号
Class_monitor
Char
10
Y
班长
Class_room
Char
20
Y
教室
student_num
int
固定长度
Y
班级人数
Teacher(教师表)
列名
数据类型
字段大小
可否为空
说明
Teacher_ID
Char
5
N(KEY)
教师编号
Teacher_name
Char
16
N
名字
Teacher_sex
Char
4
N
性别
Teacher_birthday
datatime
固定长度
N
出生日期
Teacher_deparmentID
Char
6
Y
系号
Teacher_address
Char
32
Y
家庭住址
Teacher_position
Char
8
N
职位
Teacher_postalcode
Int
6
N
邮政编码
Teacher_phonenumber
Int
11
N
联系电话
Course(课程表)
列名
数据类型
字段大小
可否为空
说明
Course_ID
Char
11
N(KEY)
课程号
Course_name
Char
12
N
课程名
Course_ Book_isbn
Char
13
N(KEY)
书号
Course_weektime
Int
4
N
周学时
Course_alltime
Int
4
N
总学时
Course_score
Decimal
6
N
学分
Department(系部表)
列名
数据类型
字段大小
可否为空
说明
Deparment_ID
Char
8
N
系号
Deparment_name
Char
8
N
系名
Deparment_manger
Char
8
N
系主任名
Deparment_num
Int
8
N
系人数
Teachingplan(教学计划表)
列名
数据类型
字段大小
可否为空
说明
Teachingplan_classname
Char
5
N
班级号
Teachingplan_cousenum
Char
11
N
课程号
Studentgrade(学生成绩表)
列名
数据类型
字段大小
可否为空
说明
Studentgrade_cn
Char
11
N(KEY)
课号
Studentgrade_sn
Char
5
N (KEY)
学号
Studentgrade_grade
Decimal
4
N
分数
Studentgrade_progress
DECIMAL
4
N
学分
Studentgrade_year
Datatime
固定取值
N
学年
Studentgrade_term
Int
固定取值
N
学期
Teachergrade(教师成绩表)
列名
数据类型
字段大小
可否为空
说明
Teachergrade_tn
Char
5
N(KEY)
教师编号
Teachergrade_cn
Char
11
N(KEY)
课程号
Teachergrade_cln
Char
5
N(KEY)
班级编号
Teachergrade_year
Datatime
固定取值
N
学年
Teachergrade_term
Int
固定取值
N
学期
Teachergrade_ctime
Datatime
固定取值
N
上课时间
Teachergrade_cadd
Char
8
N
上课地点
4、体系结构
学生信息删除
学生信息修改
学生信息添加
学生信息查询
教材管理
班级管理
教学管理
成绩管理
教师管理
学生管理
教务管理系统
展开阅读全文