自己学习Oracle的相关笔记,主要备忘,并不详细,如有错误欢迎大家指正~~~
数据库基础
1. 数据库模型
- 层次结构模型
- 网状结构
- 关系结构模型
2. 三层模式(Schema)和二级映像
- 三级模式
- 外模式:用户级,某个或者几个用户所看到的数据库的数据视图,是模式的子集,DML(CRUD)语言来操作数据
- 模式:概念级,数据库中全体数据逻辑结构和特征的描述,公共视图,由DDL来描述定义,体现了整体性
- 内模式:物理级,数据库中全体数据的内部表示或底层描述,数据库中最底层的逻辑描述
- 二级映像
- 外模式/模式映像:使数据具有较高的逻辑独立性
- 模式/内模式映像:使数据具有较高的物理独立性
3. 术语
- 表
- 视图:虚拟的表,其中存放着从数据库表中查询出来的记录,方便信息查询,缩短查询时间
- 存储过程:由SQL语句和控制流语句组成的语句块,存储在数据库内,可由应用程序调用,在开发时可将大量数据操作放在服务器中进行,只返回数据,减少了数据传输量,提高速度
- 触发器:特殊的存储过程,被动被触发执行
- 约束
- 主键(primary key)约束:每个表只能有一个,不能重复不为空
- 外键(foreign key)约束:把一个表的数据和另一个表的数据相关联,保证数据的完整性(参照完整性)
- 唯一(unique)约束:约束表中列不能重复,可以有多个
- 检查(check)约束:保证数据不越界
- 非空(not null)约束:列不为空
4. 范式
- 第一范式:确保每列的原子性,不可再分
- 第二范式:确保每个表只描述一件事
- 第三范式:确保每列都和主键列直接相关
5. E-R图(Entity-Relationship)
- 实体(Entity)-属性(Attribute)-联系(Relationship)
- 一对一(1:1),一对多(1:n),多对多(n:n)
SQL基础
1. SQL分类
- 数据定义(DDL):定义数据库中数据如何存储,对数据库中对象(数据库、数据表、视图、索引等)的创建、修改、删除的操作
- 数据操作(DML):对数据库表进行操作,对表中数据进行增加、删除、修改
- 数据查询(DQL):对数据库表中数据进行查询
- 数据控制(DCL):对数据库中对象权限进行权限设置和取消等操作