关系型数据库设计——E-R图
一、数据管理技术的三个发展阶段:
1)人工管理阶段(20世纪50年代中期) 特点:数据不保存;应用程序管理数据;数据不共享;数据没有独立性;
2)文件系统阶段(20世纪50年代后—60年代)特点:数据以文件形式长期保存;文件系统管理数据;数据共享性差、冗余度大;数据独立性差;
3)数据库系统阶段(20世纪60年代—现在)特点:数据结构化;数据由DBMS统一管理与控制;数据共享性高、冗余度低;数据独立性高;
二、数据库管理系统的功能:
1)数据定义功能:由DBMS提供的数据定义语言(Data Definition Language,DDL)定义数据库中的数据对象。
2)数据操纵功能:由DBMS提供的数据操纵语言(Data Manipulation Language,DML)实现对数据库的查询、插入、删除和修改;
3)数据控制功能:由DBMS提供的数据控制语言(Data Control Language,DCL)实现数据保护和事务管理的功能,包括完整性、安全性、并发控制和数据库恢复;
4)数据库的建立与维护功能
三、概念模型(也称信息模型)——E-R图(Entity-Relationship Diagram)
概念结构设计即对现实世界进行抽象描述,在需求分析所得数据流图和数据字典的基础上,为计算机存储做准备;概念结构设计的内容即建立概念模型;描述概念模型最常用方法是E-R图或UML图方法。
主要概念:
实体(Entity):客观存在的各类事物;
属性(Attribute):实体所具有的特性;
联系(Relationship):不同实体集中实体之间的联系,也可以是同一实体集中实体间的联系;
联系的种类:1:1联系;1:N联系;M:N联系
用E-R图建立概念模型


局部的E-R图又称为局部视图,将多个局部视图E-R图合并成一张完整的E-R图的过程称为视图集成。视图集成过程中可以解决冲突和消除冗余;
分E-R图之间的三类冲突:
1)属性冲突
2)命名冲突
3)结构冲突:同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性,需要统一;
四、逻辑结构设计——E-R图向关系模型的转换
1)一个实体转换为一个关系模式;
实体的属性——>关系的属性
实体标识符——>关系的码
2)联系的转换
1:1联系——与任意一端对应的关系模式和并;
1:n联系——与n端对应的关系模式合并;
m:n联系——一个独立的关系模式
五、关系模式的优化
从以下几方面:
1)关系模式规范化
2)对关系模式进行必要的合并
3)进行合理的分解,包括水平分解、垂直分解
六、关系模式的存取方法选择
DBMS常用存取方法:
1)索引方法,目前主要是B+树索引方法
2)聚簇(cluster)方法
3)Hash方法
七、SQL数据库的三级结构/两级映像
三级模式体系结构:

