目录

数据库结构设计

数据库概念设计

每文一语


数据库结构设计

数据库概念设计

一个设计良好的数据库,在很大程度上决定了系统的成功与否。

概念设计是数据库设计的核心环节。通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

1、数据库概念设计的目标
定义和描述应用领域设计的数据范围
①获取信息模型
②描述数据的属性特征
③描述数据之间的关系
④定义和描述数据的约束
⑤说明数据的安全性要求
⑥支持用户的各种数据处理需求
⑦保证信息模型能转化成数据库的逻辑结构(即数据库模式)。

2、过程:
(1)明确建模目标(模型覆盖范围)
(2)定义实体集(自底向上标识和定义实体集)
(3)定义联系(实体间关联关系)

(4)建立信息模型(构造ER模型)
(5)确定实体集属性(属性描述一个实体集的特征或性质)
(6)对信息模型进行集成与优化(检查和消除命名不一致、结构不一致等)
概念设计是DB设计的核心环节。概念数据模型是对现实世界的抽象和模拟。

3、概念模型设计
概念设计目前采用最广泛的是ER建模方法。将现实世界抽象为具有属性的实体及联系。
1976年,Peter.Chen提出E-R模型(Entity- Relationship Model),即实体联系模型,用E-R图来描述数据库的概念模型。
观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。

与E-R模型有关的概念
实体(Entity)或实例(Instance)
客观存在并可相互区分的事物叫实体。
如学生张三、工人李四、计算机系、数据库概论。
实体集(Entity Set)
同型实体的集合称为实体集。
如全体学生。

属性(Attribute)
实体所具有的某一特性。一个实体可以由若干个属性来刻画。每个属性的取值范围称为域。
例如,学生可由学号、姓名、年龄、系、年级等组成。

码(Key):
实体集中唯一标识每一个实体的属性或属性组合。
用来区别同一实体集中的不同实体的称作主码。(主键)
一个实体集中任意两个实体在主码上的取值不能相同。
如学号是学生实体的主码。(主键)

联系(Relationship)
描述实体之间的相互关系。
如学生与老师间的授课关系,学生与学生间有班长关系。
联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。
同类联系的集合称为联系集。

实体间的联系有三类:
实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目。
一对一联系(1:1)
如:“系”与“系主任”(一个系只有一个系主任,一个系主任只负责管理一个系)

一对多联系(1:n )
如:“系”与“学生”(一个系招收若干学生,一个学生只属于一个系)
多对多联系(m:n)
如:“学生”与“课程”(一名学生可选修多门课程,每门课程可被多名学生选修)

E-R模型的表示

 1、逻辑设计的任务:
将概念模型(如ER图)转化为DBMS支持的数据模型(如关系模型),并对其进行优化。

 2、逻辑设计的依据和阶段目标:

 关系模型
有三种主要的数据模型:层次模型、网状模型、关系模型。其中关系模型简单灵活,并有着坚实的理论基础,已成为当前最流行的数据模型。
关系模型就是用二维表格结构来表示实体及实体之间联系的模型。
关系的描述称为关系模式(Relation Schema)。关系模式由五部分组成,即它是一个五元组:R(U, D, DOM, F)

R:关系名    U:组成该关系的属性名集合     D:属性组U中属性所来自的域    DOM:属性到域的映射    F:属性组U上的一组数据依赖
由于D、DOM对模式设计的关系不大,这里把关系模式简化为一个三元组:
R<U, F>,当且仅当U上的一个关系R满足F时,R称为关系模式R<U,F>的一个关系。

1、关系数据库设计的核心:关系模式的设计。
2、关系模式的设计目标:按照一定的原则从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界,而又有良好的操作性能的关系模式。

数据依赖
定义:
设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。

数据依赖

关系内部属性与属性之间的一种约束关系,是现实世界属性间相互联系的抽象
数据的内在性质
语义的体现,完整性约束的表现形式
限定属性的取值范围,如年龄<60,定义属性间值的相互关联(主要体现于值的相等与否),这就是数据依赖

数据依赖的类型

函数依赖(Functional Dependency,FD)普遍存在于生活中,这种依赖关系类似于数学中的函数y=f(x),自变量x确定之后,相应的函数值y也就唯一地确定了。如关系:公民(身份证号,姓名,地址,工作单位)身份证号一确定,则其地址就唯一确定,因此地址函数依赖身份证号。而姓名一确定,不一定能确定地址。

多值依赖(Multivalued Dependency,MD)
教师号可能多值依赖课程号,因为给定一个(课程号,参考书号)的组合,可能有对应多个教师号。这是因为多个老师可以使用相同或不同的参考书上同一门课。
简单点讲,函数就是唯一确定的关系;多值依赖却不能唯一确定。

候选码、主码、外码
我们已经知道,如果某属性组的值能唯一确定整个元组的值,则称该属性组为候选码或侯选关键字。
例如:(学号,姓名,性别,年龄)中,学号是关键字,(学号,姓名)不是关键字,性别不是关键字。
候选码如果有多个,可以选其中的一个作为主码(Primary Key) 。

数据规范化
关系数据库的设计主要是关系模式设计。关系模式设计的好坏直接影响到数据库设计的成败。将关系模式规范化,是设计较好的关系模式的惟一途径。
关系模式的规范化主要是由关系范式来完成的。
关系模式的规范化:把一个低一级的关系模式分解为高一级关系模式的过程。        
关系数据库的规范化理论是数据库逻辑设计的工具。
目的:尽量消除插入、删除异常,修改复杂,数据冗余的问题。

