- 相关推荐
数据库设计与管理的公共基础学习教程
(四)数据库设计与管理
1.数据库设计概述
数据库设计的基本任务是根据用户对象的信息需求、处理需求和数据库的支持环境(包括硬件、操作系统与DBMS)设计出数据模式。
数据库设计的两种方法:
面向数据的方法:以信息需求为主,兼顾处理需求。
面向过程的方法:以处理需求为主,兼顾信息需求。
目前,面向数据的设计方法是数据库设计的主流方法。
数据库设计一般采用生命周期法,分为如下几个阶段:
需求分析阶段
概念设计阶段
逻辑设计阶段
物理设计阶段
编码阶段
测试阶段
运行阶段
进一步修改阶段
前四个阶段是数据库设计的主要阶段,重点以数据结构与模型的设计为主线。
2.数据库设计的需求分析
第一阶段:需求收集和分析,收集基本数据和数据流图。
主要的任务是:通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,在此基础上确定新系统的功能。
对数据库的要求:
信息要求
处理要求
安全性和完整性的要求
数据字典是各类数据的集合,它包括五个部分:
数据项,即数据的最小单位
数据结构,是若干数据项有意义的集合
数据流,可以是数据项,也可以是数据结构,用来表示某一处理过程的输入或输出
数据存储,处理过程中存取的数据,通常是手工凭证、手工文档或计算机文件
处理过程
3.数据库概念设计
1)概念设计概述
(1)集中式模式设计法
根据需求由一个统一的机构或人员设计一个综合的全局模式。适合于小型或并不复杂的单位或部门。
(2)视图集成设计法
将系统分解成若干个部分,对每个部分进行局部模式设计,建立各个部分的视图,再以各视图为基础进行集成。比较适合于大型与复杂的单位,是现在使用较多的方法。
2)数据库概念设计的过程
(1)选择局部应用
根据系统情况,在多层的数据流图中选择一个适当层次的数据流图,将这组图中每一部分对应一个局部应用,以该层数据流图为出发点,设计各自的E-R图。
(2)视图设计
视图设计的三种次序:
自顶向下:先从抽象级别高且普遍性强的对象开始逐步细化、具体化和特殊化。
由底向上:先从具体的对象开始,逐步抽象,普遍化和一般化,最后形成一个完整的视图设计
由内向外:先从最基本与最明显的对象开始,逐步扩充至非基本、不明显的对象。
例:某大学由一名校长主管,学校下设多个学院,每个学院又的多个系;每个系有一名系主任,负责聘任教师;每个教师可以承担多门课,同一门课又可由多个教师承担;每个系有多个班级,每个班级有一定数量的学生;学生在校期间要学习多门课程,学习结束后,每门课程对应一个成绩。要求设计该大学的教学管理系统。
需求分析阶段,得到该学校的机构组织结构图如下图所示:
E-R图设计
首先,设计“院长”、“学院”和“系”之间的联系。一个学院有一个院长,一个院长主管一个学校;一个系属于一个学院,一个学院有多个系。院长与学院的关系是一对一的联系,学院和系之间是一对多的联系。
在系里在,一个系会聘用多个教师,而一个教师只属于一个系,所以,系和教师之间的关系是一对多的联系;一门课可由多个教师讲授,同时,一个教师可讲授多门课,课程和教师之间的关系是多对多的联系。
在系里,学生和课程之间的联系有,一个系有多个班,一个班只能属于一个系,它们之间的联系是一对多的联系;一个班有多个学生,同时,一个学生只属于一个班,所以,班级和学生之间的联系是一对多的联系;系和课程之间的联系,一个系可开设多门课,同时,一门课可被多个系开设,因此,课程和系之间的关系是多对多的联系;学生与课程之间,一个学生会选多门课,同时,一门课可被多个学生选取,因此,课程和学生之间的关系是多对多的联系。
逻辑设计
学院(学院编号,学院名,学院地址,院长编号)
院长(院长编号,院长姓名,联系电话,办公地址)
系(系编号,系名,联系电话,系地址,学院编号,系主任职工号)
教师(职工号,姓名,性别,学历,职称,工资,联系电话,系编号)
班级(班级编号,班级名称,学生人数,系名)
学生(学号,身份证号,姓名,性别,出生日期,民族,籍贯,班级名)
课程(课程编号,课程名称,学分)
开课(系编号,课程号)
授课(职工号,课程号)
选课(学号,课程号,成绩)
(3)视图集成
视图集成是将所有局部视图统一与合并成一个完整的数据模式。
视图集成的重点是解决局部设计中的冲突,常见的冲突主要有如下几种:
命名冲突:有同名异义或同义异名
概念冲突:同一概念在一处为实体而在另一处为属性或联系
域冲突:相同的属性在不同视图中有不同的域
约束冲突:不同的视图可能有不同的约束
视图经过合并生成E-R图时,其中还可能存在冗余的数据和冗余的实体间联系。
【数据库设计与管理的公共基础学习教程】相关文章:
公共管理基础只是辅导练习07-05
网页制作的基础教程07-03
关于形声字学习的教程设计06-28
绘画基础教程:感觉肌理07-02
儿童绘画基础教程解析07-02
数据库设计08-13
数据库设计[精选]08-13
数据库设计08-06
标题设计教程07-04
公共管理学习总结07-02