其中第2个数据库的两个特点:集成性、共享性
其中第5个数据库用户:使用数据库的人,对数据库进行存储、维护和检索等操作 。
第一类用户:最终用户(End User)
第二类用户:应用程序员(Application Programmer)
第三类用户:数据库管理员(DataBase Administrator,DBA)
其中第4个数据库管理系统:(DataBase Management System, DBMS),DBMS是数据库系统的核心软件。
(1) 数据定义功能
DBMS提供数据定义语言(Data Define Language,DDL)
定义数据的模式、外模式和内模式三级模式结构;
定义模式/内模式和外模式/模式二级映像;
定义有关的约束条件。
(2)== 数据操纵功能==
DBMS提供数据操纵语言(Data Manipulation Language,DML)实现对数据库的基本操作,包括检索、更新(包括插入、修改和删除)等
DML有两类:
一类是自主型的或自含型的,可单独使用;另一类是宿主型的,需要嵌入在高级语言中,不能单独使用
(3)数据库运行管理功能
是DBMS的核心部分;DBMS通过对数据库的控制以确保数据正确、有效和数据库系统的正常运行。
(4)数据库的建立和维护功能
由DBMS的各个实用程序完成相关功能:
数据库的建立包括数据库的初始数据的装入与数据转换等;数据库的维护包括数据库的转储、恢复、重组织与重构造、系统性能监视与分析等。
(5)数据组织、存储和管理
DBMS负责对需要存放的各种数据的组织、存储和管理工作,确定以何种文件结构和存取方式物理地组织这些数据,以提高存储空间利用率和对数据库进行增、删、查、改的效率。
(6) 数据通信接口
DBMS提供与其他软件系统进行通信的功能。
内模式: 又称为存储模式或物理模式,处于最内层,也是靠近物理存储的一层,是对整个数据库
存储结构的描述,是数据在数据库内部的表示方式,又叫物理级数据库、物理视图。
一个数据库只有一个内模式
模式:又称概念模式,处于中间层,是对数据库中全体数据的逻辑结构和特征的描述,是
数据库的整体逻辑,即概念视图、概念级数据库。
对下层 :不涉及数据的物理存储细节和硬件环境;
对上层:与具体的应用程序、所使用的应用开发工具及程序设计语言无关。
== 一个数据库只有一个模式。==
外模式:又称子模式或用户模式,处于最外层,是对数据库用户能看到并允许使用的那部分
局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,即用户视图、用户数据库。
外模式是模式的子集,可有多个,同一个外模式可以为多个应用程序使用。
小结:
内模式: 物理视图,物理级数据库,是整个数据库实际存储的表示。
模式: 概念视图,概念级数据库,是整个数据库实际存储的抽象表示。
外模式: 用户视图,用户级数据库,是概念模式的某一部分的抽象表示
用户根据外模式进行的操作,通过外模式到模式的映射与概念级数据库联系起来,又通过模式到内模式的映射与物理级数据库联系起来。
从最终用户角度来看,数据库系统分为:单用户结构、主从式结构、分布式结构、客户/服务器结构、浏览器/服务器结构
(1)单用户结构的数据库系统
又称桌面型数据库系统将应用程序、DBMS和数据库都装在一台计算机上,由一个用户独占使用。适合未联网用户、个人用户等。
DBMS提供较弱的数据库管理和较强的应用程序和界面开发工具,既是数据库管理工具,同时又是数据库应用程序和界面的前端工具。如:Microsoft Acess,Visual Foxpro等
(2)主从式结构的数据库系统
是大型主机带多终端的多用户结构的系统,又称主机/终端模式
优点:结构简单,易于管理、控制与维护
缺点:当终端数目太多时,主机的任务会过分繁重,成为系统瓶颈;系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。
(3)分布式结构的数据库系统
是分布式网络技术与数据库技术相结合的产物。数据库分布存储在计算机网络的不同结点上。
数据在物理上是分布的、所有数据在逻辑上是一个整体、结点上分布存储的数据相对独立
优点:多台服务器并发的处理数据,提高效率
缺点:数据的分布式存储给数据处理任务协调与维护带来困难
(4)客户/服务器结构的数据库系统
(Client/Server,C/S结构) 把DBMS的功能与应用程序分开。
分为:数据库服务器(简称服务器,Server) 、客户机(Client)
胖客户机结构,两层结构。
优点:网络运行效率大大提高
缺点:维护升级很不方便
(5)浏览器/服务器结构的数据库系统
(Browser/Server,B/S结构)
针对客户机/服务器结构的不足而提出的;客户机仅安装通用的浏览器软件,实现输入/输出;应用程序安装在应用服务器上,充当了中介.
瘦客户机结构,三层结构。
从现实世界的事物到存储到计算机的数据库中的数据,要数经历现实世界、信息世界和计算机世界三个不同的世界,经历两级抽象和转换完成。
数据处理的抽象和转换过程
(1)现实世界
(2)信息世界(概念世界)
(3)计算机世界
数据模型:数据模型是描述数据、数据联系、数据的语义和完整性约束的概念集合,由数据结构、数据操作和完整性约束三要素组成。
(1)数据结构
即数据组织的结构,用于描述系统的静态特征,描述数据库的组成对象以及对象间的联系。即:
一是描述数据对象的类型、内容、性质等;
二是描述数据对象间的联系。
(2)数据操作
对数据库中的数据允许执行的操作的集合,包括操作及相应的操作规则(优先级)等,描述了数据库的动态特性。
一类是查询操作
一类是更新操作(含插入、删除和修改)
(3)数据的完整性约束
一组完整性规则的集合。完整性规则是数据模型中数据及其联系所具有的制约和依存规则。
用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
常用数据模型:层次模型、网状模型、关系模型
(1)层次模型
层次模型是采用树型结构(有根树)来表示实体及其实体间的联系的模型。树形结构中的结点表示实体型,实体型间的联系用指针表示
特点:
有且仅有一个结点没有双亲,根结点
根以外的其他结点有且仅有一个双亲结点
父子结点之间的联系是一对多(1:n)的联系
任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义
层次模型的数据操纵与数据完整性约束:
进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值 。
进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。
修改操作时,应修改所有相应的记录,以保证数据的一致性
优点:
结构简单,层次分明
查询效率高 ,从根结点到树中任一结点
均存在一条唯一的层次路径
提供良好的数据完整性支持
缺点:
不能直接表示多对多联系
插入和删除数据限制太多
查询子女结点必须通过双亲结点
(2)网状模型
网状模型的数据结构:
网状模型是采用有向图结构表示实体以及实体之间联系的数据模型 。
每个结点表示一个实体型。
结点间的带箭头的连线(或有向边)表示记录型间的1:n的父子联系。
比较有代表性的系统是,20世纪70年代,数据系统语言研究会CODASYL提出的DBTG系统
网状模型的特点:
有一个以上的结点没有双亲结点
允许结点有多个双亲结点
允许两个结点之间有多种联系(复合联系)
网状模型的数据操纵与完整性约束:
插入数据时,允许插入尚未确定双亲结点值的子女结点值。
删除数据时,允许只删除双亲结点值。
修改数据时,只需更新指定记录即可。
优点:
可表示实体间的多种复杂联系
具有良好的性能和存储效率
缺点:
数据结构复杂
数据定义语言、数据操纵语言复杂
用户需要了解网状模型的实现细节
(3)关系模型
关系模型的数据结构是一张规范化的二维表,它由表名、表头和表体三部分构成
分量:每一行对应的列的属性值,即为元组中的一个属性值。
候选码:可惟一标识一个元组的属性或属性集。如S表中学号可以惟一确定一个学生,为学生关系的主码。
关系模式:关系模式是对关系的描述,是关系模型的“型” 。一般表示为:关系名(属性1,属性2,……属性n)如:学生(学号,姓名,性别,年龄,系别)
关系模型的数据操纵与完整性约束:
• 关系模型的数据操纵主要包括查询、插入、删除和修改
• 关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。
• 关系模型把对数据的存取路径隐蔽起来,用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户操作效率。
优点:
有严格的数学理论根据
数据结构简单、清晰,用关系描述实体及其联系
具有更高的数据独立性、更好的安全保密性
缺点:
查询效率不如非关系模型