两级映像:
外模式/模式映像
模式/内模式映像
1)数据的逻辑独立性
应用程序(外模式)与数据库的逻辑结构(模式)是相互独立的,即数据的逻辑结构发生改变,应用程序不用变。
2)数据的物理独立性
应用程序(外模式)与存储在磁盘上的数据库文件中的存储结构(内模式)是相互独立的,即数据文件的组织方式改变不需要修改应用程序。
注:数据库的存储结构有哪些?
欢迎交流与指正!*~* *~*
关系型数据库设计——E-R图的更多相关文章
- 数据库系统(四)---关系型数据库设计及E-R图
1.关系型数据库: 关系型数据库是一类采用关系模型作为逻辑数据模型的数据库系统,遵从数据库设计的基本步骤,包括:需求分析.概念结构设计.逻辑结构设计.物理结构设计.数据库实施.数据库的运行和维护等阶段 ...
- 基于E-R模型的关系型数据库设计方法
摘要 在管理信息系统开发中,数据库设计的目标是建立DBMS能识别的关系数据模型.而关系数据模型建立的基础是首先建立E-R模型,通过E-R模型才能转换为关系数据模型.如何建立E-R模型以及如何将E-R模 ...
- 关系型数据库查询语言 SQL 和图数据库查询语言 nGQL 对比
摘要:这篇文章将介绍图数据库 Nebula Graph 的查询语言 nGQL 和 SQL 的区别. 本文首发于 Nebula Graph 官方博客:https://nebula-graph.com.c ...
- 优化MySchool数据库设计之【巅峰对决】
优化MySchool数据库设计 之独孤九剑 船舶停靠在港湾是很安全的,但这不是造船的目的 By:北大青鸟五道口原玉明老师 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识 ...
- 非关系型数据库Nosql的优缺点分析
Nosql的全称是Not Only Sql,Nosql指的是非关系型数据库,而我们常用的都是关系型数据库.就像我们常用的mysql,oralce.sqlserver等一样,这些数据库一般用来存储重要信 ...
- 初识关系型数据库(SQL)与非关系型数据库(NOSQL)
一.关系型数据库(SQL): Mysql,oracle 特点:数据和数据之间,表和字段之间,表和表之间是存在关系的 例如:部门表 001部分, 员工表 001 用户表,用户名.密码 分类表 和 商 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-4.在线教育后台数据库设计
笔记 4.在线教育后台数据库设计 简介:讲解后端数据库设计 ,字段冗余的好处,及常见注意事项 1.数据库设计: er图: 实体对象:矩形 ...
- [MySQL] 关系型数据库的设计范式 1NF 2NF 3NF BCNF
一.缘由: 要做好DBA,就要更好地理解数据库设计范式.数据库范式总结概览: 为了更好地理解数据库的设计范式,这里借用一下知乎刘慰老师的解释,很通俗易懂.非常感谢! 二.具体说明: 首先要明白”范 ...
- 关系型数据库与Key-value型数据库Mongodb模式设计对比
MongoDb 相比于传统的 SQL 关系型数据库,最大的不同在于它们的模式设计( Schema Design )上的差别,正是由于这一层次的差别衍生出其它各方面的不同. 我们可以简单的认为关系型数据 ...
随机推荐
- GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean
十年前,Martin Fowler撰写了 GUI Architectures 一文,至今被奉为经典.本文所谈的所谓架构二字,核心即是对于对于富客户端的 代码组织/职责划分 .纵览这十年内的架构模式变迁 ...
- PHP性能检测与优化—XHProf 数据阅读
PHP性能检测与优化—XHProf 数据阅读 一. 效果如下 请求总揽 函数调用情况 二. 参数含义 Inclusive Time 包括子函数所有执行时间 ...
- Flexviewer使用Google地图作为底图
Flexviewer使用Google地图作为底图: 在使用google地图作底图前提是你需要在Flex中实现加载google地图的代码(网上一大堆,随便找), 在只加载google地图的情况下,成功显 ...
- EBS登陆界面IE显示异常
使用在IE浏览登陆EBS时: 在登陆界面,登录和取消的按钮显示异常: 在进入HOME界面时,显示的职责全为undefined. 原因: 由于IE版本的兼容性. 解决方法: 浏览器 菜单->工具- ...
- java面试题之----数据库事务的四大特性及隔离级别
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务 ...
- IOS开发入门实例
关于如何创建第一个 iOS 应用 本篇“第一个 iOS 应用”教程将向你介绍 iOS 应用开发中的“三个T”: Tools(工具)如何利用 Xcode 创建和管理工程. Technologies(技术 ...
- Python 调度算法 死锁 静动态链接(七)
1 select poll epoll的区别 基本上select有3个缺点: 连接数受限 查找配对速度慢 数据由内核拷贝到用户态 poll改善了第一个缺点 epoll改了三个缺点. (1)select ...
- PWM----调节LED亮度
- - --调节两个LED灯亮度 module led_pwm ( clk, rst, //cnt1_pwm, out1, out2, out3, out4 ); input clk, rst; // ...
- ring0 恢复SSDTHook
原理: 用ZwQuerySystemInformation 功能号为11(SystemModuleInformation) 得到所有系统模块的地址 遍历搜索得到ntos模块的基地址 读Ntos模块到 ...
- Orchard Core 文档翻译 (七)Contents
CMS Modules »Contents Contents (OrchardCore.Contents) 此模块提供内容管理服务. Liquid 您可以使用“content ”属性从liquid 视 ...