数据库基础知识

一、数据库系统

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

相关推荐
MonkeyKing_sunyuhua25 分钟前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
天郁青25 分钟前
数据库交互的本地项目:后台管理系统
数据库·交互
马剑威(威哥爱编程)30 分钟前
MongoDB面试专题33道解析
数据库·mongodb·面试
小光学长1 小时前
基于vue框架的的流浪宠物救助系统25128(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
数据库·vue.js·宠物
零炻大礼包2 小时前
【SQL server】数据库远程连接配置
数据库
zmgst2 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
随心............2 小时前
python操作MySQL以及SQL综合案例
数据库·mysql
€☞扫地僧☜€2 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
CopyDragon2 小时前
设置域名跨越访问
数据库·sqlite
xjjeffery2 小时前
MySQL 基础
数据库·mysql