数据库2——概念

这一篇用来做课程前期数据库概念的记录,不会有sql语句。

数据模型

数据模型是现实世界数据特征的抽象,是现实世界的模拟。

分类

数据模型分为两类:

  • 概念模型:按用户观点来对数据和信息建模,用于数据库设计,也称为信息模型。
  • 逻辑模型和物理模型:
    • 逻辑模型:按计算机系统的观点对数据建模,用于DBMS实现
    • 物理模型:是对数据最底层的抽象,描述数据在系统内部的表示方式和存储方法,在磁盘或磁带上的存储方式和存取方法

概念模型

用途:

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

在这里插入图片描述
该图是用于表示概念模型的E-R图,其中方框代表模型的实体,椭圆代表实体的属性,菱形代表实体间的联系。

实体

客观存在并可相互区别的事物,可以是具体的人、事、物,也可以是抽象的概念联系

属性

实体所具有的的某一特性称为属性。实体有若干个属性值来刻画(实体不能只有一个属性)。

码(key)

唯一标识实体的最小属性租称为码,又叫做关键字、键。
关键字可以包含一个属性,也可同时包含多可属性——实体需要多个属性才能唯一标识。
实体可以有一个码,也可同时有多个吗——最小的属性组不止一种。

实体型

用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
在这里插入图片描述
在通常情况下,实体型也称为实体,他们俩区别不大

实体集

同型实体的集合

-----------------------------------------------------------
看到这如果不能分清实体、实体型、实体集可以这样想:一个班级里有小明、小红、小刚三明学生,小明是一个实体,小明和他的一堆属性(姓名,学号等)是一个实体型,小明、小红、小刚加起来是一个实体集。

不看也行:
我们之所以说实体和实体型区别不大,是因为“小明是一个实体”其实是“这名学生是一个实体”,“小明”是这名学生的一个属性,在excel表格中这名学生是其中一行,这一行又包含着这名学生的属性信息,所以这一行也是实体集,即:在excel表格(数据库表)中,一行是一个实体/实体型,整个表是实体集
-----------------------------------------------------------

联系

事物内部的联系:实体内部的联系。
事物之间的联系:实体之间的联系,实体集之间的联系。

联系可以看做一个实体

实体之间的联系:

  • 一对一联系(1:1):
    身份证:一个人只有一张,每一张只能一个人用。
    在这里插入图片描述

  • 一对多联系(1:n):
    手机号:一个人可以有多个,一个手机号只能一个人用,可以没有手机号,可以手机号没人用。
    在这里插入图片描述

  • 多对多联系(m:n):
    共享单车:爱咋用咋用,可以不用,可以没人骑。
    在这里插入图片描述

实体集之间的联系:

实体集的一对一联系没有意义:因为三个实体型以上的1:1联系,可以看成两个实体型的1:1联系链,根据两个实体型1:1联系的特点,三个以上的实体型可以看成一个实体型。

  • 一对多联系:
    在一组实体集中,只要有一组实体集满足以下条件:其他实体集每一个实体,最多和这个实体集中的一个实体相联系,就称为一对多。
    各班级学生名单+优秀学生名单

  • 多对多关系:
    某个实体型与其他实体型有m:n的联系。
    供货商–项目–零件

实体内部的联系:

  • 一对多联系:
    某一学生是全班学生的班长,
    一个学生只有一个班长。

  • 一对一联系:
    一个学生只有一个同桌,
    一个学生只能是另外一个学生的同桌。

  • 多对多联系:
    同班同学中,
    一个学生有许多同乡,
    一个学生可以是其他许多学生的同桌。

逻辑模型(数据模型)

逻辑模型(数据模型)描述系统的静态特性、动态特性和完整性约束条件。

逻辑模型的三要素:

  • 数据结构
  • 数据操作
  • 数据的约束条件(完整性约束)

数据结构

描述数据库的组成对象(数据类型,内容,性质),以及对象之间的联系。

数据结构是对系统静态特性的描述

数据操作

数据操作是指对数据库中的各种对象(型)的实例(值)允许执行的操作的集合,包括操作以及有关的操作规则

数据操作的类型:

  • 检索
  • 更新(包括插入、删除、修改)

数据操作是对系统动态特性的描述

数据的约束条件

是一组完整性规则的集合。

完整性规则:

  • 是给定的数据模型中数据及其联系所具有制约依存规则
  • 是以限定符合数据模型的数据库状态以及状态变化
  • 保证数据的正确、有效、相容

最常用的数据模型

  • 非关系模型
    • 层次模型:用树状结构来表示各类实体以及实体之间的联系。
    • 网状模型
  • 关系模型
  • 面向对象模型
  • 对象关系模型

层次模型的优点:

  • 层次模型的数据结构比较简单清晰
  • 查询效率高,性能优于关系模型,不低于网状模型
  • 层次数据模型提供了良好的完整性支持

层次模型的缺点:

  • 多对多联系表示不自然
  • 对插入和删除操作限制多,应用程序的编写比较复杂
  • 查询子女节点必须通过双亲结点
  • 由于结构严密,层次命令趋于程序化

网状模型的优点:

  • 能够更为直接地描述现实世界,如一个结点可以有多个双亲
  • 具有良好的性能,存取效率高

网状模型的缺点:

  • 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
  • DDL、DML语言复杂,用户不容易使用
  • 记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择合适的存取路径,因此用户必须了解系统结构的细节,加重了编写程序的负担。

关系模型 (重要)

关系模型是目前最重要的一种数据模型。
关系模型是建立在严格的数学概念的基础上的。
用户角度,关系模型中的数据逻辑结构是一张二维表,由行和列组成。
在这里插入图片描述

术语
  • 关系:一张二维表,由行和列组成。->表/实体集
  • 元祖:表中的一行即为一个元祖。->记录/实体
  • 属性:表中的一列即为一个属性。->字段/属性
  • 主码:表中的某个属性组,它可以唯一确定一个元组。
  • 域:属性的取值范围。
  • 分量:元组中的一个属性值。
  • 关系模式:对关系的描述,->表结构/实体型
    一般表示为:关系名/表名(属性集) 或 关系名/表名(属性1,……,属性n)

注意:
在这里插入图片描述

在这里插入图片描述

操纵和完整性约束条件

操纵: 查询、插入、删除、修改。

关系模型操作的特点:

  • 数据操纵都是集合操作
  • 操作对象和操作结果都是关系
  • 关系模型的语言:高度的非过程化

关系的完整性约束条件包括三大类:

  • 实体完整性
  • 参照完整性
  • 用户定义完整性
存储结构

关系模型的存储单元是,表以文件形式存储

优缺点

优点:

  • 建立在严格的数学概念的基础上;
  • 关系模型的概念单一(关系,即表);数据结构简单、清晰,用户易懂易用;
  • 存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,简化了开发工作。

缺点:

  • 由于存取路径对用户透明,查询效率往往不如非关系模型;
  • 因此,为了提高性能,必须对用户的查询请求进行优化,增加了DBMS开发难度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值