数据库设计过程数据库
概念设计 conceptual-design
功能需求说明 specification of functional requirement
逻辑设计阶段 logical design
物理设计阶段 physical designapp
设计数据库模式数据库设计
数据库模式应避免的两个缺陷:
冗余 例如,每一次开课咱们都存储课程编号和课程名称,那么每一次开课都冗余了课程编号和名称。理想的状况下,信息应该只出如今一个地方。
不完整 若是只在课程表存储全部的课程信息,那么每次开课都要存储一份课程的全部信息,新课程的信息没法独立展现。ui
实体联系模型 entity-relationshio E-R设计
实体集 entity set 具备相同类型(相同属性)的实体的集合,实体集通常指实体之间的关系
实体集的外延 extension 实体集的实体的实际集合
实体集经过一组属性(attribute)来表示,每一个属性(attribute)都有一个值(value)
实体 entity 表明全部可明确识别的个体,每一个实体都有一组属性,其中一些属性的能够惟一的标识一个实体对象
联系集 relationship set 相同类型的联系的集合
联系 relationship 多个实体间的相互关联ip
实体集的关联称为参与(pariticipate),能够说E1,E2.。。En参与了联系集Rci
实体在联系中扮演的功能称为实体的角色,若是一样的实体集以不一样的角色参与同一联系集,这种联系集合称为自环recursive。rem
属性get
属性能够分为简单和复合属性 好比name能够由first_name,middle_name,last_name组成
属性的值可分为单值和多值,即一个值和多个值,好比一我的可能有多个手机号
派生属性 好比教师对象有一个值学生集合,学生集合的数量统计就是一个派生的属性
约束
映射 mapping。映射基数 mapping cardinality 一个实体经过联系能够关联的实体数量
一对一 one-to-one 关系A有且仅有一个实体与关系B中的实体关联,反之,关系B有且只有仅有一个实体与关系A关联
一对多 one-to-many 关系A中实体能够与关系B中任意数量的实体关联,反之,关系B中实体只能与关系A中一个实体关联
多对多 many-to-many 关系A中实体能够与关系B中任意数量实体关联,反之,关系B中实体能够与关系A中任意数量实体关联
实体集删除冗余
实体集 instructor包含属性 ID,name,dept_name以及salary
实体集 department包含属性dept_name,building以及budget
属性dept_name在实体集instructor和department中都存在,因此说它是冗余的
设计时避免因为关联联系集而形成属性的冗余
实体-联系图 E-R
同一建模语言 UML. TODO
类图 class diagram 类图相似于E-R图 用况图 use case diagram 用户和系统之间的交互,用户所执行的任务重的每一步操做 活动图 activity diagram 系统不一样部分之间的任务流 实现图 implementation diagram 在软件和硬件层面说明系统的各组成部分