一 数据处理方式
文件系统管理方式:
数据冗余
数据访问困难
数据孤立
一致性,安全性,完整性得不到保证
原子性问题
并发访问异常
二 文件
表示层
文件
逻辑层
文件系统:存储引擎
物理层
元数据
数据:数据块
关系型数据库
表示层:表
逻辑层:存储引擎
物理层:数据文件
三 关系模型
关系模型
实体-关系模型
对象关系模型
半结构化数据模型:XML(扩展表记语言)
四 SQL
system R:SQL 世界上第一台关系型数据库
约束 constraint
域约束:数据类型约束
外键约束:引用完整性约束
主键约束:某字段能唯一标识此字段所属的实体,并且不能为空,一张表中只能有一个主键
候选键:
唯一性约束:每一行的某字段都不允许出现相同值,可以为空,一张表中可以有多个
检查性约束:age: int
五 数据存储和查询
存储管理器
权限及完整性管理器
事物管理器
文件管理器
缓冲区管理器
查询管理器
DML解释器
DDL解释器
查询执行引擎
单进程多线程,守护线程,应用线程
关系运算:
投影:只输出指定属性 列
选择:只输出指定记录 行
自然连接:具有相同名字的所有属性值上取值相同的行
笛卡尔积;
并;集合运算
SQL查询语句:
DDL
DML
DCL
使用程序设计语言如何跟RDBMS交互:
嵌入式SQL;与动态SQL类似,但其语言必须升序编译时完全确定下来(0DBC)
动态SQL: 程序设计语言使用函数(mysql_connect())的方法与RDBMS服务器建立连接, 并进行交互,通过建立连接向SQL服务器发送查询语句,并将结果保存至变量中 而后进行处理(JDBC)
Mysql插件式存储引擎
5.5.8之前: Myisam 不支持事务 适合查询比较多,修改比较少的场景中,特别适用于应用数据仓库
5.5.8之后: innoDB 支持事务 适用于在线事务处理