数据库基础理论知识

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对关系完整性的支持

相关推荐
星云API技术笔记21 分钟前
企业微信外部群机器人实战:多人同时咨询时,如何准确匹配消息与回复对象
数据库
ClouGence22 分钟前
开源数据库管理工具 CloudDM 4.4.0 发布,新增 Kafka、SAP HANA 数据源
数据库·kafka
瀚高PG实验室35 分钟前
业务无法通过hgproxy访问数据库
数据库·postgresql·瀚高数据库
鱼很腾apoc42 分钟前
【MySQL】 第1期 从核心概念到表约束全解析
linux·c语言·数据库·学习·mysql
10mAh1 小时前
【SQL】NOT IN 遇到 NULL 为什么返回空集?三值逻辑与反关联实战
jvm·数据库·sql
Alinket1 小时前
毫米波雷达 vs 摄像头 vs 手环:养老跌倒监测三类方案怎么选
网络·数据库·健康医疗·信息与通信·iot
七夜zippoe1 小时前
Agent 权限边界:别让 AI 误删你的生产库(安全设计)
数据库·人工智能·安全·ai·权限边界·安全设计
泡海椒2 小时前
JQuickExcel 批量导入:用 importDataInBatch 控制大文件消费边界
数据库·oracle
码流子2 小时前
事件告警延迟拆解:从摄像头到手机通知,延迟卡在哪六个环节
数据库·人工智能·物联网
啵啵啵鱼2 小时前
对数据的增删改查
数据库·mysql·ai·idea·ai编程·navicat·obsidian