数据库基础知识

一、数据库系统

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.事物的性质

相关推荐
难以触及的高度17 分钟前
mysql中between and怎么用
数据库·mysql
Jacky(易小天)31 分钟前
MongoDB比较查询操作符中英对照表及实例详解
数据库·mongodb·typescript·比较操作符
Karoku0661 小时前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch
小技与小术2 小时前
数据库表设计范式
数据库·mysql
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验九 触发器
数据库·sql·mysql·oracle·实验报告
Loganer2 小时前
MongoDB分片集群搭建
数据库·mongodb
LKID体3 小时前
Python操作neo4j库py2neo使用之创建和查询(二)
数据库·python·neo4j
刘大浪3 小时前
后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用
数据库·spring boot·mybatis
一只爱撸猫的程序猿3 小时前
简单实现一个系统升级过程中的数据平滑迁移的场景实例
数据库·spring boot·程序员