目前大多数的数据库都是属于关系型数据库,这些数据库主要有IBM DB2、Oracle、SQL Server、MySQL、SyBase、Infomix、Access、FoxPro等
数据库的三级模式和二级映像
数据库的模式(Schema)是对现实世界的抽象,是对数据库中全体数据的逻辑结构和特征的描述。模式反映的是数据的结构及其联系,数据库系统在其内部具有三级模式和二级映像。三级模式分别为外模式、模式和内模式,二级映像分别是外模式/模式映像和模式/内模式映像。
三级模式
面向用户或应用程序员的用户级、面向建立和维护数据库人员的概念级、面向系统程序员的物理级。
用户级对应外模式、概念级对应模式、物理机对应内模式。
模式
模式对应概念级,它由数据库管理系统提供的数据模式描述语言(Data Description Language ,DDL)来描述、定义的,体现并反映了数据库的整体观。
外模式
外模式对应用户级,用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据库进行操作。
内模式对应物理级,它描述了数据在存储介质上存储方式的物理结构,对应这实际存储在外存储介质上的数据库。
注:DMl语言包括Create、 Read、Update、Delete级CRUD。
DDL语言主要包括Drop、Create、Alter、Grant、Revoke、Truncate等操作
二级映像
外模式/模式映像使数据具有较高的逻辑独立性
模式/内模式映像使数据具有较高的物理独立性
数据库的相关术语
Oracle 11g数据库中每个数据库里面都包含很多对象,主要包括表、视图、存储过程、触发器和约束。
表
在数据库中存放数据用的数据表。每一个数据库中都可以包含多张表,但每张表的表名不能重复。表的每一行代表一条记录,每一列即为一个字段(属性),列名唯一,不能重复。
视图
视图是数据库中的虚拟表。在视图中存放的是从数据库表中查询出来的记录,使用视图主要是为了方便信息的查询,同时也能够缩短查询数据的时间。
存储过程
由SQL语句和控制流语句组成的语句块。存储过程存储在数据库内,可由应用程序通过存储过程的名称调用执行。
存储过程在开发软件时,可以把大量的数据操作放在服务器端的存储过程中,而只返回需要的数据,这样就减少了数据的传输量,速度也大大提高。
触发器
触发器是特殊的存储过程,也是由SQL语句和控制流语句组成的。但是,触发器在数据库中是不需要调用而自动执行的。例如,在触发器中可以定义在修改某张表记录后执行触发器中的内容。
约束
约束是在数据库中保证数据库里表中数据完整性的手段。在oracle 11g中使用的约束有主键约束、外键约束、唯一约束、检查约束、非空约束5个。其中主键约束和唯一约束都被认为是唯一约束,而外键约束被认为是参照约束。
主键(Primary Key)约束
主键约束在每个数据表中只能有一个,但是一个主键约束可以由多个列组成。通常把由多个列组成的主键叫做复合主键或者组合主键。主键约束可以保证主键列的数据没有重复值且值不能为空,也可以说是唯一地标识表中的记录。
外键(Foreign Key )约束
主要是将一个表中的数据和另一张表的数据进行关联。表和表之间的关联是为了保证数据库中数据的完整性,使用外键保证数据的完整性也叫参照完整性。
唯一(unique)约束
设置表中某一列的值不能重复。
检查(check)约束
用来指定表中列的值的取值范围。
非空(not null)约束
用来约束表中的列不能为空
数据库设计的完整性
使用数据库约束就是为了保证数据库完整性的方法。数据库设计的完整性实际上是为了保证数据的正确性。Oracle 11g中涉及的完整性主要有3个,即实体完整性、区域完整性、参照完整性。
实体完整性
实体完整性要求表中的主键字段都不能为空或者重复的值。
区域完整性
区域完整性是保证输入到数据库中的数据都在有效范围内的,可以使用检查约束来设置。
参照完整性
参照完整性可以保证数据库中相关联的表里面数据的完整性,可以使用外键约束来保证参照完整性。确保数据表的参照完整性,就可以避免误删和错加数据