1.1概述
1.1.1 数据库的4个基本概念
1.数据(data)
描述事物的符号记录称为数据。数据的含义称为语义,数据与语义是不可分的。
2.数据库(Database)
3.数据库管理系统(Database Management System, DBMS)
DBMS是位于用户与操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
它的主要功能包括以下几个方面:
数据定义功能:DBMS提供数据定义语言(Data Definition Language,DDL),用户通过它可以方便地对数据库中的数据对象的组成与结构进行定义。
数据组织、存储和管理(文件结构和存取方式)
数据操纵功能(DBMS提供数据操控语言(Data Manipulation Language,DML)进行查询、插入、删除、修改等)
Database的事务管理和运行管理(以保证数据的安全性、完整性、并发使用及故障恢复)
Database的建立和维护功能(数据输入和转换、Database转储、恢复、Database的重组织、性能监视、分析功能等)
其他功能
4.数据库系统(Database System, DBS)
数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(Database Administrator,DBA)组成的存储、管理、处理和维护数据的系统。
1.2 数据模型
1.2.1 数据模型的组成要素
1.数据结构
所研究的对象类型的集合,是刻画一个数据模型性质最重要的方面,
2.数据操作
对数据库中各种对象的实例允许执行的操作的集合。
3.数据的约束条件
是一组完整性规则的集合
1.2.2 概念模型的基本概念
1.实体(Entity)
客观存在并可以相互区别的事物称为实体。
2.属性(attribute)
实体所具有的某一特性称为属性。
3.码(key)
唯一标识实体的属性集称为码。
4.实体型(entity type)
用实体名及其属性名集合来抽象刻画同类实体,称为实体型。例如学生(学号,姓名,性别,出生年月,所在院系,入学时间)就是一个实体型。
5.实体集(entity set)
同一类型实体的集合称为实体集,例如,全体学生就是一个实体集。
6.联系(relationship)
在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反应为实体内部的联系和实体之间的联系。实体内部的联系指组成实体的各属性之间的联系,实体之间的联系通常是指不同属性集之间的联系。
1.一对一联系
如果对于实体集A中的每个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。
2.一对多联系
如果对于实体集A中的每个实体,实体集B中有n个实体()与之联系,反之对于实体集B中的每个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多关系。
3.多对多联系
如果对于实体集A中的每一个实体,实体集B中有n个实体()与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体()与之联系,则呈实体集A与实体集B具有多对多联系。
7.域(domain)
属性的取值范围
概念模型的表达方法
E-R模型
实体-联系模型(Entity-Relationship Approach)
菱形代表关系,方框代表实体名,椭圆形代表属性,直线代表连接。
1.2.3 最常用的数据模型
层次模型和网状模型同属于非关系模型,在非关系模型中,实体用记录表示,实体的属性对应记录的数据项,实体之间的联系转换成记录之间的两两联系。
1.层次模型(Hierarchical Model)
2.网状模型(Network Model)
3.关系模型(Realtional Model)
1.关系(Relation)
一个关系对应通常说的一张表。
2.元组(Tuple)
表中的一行(一条记录)
3.属性(Atrribute)
表中的一列(字段、数据项)
4.主码(Primary Key)
表中的某个属性组,可以唯一确定一个元组
5.域(Domain)
属性的取值范围
6.分量
某元组的一个属性值;分量为最小单位,不可分。
7.关系模式
对关系的描述,一般表示为:关系名(属性1,属性2,...,属性n)
4.面向对象模型(Object Oriented Model)
1.3 数据库系统结构
从DBMS的角度可将系统结构分成:外模式(External Schema)、模式(Schema)、内模式(Internal Schema)。
从用户的角度可将系统结构分成:集中式结构、分布式结构、客户/服务器结构、并行结构.
1.3.1 数据库系统模式的概念
型(Type):对某一类数据的结构和属性的说明
值(Value):是型的一个具体赋值
模式(Schema):数据库中全体数据的逻辑结构和特征的描述。
实例(Instance):模式的一个具体的值,反映数据库某一时刻的状态。
数据库的二级映像功能与数据独立性
外模式/模式映像
同一个模式可以有多个外模式,当模式改变时,由DBA对各个外模式/模式的映像作相应改变,可使外模式保持不变,从而应用程序不用修改,实现了数据与程序的逻辑独立性。
模式/内模式映像
在DB存储结构改变时,由DBA对各个模式/内模式的映像做相应改变,可使模式不变,从而应用程序不必做修改,实现了数据与程序的物理独立性。