范式
范式:关系模式满足的约束条件称为范式。根据满足规范化的程度不同,范式由低到高分为1NF,2NF,3NF,BCNF,4NF,5NF。
1NF:如果关系模式R,其所有属性都是不可再分的基本数据项,则称R属于第一范式,R∈1NF。

每文一语

如果没有开始,那就不会有结束,既然开始,那就负重前行

数据库技术-数据库概念设计相关推荐

  1. Sybase数据库技术,数据库恢复---分享Sybase数据库知识(博客文章索引@51cto)

    Sybase数据库技术,数据库恢复 分享Sybase数据库知识 博客文章列表,更新时间:2014-12-14 Sybase数据库技术,数据库恢复 站点地图 最新文章 ASE使用with ignore_ ...

  2. Sybase数据库技术,数据库恢复---分享Sybase数据库知识(博客文章索引)

    Sybase数据库技术,数据库恢复 分享Sybase数据库知识 博客文章列表,更新时间:20141218 Sybase数据库技术,数据库恢复 » 站点地图 最新文章 ASE使用with ignore_ ...

  3. 数据库技术-数据库系统设计

    系统设计 如果需求分析阶段的任务是解决"干什么"的问题,那么系统设计阶段的任务是确定"怎么干". 系统设计包括: 概念设计:数据库概念模型设计.系统总体设计 逻 ...

  4. 数据库技术-数据库需求分析、数据流概念

    目录 需求分析 数据流 结构化分析案例-教材销购案例 例题讲解 每文一语 需求分析 1.需求分析的概念与意义 需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到 ...

  5. 数据库技术-数据库索引

    上一篇文章我们在文末介绍了数据库物理设计的索引,本文我们继续介绍数据库的物理设计 索引技术分类 有序索引 索引文件机制,利用索引文件(索引记录组成)实现记录域(查找码,排序域)取值到记录物理地址间的映 ...

  6. 全国计算机等级考试专用辅导教程,全国计算机等级考试专用辅导教程:三级数据库技术...

    全国计算机等级考试专用辅导教程:三级数据库技术 语音 编辑 锁定 讨论 上传视频 <全国计算机等级考试专用辅导教程三级数据库技术>是2012年电子工业出版社出版的图书,作者是吴海涛. 书  ...

  7. 数据库技术与应用 学习笔记1

    1.软件的安装 SQL Server 2019 安装教程 大佬的安装教程链接: https://blog.csdn.net/CHQC388/article/details/104550963. 2.数 ...

  8. 数据库技术基础:数据库与数据库管理系统概念介绍

    一.数据库系统基本概念知识 1. 数据(Data) 用来描述事物的符号记录,它具有多种表现形式比如文字.图形.图像.视频等. 信息:是现实事物的存在方式或状态的反映.信息的特性有可感知.可存储.可加工 ...

  9. 计算机数据库管理基本知识,2015年计算机四级考试《数据库技术》基础知识:概念篇...

    2015年计算机四级考试<数据库技术>基础知识:概念篇 信息与数据 1. 信息.物质.能量是组成客观世界并促进社会发展的三大基本要素; 2. 信息(Information)--是客观世界事 ...

  10. 创新谈-数据库概念设计之几点见解-吴雨光

    数据库概念设计之几点见解 如果将数据库设计比作是福尔摩斯破案,根据各种条件,限制,规则,抽丝拨茧,寻找其中的相互联系,一步一步深入案件的中间,最终解决案件.但破案首先需要有方法,那么对于数据库设计目前 ...

最新文章

  1. Servlet基础:接口、类、请求响应、配置、会话追踪、上下文、协作、异常
  2. LeetCode实战:将有序数组转换为二叉搜索树
  3. 简单建立安装和配置symantec内部LiveUpdate服务器的方法
  4. 全民IT时代到来了?学计算机很有前途?——淘宝2011校园招聘笔试感想
  5. 本博客弃用,请移步http://ningios.com查看最新
  6. Python 中argparse模块的使用
  7. html form 返回的数据类型,HTML表单
  8. mp3排序软件哪个好用_U盘加密软件_U盘防拷贝软件哪个好用?
  9. power apps 里 嵌套 html
  10. 三、EasyExcel实现数据填充
  11. Beyond Compare 提示“缺少评估信息或损坏”
  12. python 微信群发消息
  13. mapbox 聚合图
  14. 数字电路实验怎么接线视频讲解_【高中物理】电学实验满分知识点总结及例题精讲...
  15. Linux系列教程虚拟机安装虚拟化开启
  16. Pub failed to delete entry because it was in use by anothe
  17. 一个亿万富翁利用商城软件白手起家的故事
  18. 服务器攻击后的善后工作
  19. Android开发工程师学习指南
  20. 遗传算法解决8数码难题——Java

热门文章

  1. 河北档案费2016年取消
  2. python的ls是什么意思_谏言给那些想学Python的人,建议收藏后细看!
  3. 深度学习对抗鲁棒性基础
  4. 英语演讲常用连接词和句子
  5. Silicycle反相C-18 SPE固相萃取小柱
  6. 车辆调度系统php,GitHub - Teamo1001/VehicleSYS: 一个基于Laravel框架的车辆调度、定位、管理系统,服务端...
  7. 基于FPGA的矩阵键盘检测
  8. Instant-Meshes-奇异点检测
  9. l440加装固态硬盘ngff_联想L440笔记本电脑加装固态硬盘笔记
  10. centos radius mysql_[原创]CentOS下Radius服务器搭建