数据库系统:包括数据库、数据库管理系统、数据库的用户和支撑数据管理系统运行的软硬件。
模式是数据库中全体数据的逻辑结构和特征描述。数据库系统的三级模式:内模式(物理层)、概念模式(逻辑层)、外模式(用户层)。
概念模式:也称模式,反映的是数据库的结构及联系。
外模式:也称用户模式或子模式,是用户与数据库系统的接口。
内模式:也称存储模式,是数据在数据库内部的表示方式。
数据库系统的两级映射:外模式/模式映射和模式/内模式映射。
(1)外模式/模式映射:当模式改变时,由数据库管理员对各个外模式/模式的映射做出相应的改变,可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(2)模式/内模式映射:当数据的存储结构改变时,由数据库管理员对模式/内模式映射做出相应的改变,可以是模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性。
数据与程序之间的独立性使得数据的定义和描述可以从应用程序分离出去。由于数据的存取由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
数据库系统的体系结构:集中式数据库系统、并行数据库系统、客户-服务器模式结构和分布式数据库系统。
概念数据模型:按用户的观点对数据和信息建模,也称信息模型,E—R模型,主要用于数据库设计。
基本数据模型:按计算机的观点对数据和信息建模。用于数据库管理系统的实现。分类:层次模型、网状模型、关系模型、面向对象数据模型。
数据模型的三要素:数据结构、数据操作、数据的约束条件。
E-R模型:即采用实体-联系方法来描述的概念模型。
(1)实体:是现实世界中,可以区别于其他对象的事件或物体。E-R模型中用矩形表示。
(2)联系:实体间的联系通常指不同实体集之间的联系。E-R模型中用菱形表示。分类:2个不同实体之间的联系;2个不同实体集之间的联系;同一实体集内的二元联系。
(3)属性:简单属性和复合属性;单值属性和多值属性、NULL属性和派生属性。一个实体可以有很多特性,每个特性称为一个属性,每个属性有一个值域。
(4)码:唯一标识实体的属性集称为码。
(5)实体型:实体名以及属性名集合来抽象和刻画同类实体,称为实体型。
(6)实体集:同一类型实体的集合称为实体集。
(7)表示方法:E-R图
(8)弱实体、特殊化、概括和聚集
弱实体:以另一个实体为前提的实体。例如:职工家属与职工,家属即为弱实体。
特殊化:子类、超类。
层次模型:采用树形结构表示数据与数据之间的联系。每个节点表示一个记录类型(实体),记录之间的联系用节点间的连线表示。
表示多对多联系的方法:冗余节点法;虚拟节点分解法。
网状模型:采用网络结构表示数据与数据之间的联系,也称DBTG模型
关系模型:目前最常用的数据模型之一;用表格结构表达实体集以及实体集之间的联系。描述的一致性。
面向对象模型:对象关系数据库
对象是现实世界中实体的模型化,与记录、元组的概念相似。每一个对象都有一个唯一的标识,称为对象标识。
封装:针对对象的状态和行为;
E-R模型转换为关系模型的规则:
(1)一个实体型转换为一个关系,实体的属性即关系的属性,实体的码就是关系的码。
(2)一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(3)一个1:N的联系可以转换为一个独立的关系模式,也可以与N端的关系模式合并。
(4)一个M:N的联系只能转换为一个独立的关系模式。
(5)三个或三个以上的实体间的多元联系可以转换为一个关系模式。
事务管理:是一个操作序列,一个程序可以包含多个事物。
事务的特点:原子性、一致性、隔离性、持久性。事务是恢复和并发的基本单元。
事务执行的五种状态:活动状态、部分提交状态、失败状态
事务对数据库的修改内容被严格的按照执行事件顺序记录在日志中。
事务的分类:显示事务、隐式事务、自动事务模式(SQL SERVER默认的);
显示事务:
begin transaction --语句开始
commit transaction / commit work --事务结束 执行成功
rollback transaction / rollback work --事务结束 执行失败
隐式事务:
所有的create语句,alert table ,所有的drop语句,Truncate,table,grant,revork,insert,delete,update,select,
open,fetch都会重新启动一个事务。
set Implicit Transactions on --隐式事务打开
set Implicit Transactions off --隐式事务关闭
并发操作:在用户共享的系统中,许多用户可能同时对同一数据进行操作。
事务并发的数据问题:丢失修改或被覆盖、读脏数据、不能重复读、读幻影。
并发控制技术:共享锁、排它锁
共享锁:用于只读操作,它允许多个事务对资源锁定进行读取,但禁止其它事务对锁定资源进行修改。
排它锁:它锁定的资源不能在被其它的事务锁定,所以其它事务不能读取和修改。