4、客户机/服务器结构的数据库系统
在主从式和分布式结构的基础上,将DBMS的功能和应用程序分开。
【1】数据库服务器:专门用于执行DBMS的功能,完成数据的管理功能。
【2】客户机:安装DBMS的应用开发工具和相关数据库应用程序。
在此结构中:
- DBMS和数据库存放于数据库服务器上
- 应用开发工具和相关数据库应用程序存放于客户机上。
【1】优点:网络运行效率大大提高,减轻服务器的负载。
5、浏览器/服务器结构的数据库系统
客户机端仅安装通用的浏览器软件。
应用服务器充当了客户机和数据库服务器的中间媒介。
六、数据库管理系统
DBMS(数据库管理系统)是对数据进行管理的大型系统软件,用户在数据库系统中的一切操作,都在DBMS当中。
1、DBMS的主要功能
【1】 数据定义功能(DDL)
数据定义语言(DDL Data Define Language)
定义数据的三级模式结构和二级映像,定义有关的约束条件。
例如:
1、定义用户口令和存取权限
2、DBMS提供的结构化查询语言,提供Create ,Drop ,Alter 等语句可分别用来建立,删除和修改数据库。
用DDL定义的各种模式需要通过相应的模式翻译程序转化为机器内部代码表示形式,保存在数据字典中。
数据字典是DBMS存取数据的依据。
CREATE TABLE | VIEW | INDEX | SYN | CLUSTER |
表 | 视图 | 索引 | 同义词 | 簇 |
create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop index 删除索引
【2】数据操纵功能(DML)
实现对数据库的基本操纵,包括检索,更新(包括修改,插入,删除)等。因此DBMS也应该包括DML的编译程序或解释程序。
1) 插入:INSERT 2) 更新:UPDATE 3) 删除:DELETE
【考】:狭义来说DML只包括增,删,改。而查询则是DQL数据查询语言
【3】数据查询语言(DQL)
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:
SELECT <字段名表> FROM <表或视图名> WHERE <查询条件>
【4】数据控制语言(DCL)
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT:授权。 2) ROLLBACK TO :回退到某一点。 3) COMMIT :提交。
在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。提交数据有三种类型:显式提交、隐式提交及自动提交。下面分别说明这三种类型。
(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:
SQL>COMMIT;
(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP, EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:
SQL>SET AUTOCOMMIT ON;
2、数据字典(DD)
数据字典是用来描述数据库中有关信息的数据目录,包括数据库的三级模式,数据模型,用户名和用户权限等有关的用户信息,起着系统状态的目录表的作用。
3、DBMS的存储过程
(1)用户使用某种特定的数据操作语言向DBMS发出请求。
(2)DBMS接受请求,并将该请求解释转换为机器代码指令。
(3)DBMS依次检查外模式,外模式/模式映像,模式,模式/内模式映像以及存储结构定义
(4)DBMS对存储数据库执行必要的存取操作
(5)从对数据库的存取操作中接受结果
(6)对得到的结果进行必要的处理,如:格式转换等
(7)将处理的结果返回给用户
七、数据模型
【重要】:期末考必考
1、数据模型的概念及分类
- 数据处理的抽象与转换
首先将现实世界抽象成信息世界的概念模型,再抽象成计算机世界的数据模型。
【1】概念模型并不依赖于具体的计算机系统,不是某一个DBMS所支持的数据模型,它是计算机内部数据的抽象表示。
【2】概念模型经过抽象,转换成计算机上某一DBMS所支持的数据类型。
【3】数据模型是现实世界的两级抽象的结果。
2. 数据模型的分类
【1】第一类模型:概念模型,也称为信息模型。
是对现实世界的事物以及其联系的第一级抽象。
【2】第二类模型:逻辑模型(或称为数据模型)和物理模型
逻辑模型属于计算机世界中的模型。
逻辑模式主要用于DBMS的实线。
比较成熟的应用在数据库系统中的逻辑模型主要包括:
层次模型
网状模型
关系模型
面向对象模型
物理模型是对数据最底层的抽象,它描述数据在磁盘或磁带上的存储方式和存取方法。
2、数据模型的组成要素
数据模型由数据结构,数据操作和数据的完整性约束三要素组成。
【1】数据结构
数据结构描述了数据库组成对象以及对象之间的联系。
数据结构描述数据库的静态属性,不同的数据库采用不同的数据结构。
数据结构有层次结构,网状结构和关系结构三种类型。
按照这三种结构命名的数据模型分别称为层次模型,网状模型和关系模型。
【2】数据操作
数据操纵描述数据库的动态属性。数据库有查询和更新两类操作。
【3】数据的完整性约束
是一组完整性规则的集合。保证数据的正确,有效,相容。
八、三个世界及其有关概念
1、现实世界
2、信息世界
- 信息世界及其有关概念
【1】实体:客观存在的事物
【2】属性:实体所具有的某一特性称为属性
年龄,性别是属性的型
属性的具体内容是属性的值
【3】实体型
具有相同属性的实体必然具有共同的特征
【4】实体集
同型实体的集合称为实体集
【5】码:又称主码,主键。
能唯一标识一个实体的属性或属性集称为实体的码。
【6】域:某一属性的取值范围称为该属性的域
【7】联系:分为单个实体型内部的联系和实体型之间的联系。
两个实体型之间的联系
【1】一对一联系
【2】一对多联系
【3】多对多联系
两个以上实体型之间的联系
两个以上实体型之间的联系同样存在一对一,一对多,多对多的联系。
单个实体型内部的联系
单个实体型内部的联系同样存在一对一,一对多,多对多的联系。
3、计算机世界
【1】字段:标记实体属性的命名单位。
如:学生有学号,姓名,年龄等字段
【2】记录:字段的有序集合。
如:(0001,张三,男,计算机)为一个记录
【3】文件:同一类记录的集合称为文件。文件是用来描述实体集的。
【4】关键字:能唯一标识文件中每个记录的字段或者字段集,称为记录的关键字。
九、四种数据模型
1、层次模型
层次模型用树形结构来表示各类实体以及实体间的联系。
层次模型的特点:
【1】每棵树有且仅有一个结点没有双亲结点,就是根节点
【2】根节点以外的其他结点有且仅有一个双亲结点
【3】父子结点之间的联系是一对多的联系
对于层次模型:如果删除双亲结点,则子女结点也被删除。
优点:
【1】层次模型结构简单,层次分明
【2】结点间联系简单
【3】提供了良好的数据完整性支持
缺点:
【1】不能直接表示两个以上的实体型间的复杂联系和实体型间的多对多联系
【2】对数据的插入删除限制
【3】查询子女结点必须通过双亲结点
2、网状模型
层次模型是网状模型的特例。
层次模型只能有一个根节点,根节点以外的其他结点有且仅有一个双亲结点,而网状模型中取消了层次模型的限制,允许多个结点没有双亲结点,允许一个结点可以有多个双亲结点。
特点:
【1】有一个以上的节点没有双亲结点
【2】允许结点有多个双亲结点
【3】允许两个结点之间有多种联系
3、关系模型
关系模型的数据结构是一张规范化的二维表,由表名,表头,表体三部分组成。表名即二维表的名称,表头决定了二维表的结构,表体即二维表中的数据。
每个二维表称为关系。
【1】关系与关系实例:一张表对应一个关系实例。
【2】元组:二维表中的一行即一个元组
【3】属性:二维表中的一列即一个属性
【4】域:属性的取值范围
【5】分量:元组中的一个属性值
【6】候选码:一个属性或者属性的组合,可以唯一标识一个关系元组。
一个关系当中可以有多个候选码。
全码:候选码由关系中所有的属性组成。
【7】主码:一个关系只能有一个主码,从候选码当中选的。
(学号,手机号,性别):不是候选码,因为性别是多余的,不能唯一标识,只需要一个学号即可
【8】关系模式
如:学生的关系模式:
学生(学号,姓名,性别,年龄)
【9】关系实例:二维表中的数据
4、面向对象模型
十、数据库领域的新技术
主要分为:
【1】分布式数据库
【2】数据仓库与数据挖掘技术
【3】多媒体数据库
【4】大数据技术
1、分布式数据库
- 定义
分布式数据库是一组结构化的数据集合,在逻辑上属于同一系统,物理上分布在计算机网络的不同节点上。
- 特点
【1】自治与共享
【2】冗余控制
【3】分布事务执行的复杂性
【4】数据的独立性
2、数据仓库与数据挖掘技术
联机事务处理(OLTP):online transaction processing
联机分析处理(OLAP):online analytical processing
数据仓库(DW):data warehouse
将各业务系统及其档案数据中有分析价值的海量数据集中管理,建立分析模型,从中挖掘符号规律的知识用于未来的预测与决策中。
数据挖掘(DM):data mining
从大量数据中获取有效,潜在有用的非平凡过程。
3、大数据技术
主要包括数据的采集和迁移,数据的存储和管理,数据的处理和分析,数据安全和隐私保护。