MySQL:常用的数据模型
常用的数据模型
一、定义
- 数据模型是对现实世界数据特征的抽象;通俗的讲数据模型就是现实世界的模拟;
- 数据模型是严格定义的一组概念的集合
- 是用来抽象、表示和处理现实世界中的数据和信息的工具
- 是对现实世界的模拟
- 是数据库系统的核心和基础
二、类型
- 概念数据模型
- 逻辑数据模型
- 物理数据模型
三、作用
精确的描述了系统的静态特性、动态特性和完整性约束条件(Integrity Constraints)。
四、数据模型要求
- 真实的模拟现实世界
- 容易为人所理解
- 便于在计算机上实现
五、组成元素
- 数据结构:描述系统的静态特性;
- 数据操作:描述系统的动态特性;
- 完整性约束
六、模型类型
- 网状模型:成网状
- 特点
- 允许有一个以上的节点无双亲,至少有一个节点可以有多于一个的双亲。【一个节点有多个双亲,结点之间可以有多中联系】
- 特点
- 层次模型:成树状
- 特点
- 有且只有一个结点没有双亲结点(这个结点叫根结点);
- 除根结点外的其他结点有且只有一个双亲结点.
- 特点
- 关系模型:成二维表状,平常的数据表就是关系模型
- 介绍
- 关系(Relation):一个关系对应着一个二维表,二维表就是关系名。
- 元组(Tuple):在二维表中的一行,称为一个元组。
- 属性(Attribute):在二维表中的列,称为属性。属性的个数称为关系的元或度。列的值称为属性值;
- (值)域(Domain):属性值的取值范围为值域。
- 分量:每一行对应的列的属性值,即元组中的一个属性值。
- 关系模式:在二维表中的行定义,即对关系的描述称为关系模式。一般表示为(属性1,属性2,......,属性n),如老师的关系模型可以表示为教师(教师号,姓名,性别,年龄,职称,所在系)。
- 键(码):如果在一个关系中存在唯一标识一个实体的一个属性或属性集称为实体的键,即使得在该关系的任何一个关系状态中的两个元组,在该属性上的值的组合都不同。
- 介绍
七、用途
- 概念模型用于信息世界的建模;
- 是现实世界到机器世界的一个中间层次;
- 是数据库设计的有力工具;
- 数据库设计人员和用户之间进行交流的语言。
八、一般的表示方法:E-R图
九、基本概念
- 实体
- 客观存在并课相互区别的事物成为实体。可以是具体的人、事、物或抽象的概念。
- 属性(Attribute):
- 实体所具有的某一特性成为属性,一个实体可以由若干个属性来刻画。
- 码(key):
- 唯一标识实体的属性集为码。
- 实体型:
- 用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
- 联系(relationship):
- 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
- 实体内部的联系:是指组成实体的各属性之间的联系。
- 实体之间的联系:通常指不同实体集之间的联系。
- 实体之间的联系有1:1;1:多(1:m);多:多(m:n)等多种类型
十、三级模型结构
数据库系统的三级模式结构是指模式、外模式和内模式。
- 模式
- 模式也称为逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,模式位于三级结构的中间层。
- 外模式
- 外模式也称为用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式。
- 内模式
- 内模式也称为存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
十一、二级映射
数据库管理系统在三级模式之间提供了两层映射,分别为外模式/模式映射、模式/内模式映射。
- 外模式/模式映射
- 对于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式被改变时,数据库管理员对各个外模式/模式映射做相应的改变,可以使外模式保持不变。这样,依据数据外模式编写的应用程序就不用修改,保证了数据与程序的逻辑独立性。
- 模式/内模式
- 数据库中只有一个模式和一个内模式,所以模式/内模式的映射是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构被改变时,数据库管理员对模式/内模式映射做相应的改变,可以使模式保持不变,应用程序相应地也不做变动。这样,保证了数据与程序的物理独立性。
MySQL:常用的数据模型的更多相关文章
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- MySQL常用命令和常见问题
MySQL常用命令和常见问题 --创建数据库并设置字符集 create database wip default character set utf8 collate utf8_general_ci; ...
- mysql常用基本操作
mysql常用操作 查看都有哪些库 show databases; 查看某个库的表 use 库名; show tables; 查看表的字段 desc 表名; 当前是哪个用户 select user() ...
- MySQL 常用的sql语句小结(待续)
mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- MySQL数据库3 - MySQL常用数据类型
一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的 ---> 数 ...
- MYSQL常用内置函数详解说明
函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...
- mysql常用函数参考
mysql常用函数参考 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...
随机推荐
- 7 selenium 模块
selenium 模块 一.简介 1.Python的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作. 2.自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接 ...
- GPLT L2-014 列车调度
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805063166312448 分析:明显从右到左列车的序号需要依 ...
- 『MXNet』第八弹_数据处理API_上
一.Gluon数据加载 下面的两个dataset处理类一般会成对出现,两个都可做预处理,但是由于后面还可能用到原始图片,.ImageFolderDataset不加预处理的话可以满足,所以建议在.Dat ...
- 『Yaml』配置文件读写包
YAML 在Python中的配置应用 YAML 是专门用来写配置文件的语言,和JSON相近,都是对字典做规范化文件输出的 一.简介 YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读 ...
- 【实战问题】【2】Ambiguous mapping found. Cannot map 'xxController.Create' bean method
正文: 启动项目时出现该报错. 原因为:在controller中url映射出现重复,@RequestMapping(value = "user/create"). 解决方案为:全局 ...
- python 小练习4
给你一个整数list L, 如 L=[2,-3,3,50], 求L的一个连续子序列,使其和最大,输出最大子序列的和. 例如,对于L=[2,-3,3,50], 输出53(分析:很明显,该列表最大连续子序 ...
- InnoDB存储引擎介绍-(2)redo和undo学习
01 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC). - 事务的原子性(Atomi ...
- 【LeetCode】数组移除元素
链表等复杂数据结构用多了,简单的数组操作也不能遗忘! 1. 给定一个有序数组,移除所有重复元素并返回新的数组长度,不能分配额外数组的内存空间. e.g. 给定输入的数组 = [1,1,2],函数应当返 ...
- Hadoop--之RPC开发
Hadoop--之RPC开发 介绍: 百度百科: RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.R ...
- rsyslog的配置文件使用方法
参考地址: http://www.rsyslog.com/doc/v8-stable/configuration/property_replacer.html rsyslog消息模板的定义规则 &qu ...