数据库系统学习笔记
问题:
- 数据库如何设计更合理?
- 数据库的复杂查询如何分解 ?
- 数据在数据库中如何存储?
- 数据库如何保证数据安全、准确?
- 应用程序如何访问数据库?
关系数据库概念:
关系数据库管理系统DBMS:一个应用程序,用于管理数据库的;
关系数据库DATABASE:仓库,用于存放数据的,是物理的概念;
关系数据库模式SCHEMA:也是仓库,逻辑上存放数据的地方(仓库),与DATABASE的关系是:DATABASE : SCHEMA = 1 : N,SCHEMA与用户USER一般是 1 : 1;
关系数据库实例INSTANCE:某一时刻的数据库状态,就是一个数据库实例;
关系数据表TABLE:实际的数据以表结构的形式存在,逻辑上存放在SCHEMA中,物理上存放在DATABASE中;
记录RECORD:表中的每一行,就是一个记录;
属性PROPERTY:表中的每一列,就是一个属性;
值VALUE:一条记录的每个字段,就是一个值;
关系数据库是以表的集合来表示数据和数据间的关系的;
1、数据库设计
设计过程:
- 了解业务的数据需求:产出用户需求规格说明书,参与角色:领域专家、用户、需求分析师
- 根据需求,选择数据模型:数据模型大概包括:关系模型、E-R模型、对象关系模型、半结构化数据模型、网状数据模型、层次数据模型;
- 根据数据模型,进行概念设计:产出表结构、功能需求说明书;
- 逻辑设计:在数据库系统实现表结构;
- 物理设计:指定数据库的物理特性;
总结:一般应用开发的数据库设计,只设计前4个阶段;
E-R图:实体关系模型
数据库范式:
2、数据库操作
数据操纵语言DML:包括数据的增删查改、存储过程等;用于增删查改关系实例;
- 过程化DML:
- 非过程化DML:
数据定义语言DDL:包括数据库、表定义、约束、授权等;用于定义、修改、删除关系模式;
存储管理器:
查询管理器:
3、数据的存储与查询
存储结构
索引
散列