数据库笔记
什么是数据库
数据抽象:数据的定义与应用程序相分离。
ER图:实体与属性
可以用ER图表示数据库,包括:
-
实体
-
联系
-
属性
视图机制
一个
视图
实际上是数据库的一个子集
不是所有人都想/应该看到数据的全部,视图机制提供:
-
保密级别
-
自定义数据库外观
-
程序数据独立性:数据库已经被改变,但外观仍保持一致
数据库的结构
-
数据表(Tables):数据表是数据库中的主要组成部分,用于存储数据。每个数据表包含多个列,用于定义数据的结构。
-
列(Columns):列是数据表中的字段,用于存储特定类型的数据。每列都有一个数据类型和约束,以定义它可以存储的数据内容。
-
数据行(Rows):数据行是实际存储在数据表中的数据记录。每一行包含了表中各列的具体数据值。
-
主键(Primary Key):主键是一个唯一标识数据表中每行数据的列。它确保每行都有唯一的标识符,用于快速检索和关联数据。
-
外键(Foreign Key):外键是一个列或一组列,用于建立不同数据表之间的关系。它们用于维护表之间的引用完整性,确保关联的数据的一致性。
-
索引(Indexes):索引是一种优化数据库性能的结构,它加速了数据的检索操作。索引可以建立在一个或多个列上,允许快速查找数据。
-
视图(Views):视图是一个虚拟表,它是基于一个或多个实际数据表的查询结果。视图可以简化数据访问,并提供安全性和数据抽象。
-
存储过程(Stored Procedures):存储过程是一组SQL语句的集合,可以被数据库执行。它们可以用于实现业务逻辑、数据转换和数据验证。
-
触发器(Triggers):触发器是与数据表相关联的一段代码,它会在表上的特定事件发生时自动触发。触发器用于实现自动化操作和数据约束。
-
索引(Functions):函数是数据库中可重复使用的程序代码块,用于执行特定操作或计算。数据库可以提供内置函数,也可以创建用户自定义函数。
chap2 数据库环境
ANSI-SPARC三层体系结构
数据库语言
-
数据定义语言(DDL)
-
数据操作语言(DML)
- 过程化DML:检索嵌套依赖
- 非过程化DML:一步得出结果
数据模型
-
基于对象的数据模型
- 实体
- 属性
- 行为
- 实体
-
基于记录的数据模型
-
关系数据模型
数据按照表格组织,每个表格有Unique的列,表格间通过相同的内容可以建立间接连接,但没有显示连接。
关系数据模型只适用于外部层和概念层
-
网状数据模型
数据被表示为一组
record
成为图的节点,联系通常用指针实现被表示为set
成为图的边 -
层次数据模型
一个节点只能有一个父节点,成为树形结构
chap3 数据库的结构与web
DBMS的组件
-
系统目录(System Catalog)是数据库管理系统(DBMS)内部的元数据(metadata)存储区域,用于描述和记录数据库中的对象、结构、关系和属性等信息。系统目录是DBMS的内部数据库,其中存储了有关数据库自身的信息,以便DBMS能够有效地管理和操作数据库。
chap5:关系代数与关系演算
1 | ssh -t -p 10002 2021010803@166.111.121.61 mysql -hdb -u2021010803 -p |
1 | mysql -h166.111.121.61 -P10001 -u2021010803 -p fde4dbf05ccfc9234b0bf26f853fa051 |