1 关系型数据库理论
1.1 实体-联系模型 E-R
- 实体 Entity:客观存在并可以相互区分的客观事物或抽象事件称为实体,在 E-R 图中用矩形框表示实体,把实体名写在框内
- 属性:实体所具有的特征或性质
- 联系:联系是数据之间的关联集合,是客观存在的应用语义链
- 实体内部的联系:指组成实体的各属性之间的联系。如职工实体中,职工号和部门经理号之有一种关联关系
- 实体之间的联系:指不同实体之间联系。例:学生选课实体和学生基本信息实体之间
- 实体之间的联系用菱形框表示
1.2 联系类型
- 一对一联系(1:1)
- 一对多联系(1:n):外键
- 多对多联系(m:n):增加第三张表
1.3 数据的操作
开发工程师 CURD (Create,Update,Read,Delete)
- 数据提取:在数据集合中提取感兴趣的内容。SELECT
- 数据更新:变更数据库中的数据。INSERT、DELETE、UPDATE
1.4 数据库规划流程
-
收集数据,得到字段
- 收集必要且完整的数据项
- 转换成数据表的字段
-
把字段分类,归入表,建立表的关联
- 关联:表和表间的关系
- 分割数据表并建立关联的优点
- 节省空间
- 减少输入错误
- 方便数据修改
- 规范化数据库
1.5.1 第一范式:1NF
无重复的列,每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性,确保每一列的原子性。除去同类型的字段,就是无重复的列说明:第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库
1.5.2 第二范式:2NF
第二范式必须先满足第一范式,属性完全依赖于主键,要求表中的每个行必须可以被唯一地区分,通常为表加上每行的唯一标识 PK,非 PK 的字段需要与整个 PK 有直接相关性,即非 PK 的字段不能依赖于部分主键
1.5.3 第三范式:3NF
满足第三范式必须先满足第二范式属性,非主键属性不依赖于其它非主键属性。第三范式要求一个数据表中不包含已在其它表中已包含的非主关键字信息,非 PK 的字段间不能有从属关系
1.6 SQL 结构化查询语言简介
SQL:Structure Query Language,结构化查询语言是 1974 年由 Boyce 和 Chamberlin 提出的一个通用的、功能极强的关系性数据库语言
SQL 解释器:将 SQL 语句解释成机器语言
数据存储协议:应用层协议,C/S
- S:server, 监听于套接字,接收并处理客户端的应用请求
- C:Client
客户端程序接口
- CLI
- GUI
应用编程接口
- ODBC:Open Database Connectivity
- JDBC:Java Data Base Connectivity
1.7 SQL 基本概念
- 约束:constraint,表中的数据要遵守的限制
- 主键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;必须提供数据,即 NOT NULL,一个表只能有一个
- 唯一键:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;允许为 NULL,一个表可以存在多个
- 外键:一个表中的某字段可填入的数据取决于另一个表的主键或唯一键已有的数据
- 检查:字段值在一定范围内
- 索引:将表中的一个或多个字段中的数据复制一份另存,并且按特定次序排序存储
1.8 关系运算
- 选择:挑选出符合条件的行
- 投影:挑选出需要的字段
- 连接:表间字段的关联
1.9 数据抽象
- 物理层:数据存储格式,即 RDBMS 在磁盘上如何组织文件
- 逻辑层:DBA 角度,描述存储什么数据,以及数据间存在什么样的关系
- 视图层:用户角度,描述 DB 中的部分数据
1.10 关系模型的分类
- 关系模型
- 基于对象的关系模型
- 半结构化的关系模型:XML 数据
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于