数据库技术-数据库概念设计

简介: 数据库技术-数据库概念设计

数据库结构设计

数据库概念设计

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

概念设计是数据库设计的核心环节。通过对用户需求进行综合、归纳与抽象,形成一个独立于具体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)

如:“学生”与“课程”(一名学生可选修多门课程,每门课程可被多名学生选修)image.png

1、逻辑设计的任务:

将概念模型(如ER图)转化为DBMS支持的数据模型(如关系模型),并对其进行优化。

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

image.png 

关系模型

有三种主要的数据模型:层次模型、网状模型、关系模型。其中关系模型简单灵活,并有着坚实的理论基础,已成为当前最流行的数据模型。

关系模型就是用二维表格结构来表示实体及实体之间联系的模型。

关系的描述称为关系模式(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。


相关文章
|
7天前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
54 8
|
6天前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
46 1
|
4月前
|
SQL 存储 关系型数据库
第二篇:关系型数据库的核心概念与 SQL 基础
本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。
235 1
|
5月前
|
Cloud Native 关系型数据库 分布式数据库
|
19天前
|
SQL 数据管理 BI
数据库操作三基石:DDL、DML、DQL 技术入门指南
本文围绕数据库操作核心语言 DDL、DML、DQL 展开入门讲解。DDL 作为 “结构建筑师”,通过CREATE(建库 / 表)、ALTER(修改表)、DROP(删除)等命令定义数据库结构;DML 作为 “数据管理员”,以INSERT(插入)、UPDATE(更新)、DELETE(删除)操作数据表记录,需搭配WHERE条件避免误操作;DQL 作为 “数据检索师”,通过SELECT结合WHERE、ORDER BY、LIMIT等子句实现数据查询与统计。三者相辅相成,是数据库操作的基础,使用时需注意 DDL 的不可撤销性、DML 的条件约束及 DQL 的效率优化,为数据库学习与实践奠定基础。
|
1月前
|
缓存 关系型数据库 MySQL
MySQL数据库性能调优:实用技术与策略
通过秉持以上的策略实施具体的优化措施,可以确保MySQL数据库的高效稳定运行。务必结合具体情况,动态调整优化策略,才能充分发挥数据库的性能潜力。
106 0
|
3月前
|
存储 人工智能 关系型数据库
诚邀您参加《智启云存:AI时代数据库RDS存储新突破》线上闭门技术沙龙!
诚邀您参加6月11日(周三)14:00在线上举行的《智启云存:AI时代数据库RDS存储新突破》闭门活动。免费报名并有机会获得精美礼品,快来报名吧:https://hd.aliyun.com/form/6162
|
4月前
|
人工智能 关系型数据库 分布式数据库
媒体声音|从亚太到欧美,阿里云瑶池数据库凭何成为中企出海的技术底气?
在中企出海的时代浪潮中,瑶池数据库正凭借其技术创新、场景化解决方案、智能化能力、全球化布局,成为企业跨越挑战、构建全球竞争力的关键伙伴;同时也以硬核的技术实力证明了中国数据库的国际竞争力。
|
4月前
|
安全 Apache 数据库
【倒计时3天】NineData x Apache Doris x 阿里云联合举办数据库技术Meetup,5月24日深圳见!
5月24日,NineData联合Apache Doris与阿里云在深圳举办数据库技术Meetup。活动聚焦「数据实时分析」与「数据同步迁移」两大领域,邀请行业专家分享技术趋势、产品实践及解决方案,助力企业构建高效安全的数据管理体系。时间:14:00-17:30;地点:深圳新一代产业园2栋20楼会议室。线下名额有限(80人),速报名参与深度交流!
106 1
|
4月前
|
SQL 存储 关系型数据库
第一篇:数据库基础与概念
这篇文档面向数据库初学者,系统介绍了数据库的基础概念、类型、管理工具及实践方法。内容涵盖数据库定义、应用场景(如电商、银行系统)、数据库管理系统(DBMS)的功能与常见系统(MySQL、PostgreSQL等),以及关系型与非关系型数据库的区别。同时,文章详细解析了基本术语(表、记录、字段、主键、外键)和ER图设计,并提供了实践建议,包括创建简单数据库、学习SQL语言、使用管理工具等。最后推荐了学习资源和书籍,鼓励读者通过实际项目巩固知识,逐步掌握数据库的核心技能。
379 11