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, ...
随机推荐
- python基础之数据类型操作补充,集合及其操作,深浅拷贝
内容概要: 数据类型操作补充 集合及其操作 深浅拷贝1.基础数据类型补充 1.1字符串的操作补充li = ["李嘉诚", "麻花藤", "黄海峰&qu ...
- 媒体查询漫谈——@media Queries
通过不同的媒体类型和条件定义样式表规则.媒体查询让CSS可以更精确作用于不同的媒体类型和同一媒体的不同条件.媒体查询的大部分媒体特性都接受min和max用于表达”大于或等于”和”小与或等于”.如:wi ...
- springboot使用redis的配置application.yml连接池以及存取
第一步:添加pom文件依赖: <!-- redis --> <dependency> <groupId>redis.clients</groupId> ...
- 成功解决You are using pip version 9.0.1, however version 9.0.3 is available. You should consider upgra
解决问题 You are using pip version 9.0.3, however version 10.0.1 is available.You should consider upgrad ...
- js向一个数组中插入元素的几个方法-性能比较
向一个数组中插入元素是平时很常见的一件事情.你可以使用push在数组尾部插入元素,可以用unshift在数组头部插入元素,也可以用splice在数组中间插入元素. 但是这些已知的方法,并不意味着没有更 ...
- 基于spring的PropertySource类实现配置的动态替换
public class ConfigPropertySource extends PropertySource<Properties> implements PriorityOrdere ...
- memory prefix mini mono multi out _m 5
1● mini 小 迷你 2● mono 单一 ,单 3● multi 多
- 交互式shell编程
FQ #!/usr/bin/env shxfce4-terminal -x sudo python ./local/proxy.py 连续执行 gnome-terminal -x bash -c &q ...
- python运算符号
运算符 比较运算 赋值运算 逻辑运算 成员运算
- shutil 模块
import shutil #用于简化文件操作的模块 # f1 = open(r"D:\上海python全栈4期\day20\7.shutil模块.py","rb&quo ...