数据库基础理论知识

1.基本概念

  • 数据(Data):数据库存储的基本对象。数字、字符串、图形、图像、音频、视频等
  • 数据库(DB):在计算机内,永久存储、有组织、可共享的数据集合
  • 数据库管理系统(DBMS):管理数据库的系统软件
  • 数据库系统(DBS):DB+DBMS+DBA+DBAP

数据库系统的特点

  • 数据结构化
  • 数据的共享性高
  • 冗余度低,易扩充
  • 数据独立性高
  • 数据由DBMS统一管理和控制

2.三级模式两层映像

模式(schema)

对数据库中数据所进行的一种结构性的描述,是对视图的抽象

视图(view)/数据(data)

采用某种表现形式表现出来的数据库中的数据

三级模式

优点:使用户能按日常逻辑抽象地处理数据,而不必关心数据在计算机中的 表示和存储

两层映像

两个独立性

3.数据模型

  • 数据模型:数据结构+数据操作+完整性约束
  • 数据模型是对模式的抽象,模式是对数据的抽象
  • 三大经典数据模型:层次模型、网状模型、关系模型

关系模型示例

层次模型示例

网状模型示例

4.关系模型概述

  • 形象的说,一个关系就是一个表
  • 严格的说,笛卡尔积中具有某种意义的那些元组被称作一个关系
  • 关系模型三要素:数据结构,对数据的操作(关系运算),对数据的完整性约束
  • 关系运算:关系代数和关系演算。关系演算又分为:元祖演算和域演算
  • 由于关系的不同列的取值可能来自同一个域,为区分,需要为每一列起一个名 字,该名字即为属性名
  • 关系模式是关系的抽象

关系的特性

列是同质:即每一列中的分量来自同一域,是同一类型的数据

不同的列可来自同一个域,称其中的每一列为一个属性,不同的属性要给予 不同的属性名。

列位置互换性:表中的每列可以相互交换顺序,区分哪一列是靠列名

行位置互换性:区分哪一行是靠某一或某几列的值(候选码)

关系与表的区别:理论上,关系的任意两个元组不能完全相同。(集合的要求:集合内不能有 相同的两个元素),但现实应用中,表(Table)可能并不完全遵守此特性

关系模式中的完整性约束

实体完整性:关系的主码中的属性值不能为空值

参照完整性:如果关系R1的外码F与关系R2的主 码P相对应,则R1中的每一个元组的 F列的取值只有两种情况:①存在于R2的P列取值的集合② 空值

用户自定义完整性:用户自己定义的,对属性或属性组的值的约束条件

DBMS对关系完整性的支持

相关推荐
tatasix39 分钟前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。1 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了1 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度1 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
天海华兮1 小时前
mysql 去重 补全 取出重复 变量 函数 和存储过程
数据库·mysql
gma9992 小时前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️2 小时前
华为ASP与CSP是什么?
服务器·前端·数据库
Yz98762 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
苏-言3 小时前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
Ljw...3 小时前
索引(MySQL)
数据库·mysql·索引