常用的数据模型

一、定义

  • 数据模型是对现实世界数据特征的抽象;通俗的讲数据模型就是现实世界的模拟;
  • 数据模型是严格定义的一组概念的集合
  • 是用来抽象、表示和处理现实世界中的数据和信息的工具
  • 是对现实世界的模拟
  • 是数据库系统的核心和基础

二、类型

  • 概念数据模型
  • 逻辑数据模型
  • 物理数据模型

三、作用

精确的描述了系统的静态特性、动态特性和完整性约束条件(Integrity Constraints)。

四、数据模型要求

  • 真实的模拟现实世界
  • 容易为人所理解
  • 便于在计算机上实现

五、组成元素

  • 数据结构:描述系统的静态特性;
  • 数据操作:描述系统的动态特性;
  • 完整性约束

六、模型类型

  • 网状模型:成网状

    • 特点

      • 允许有一个以上的节点无双亲,至少有一个节点可以有多于一个的双亲。【一个节点有多个双亲,结点之间可以有多中联系】
  • 层次模型:成树状
    • 特点

      • 有且只有一个结点没有双亲结点(这个结点叫根结点);
      • 除根结点外的其他结点有且只有一个双亲结点.
  • 关系模型:成二维表状,平常的数据表就是关系模型
    • 介绍

      • 关系(Relation):一个关系对应着一个二维表,二维表就是关系名。
      • 元组(Tuple):在二维表中的一行,称为一个元组。
      • 属性(Attribute):在二维表中的列,称为属性。属性的个数称为关系的元或度。列的值称为属性值;
      • (值)域(Domain):属性值的取值范围为值域。
      • 分量:每一行对应的列的属性值,即元组中的一个属性值。
      • 关系模式:在二维表中的行定义,即对关系的描述称为关系模式。一般表示为(属性1,属性2,......,属性n),如老师的关系模型可以表示为教师(教师号,姓名,性别,年龄,职称,所在系)。
      • 键(码):如果在一个关系中存在唯一标识一个实体的一个属性或属性集称为实体的键,即使得在该关系的任何一个关系状态中的两个元组,在该属性上的值的组合都不同。

七、用途

  • 概念模型用于信息世界的建模;
  • 是现实世界到机器世界的一个中间层次;
  • 是数据库设计的有力工具;
  • 数据库设计人员和用户之间进行交流的语言。

八、一般的表示方法:E-R图

九、基本概念

  • 实体

    • 客观存在并课相互区别的事物成为实体。可以是具体的人、事、物或抽象的概念。
  • 属性(Attribute):
    • 实体所具有的某一特性成为属性,一个实体可以由若干个属性来刻画。
  • 码(key):
    • 唯一标识实体的属性集为码。
  • 实体型:
    • 用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
  • 联系(relationship):
    • 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
    • 实体内部的联系:是指组成实体的各属性之间的联系。
    • 实体之间的联系:通常指不同实体集之间的联系。
    • 实体之间的联系有1:1;1:多(1:m);多:多(m:n)等多种类型

十、三级模型结构

数据库系统的三级模式结构是指模式、外模式和内模式。

  • 模式

    • 模式也称为逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,模式位于三级结构的中间层。
  • 外模式
    • 外模式也称为用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式。
  • 内模式
    • 内模式也称为存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

十一、二级映射

数据库管理系统在三级模式之间提供了两层映射,分别为外模式/模式映射、模式/内模式映射

  • 外模式/模式映射

    • 对于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射。当模式被改变时,数据库管理员对各个外模式/模式映射做相应的改变,可以使外模式保持不变。这样,依据数据外模式编写的应用程序就不用修改,保证了数据与程序的逻辑独立性。
  • 模式/内模式
    • 数据库中只有一个模式和一个内模式,所以模式/内模式的映射是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构被改变时,数据库管理员对模式/内模式映射做相应的改变,可以使模式保持不变,应用程序相应地也不做变动。这样,保证了数据与程序的物理独立性

MySQL:常用的数据模型的更多相关文章

  1. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  2. MySQL常用命令和常见问题

    MySQL常用命令和常见问题 --创建数据库并设置字符集 create database wip default character set utf8 collate utf8_general_ci; ...

  3. mysql常用基本操作

    mysql常用操作 查看都有哪些库 show databases; 查看某个库的表 use 库名; show tables; 查看表的字段 desc 表名; 当前是哪个用户 select user() ...

  4. MySQL 常用的sql语句小结(待续)

    mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...

  5. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  6. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  7. MySQL数据库3 - MySQL常用数据类型

    一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的       ---> 数 ...

  8. MYSQL常用内置函数详解说明

    函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...

  9. mysql常用函数参考

    mysql常用函数参考   对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...

随机推荐

  1. Bacterial Melee CodeForces - 756D (dp去重)

    大意: 给定字符串, 每次可以任选一个字符$x$, 将$x$左侧或右侧也改为$x$, 求最终能得到多少种字符串. 首先可以观察到最终字符串将连续相同字符合并后一定是原字符串的子序列 并且可以观察到相同 ...

  2. python记录_day04 列表 元组

    今日主要内容: 列表 和 元组 列表 一.列表介绍 列表是一种能存储大量数据的数据结构,是能装对象的对象.由方括号 [] 括起来,能放任意类型的数据,数据之间用逗号隔开 列表存储数据是有顺序的 二.增 ...

  3. 『TensorFlow』SSD源码学习_其三:锚框生成

    Fork版本项目地址:SSD 上一节中我们定义了vgg_300的网络结构,实际使用中还需要匹配SSD另一关键组件:被选取特征层的搜索网格.在项目中,vgg_300网络和网格生成都被统一进一个class ...

  4. Mac实现远程服务器登录管理

    在MAC上还没发现xshell一样的终端工具.不过mac的终端命令,可以写好多脚本来管理. 首先想到的就是把服务器IP及密码使用shell管理起来,以便下次登录的时候不用在重新输入,或者只输入代号就行 ...

  5. 使用AdminLTE 在content区,打开相应网页

    参考:https://bbs.csdn.net/topics/391846671 问: 比如打开starter.html,然后点击其左边栏的链接(如user.html)的时候,怎么实现在右边的cont ...

  6. centos命令行系列之centos6防火墙的关闭以及开启

    输入:cat /etc/issue   查看版本 (一)通过service命令 注:service命令开启以及关闭防火墙为即时生效,下次重启机器的时候会自动复原 查看防火墙状态:service ipt ...

  7. 十五、MVC的WEB框架(Structs2)

    一.Structs标签 与JSTL标签库类似,Structs2也有专属标签库 常见的标签有:from,iterator,check,radio,select 1.form标签 用于提交数据 <% ...

  8. 微信小程序 获取位置、移动选点、逆地址解析

    WGS- 地心坐标系,即GPS原始坐标体系.在中国,任何一个地图产品都不允许使用GPS坐标,据说是为了保密.GoogleEarth及GPS芯片使用. .GCJ-02火星坐标系,国测局02年发布的坐标体 ...

  9. C#实体对象序列化成Json并让字段的首字母小写的两种解决方法

    引言:最近在工作中遇到与某些API对接的post的数据需要将对象的字段首字母小写.解决办法有两种:第一种:使用对象的字段属性设置JsonProperty来实现(不推荐,因为需要手动的修改每个字段的属性 ...

  10. CentOS7和CentOS6的区别

    1.文件系统 centos6--ext4 centos7--xfs 说明:fdisk等磁盘操作命令使用都一样,只是格式化磁盘时使用mkfs.xfs而不要用mkfs.ext4,ext4的文件系统在cen ...