数据库基础知识

一、数据库系统

1.数据库系统的基本概念

数据data:描述事物的符号记录,可以是文字、图形、图像、声音和语言等

数据库database:长期存储在计算机内、有组织、可共享的数据集合

数据库管理系统DBMS:由数据库、硬件、软件和人员4大部分组成,主要功能有数据定义,数据库操作,数据库运行管理,数据组织、存储和管理,数据库的建立和维护及其它功能

大数据的特征:

无法用拥有的软件工具提取、存储、搜索、共享、分析和处理的海量的、复杂的数据集合。特点如下:

  • Volume(大量化)
  • Velocity(快速化)
  • Variety(多样化)
  • Value(价值密度低)

2.三层模式两层映射


3.数据库的设计过程


4.数据模型

概念数据模型/信息模型

按用户的观点对数据和信息建模,是现实世界的第一层抽象,主要用于数据库设计。

  • E-R模型(实体联系模型)

基本数据模型

按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现。

  • 层次模型:用树形结构表示实体及其之间的联系
  • 网状模型:用网状结构表示实体及其之间的联系
  • 关系模型:用二维表结构表示实体及其之间的联系
  • 面向对象模型:采用面向对象的方法来设计数据库。以对象为单位,每个对象包含对象的属性和方法。用对象、类型、继承和方法等基本面向对象技术构造的实体及其之间的联系

数据模型的三要素

  • 数据结构: 是所研究的对象类型的集合,是对系统静态特性的描述
  • 数据操作: 对数据库中各种对象的实例允许执行的操作的集合,包含操作及操作规则,是对系统动态特性的描述
  • 数据的约束条件: 是一组完整性规则的集合。对于具体的应用数据必须遵循特定的语义约束条件,以保证数据的正确、有效和相容
    • 实体完整性约束: 规定基本关系R的主属性A不能取空值
    • 参照完整性约束: 关系模型中实体与实体间的联系
    • 用户自定义完整性约束: 针对某一具体的关系数据库的约束条件,所涉及的数据必须满足的语义要求,由环境决定。

二、数据流图

数据流图:是一种结构化涉及工具,以图形的方式描绘数据在系统中流动的处理的过程

1.数据流图

外部实体:系统中数据的外部来源和去处。存在于系统之外的人员、组织或其它系统。

加工:对数据的逻辑处理功能,也可看作是对数据的变换操作。别民:处理、功能

数据存储:表示某种数据保存后的逻辑统称(一般名称是XX文件,XX表)

数据流:加工功能的输入数据或输出数据

  • 流入数据存储的数据流:将加工后的数据写入或修改到数据存储中
  • 流出数据存储的数据流:从数据存储中查询查询获取数据,不改变原数据

2.其它需求分析工具

除了数据流图,在需求分析阶段还会用到以下工具:

  • 数据字典: 定义数据流图中各个成分的具体含义,为系统的分析、设计及维护提供了有关元素一致定义和详细描述。包含4类条目:数据流、数据项、数据存储和基本加工。
  • 判定表: 描述加工逻辑,对于不同条件的不同处理方式。定义条件取值的组合及定义在各种取值的组合下应执行的动作
  • 判定树: 与判定表相同,也能用于表示问题逻辑中的条件和动作的对应关系。判定树用内部节点表示问题中的条件,用叶子节点表示活动,用根节点表示问题的名字。

三、概念模型

1.ER模型


四、关系模型

1.规范化理论-主键

主键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可能成为一个主键。

主键是唯一的(实体完整性)

一个数据表中只能包含一个主键。候选键是对具有关系键特性的一个或多个属性(组)的统称。一个数据表中可以有多个候选键。

比如:

学生表(学号,姓名,身份证号,性别,班级)

课程表(课程编号,课程名,学分)

成绩表(学号,课程号,成绩)
复合键: 符合键(组合键)将多个列作为一个索引键,一般用于符合索引。
外键: 用于与另一张表的建立关联。能确定另一张表记录的字段,保持数据的一致性,比如,A表中的一个字段,是B表的主键,那它就是A表的外键。

2.E-R图转关系模式

  • 一个实体型转换为一个关系模式
  • 联系转关系模式:

1:1联系:可将联系合并至任意一端的实体关系模式中

1:n联系:可将联系合并至n端实体关系模式中

m:n联系:联系必须单独转成关系模式

  • 三个以上实体间的一个多元联系

五、关系运算

1.并、交、差

列: 一列(数据元素)包含了相同的数据,例如邮政编码的数据
行: 一行(元组,或记录)是一组相关的数据,例如一条用户订阅的数据

2.笛卡尔积、投影和选择

3.自然连接

六、SQL语言

1.创建表


2.修改与删除

3.数据更新

4.创建索引

5.查询语句

6.别名和匹配

七、数据库控制

1.数据库的控制功能


2.事物的性质

相关推荐
.生产的驴2 分钟前
SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理
java·数据库·spring boot·后端·spring·eclipse·maven
AnsenZhu14 分钟前
2025年Redis分片存储性能优化指南
数据库·redis·性能优化·分片
oydcm31 分钟前
MySQL数据库概述
数据库·mysql
oioihoii42 分钟前
C++23中if consteval / if not consteval (P1938R3) 详解
java·数据库·c++23
带娃的IT创业者1 小时前
《AI大模型趣味实战》基于RAG向量数据库的知识库AI问答助手设计与实现
数据库·人工智能
husterlichf2 小时前
MYSQL 常用数值函数 和 条件函数 详解
数据库·sql·mysql
我的golang之路果然有问题2 小时前
快速了解redis,个人笔记
数据库·经验分享·redis·笔记·学习·缓存·内存
卡皮巴拉爱吃小蛋糕2 小时前
MySQL的MVCC【学习笔记】
数据库·笔记·mysql
农民也会写代码2 小时前
dedecms织梦arclist标签noflag属性过滤多个参数
开发语言·数据库·sql·php·dedecms
m0_748232923 小时前
你还在手动画ER图吗?让SQL自动生成ER图,轻松解决作业难题!
数据库·sql·oracle