关系模型
- 关系模型
- 实体关系模型
- 对象关系模型
- 半结构化数据模型 XML(扩展标记语言)
数据语言
- DML 数据操作语言 INSERT DELETE SELECT UPDATE
- DDL RDB 数据定义语言 库,表,索引,视图,触发器,事件触发器
CREATE DROP ALTER- 明确定义数据约束 数据库约束
- 域约束
- 外键约束 引用完整性约束 参考完整性约束 降低数据冗余
- 主键约束:某字段能唯一标识此字段所属的实体,并且不允许为空
一张表只有一个主键 - 唯一性约束 每一行的某字段都不允许出现相同值,可以为空
唯一键可以有多个 - 检查性约束 age int MYSQL支持有限
- DCL 数据控制语言 GRANT REVOKE 用户的访问权限
关系型数据库层次
- 表示层: 表
- 逻辑层: 存储引擎,解构
- 物理层:数据文件(文件表示层)
数据存储和查询
- 存储管理器
- 权限以及完整性管理器
- 事物管理器
- 文件管理器
- 缓冲区管理器
- 查询管理器
单进程
- 多进程
- 守护现场
- 应用线程
- 数据库模块是系统中最慢的,尽可能避免与数据库交互
- Thread reuse
- mysql使用的内存量有用 SMP对称多处理器 可扩展能力强
- 加中间层来进行平行扩展
关系运算:
投影: 只输出指定属性
选择: 只输出符合条件的行 where
自然连接: 具有相同名字的属性上所有值相同的行
笛卡尔积:
并集 union 集合运算
SQL查询语句
- SQL-86
- SQL-89
- SQL-92
- SQL-99
- SQL-03
- SQL-08
SQL语言的组成部分
- DDL
- DML
- 完整性定义语言 DDL的一部分功能
- 视图定义语言
- 事物控制
- 嵌入式和动态SQL语言
- DCL 授权
- select 语句最复杂
使用程序设计语言跟RDBMS交互,嵌入式SQL
JDBC,ODBC,