关系型数据库设计——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 )上的差别,正是由于这一层次的差别衍生出其它各方面的不同. 我们可以简单的认为关系型数据 ...
随机推荐
- 位运算(3)——Reverse Bits
翻转32位无符号二进制整数 Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (r ...
- Bash 脚本语法
每次学了忘,忘了学,怎么记不住,因为长时间不用了 Bash 流程控制 循环 for循环 for item in $list do echo $item done 另一种与C语言类似的写法 ; i< ...
- html+css定位篇
position absolute相对于父元素移动,不在父元素范围内时,可能和其他元素重叠 relative相对于初始位置来进行移动 fixed相对于浏览器进行定位,无论滑轮如何滚动,始终出现在浏览器 ...
- Android滑动删除功能
今天学习了新的功能那就是滑动删除数据.先看一下效果 我想这个效果大家都很熟悉吧.是不是在qq上看见过这个效果.俗话说好记性不如赖笔头,为了我的以后,为了跟我一样自学的小伙伴们,我把我的代码粘贴在下面. ...
- jsp九大内置对象==欣欣
内置对象特点: 1. 由JSP规范提供,不用编写者实例化. 2. 通过Web容器实现和管理 3. 所有JSP页面均可使用 4. ...
- gamemakerstudio:Sprite的原点
对于某些类型的游戏,例如飞行射击游戏或者顶视角的2D游戏,通常会直接选取图片的中心做为原点.但对于<冰杖秘闻>这样的 2D ARPG 来说,会更多的从三维场景的角度来选择原点,即选择物品底 ...
- 大数据的正确用法你get到了吗?
Azure 镜像市场已于2016年9月21日正式上线,在这个统一的集成平台中,客户可以轻松地浏览.搜索和选择一系列来自第三方的应用和解决方案,并可以将其快速一键部署到 Azure 实例当中. 在移动为 ...
- 设计模式之简单工厂模式(Simple Factory)
原文地址:http://www.cnblogs.com/BeyondAnyTime/archive/2012/07/06/2579100.html 今天呢,要学习的设计模式是“简单工厂模式”,这是一个 ...
- c++链表实现学生成绩管理系统(简易版)
#include<iostream> using namespace std; typedef struct student{ int id;//学号 string sex; string ...
- WAKE-WIN10-SOFT-GITHUB
1,GITHUB 官网:https://github.com/ 2,软件工具 ,,,,,,