数据库原理与应用系列_01数据库系统概述(下)

简介: 数据库技术是专门研究如何科学地组织和存储数据,如何高效地获取和处理数据的技术。数据库(Database)即数据仓库,是数据存放的地方。

4、客户机/服务器结构的数据库系统


在主从式和分布式结构的基础上,将DBMS的功能和应用程序分开。

【1】数据库服务器:专门用于执行DBMS的功能,完成数据的管理功能。

【2】客户机:安装DBMS的应用开发工具和相关数据库应用程序。

在此结构中:

  1. DBMS和数据库存放于数据库服务器上
  2. 应用开发工具和相关数据库应用程序存放于客户机上。

【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. 数据处理的抽象与转换

首先将现实世界抽象成信息世界的概念模型,再抽象成计算机世界的数据模型。


【1】概念模型并不依赖于具体的计算机系统,不是某一个DBMS所支持的数据模型,它是计算机内部数据的抽象表示。


【2】概念模型经过抽象,转换成计算机上某一DBMS所支持的数据类型。


【3】数据模型是现实世界的两级抽象的结果。

ce1a2e80903b4316a85871ad4f46f92c.png

2. 数据模型的分类


【1】第一类模型:概念模型,也称为信息模型。


是对现实世界的事物以及其联系的第一级抽象。


【2】第二类模型:逻辑模型(或称为数据模型)和物理模型


逻辑模型属于计算机世界中的模型。


逻辑模式主要用于DBMS的实线。


比较成熟的应用在数据库系统中的逻辑模型主要包括:


层次模型

网状模型

关系模型

面向对象模型

物理模型是对数据最底层的抽象,它描述数据在磁盘或磁带上的存储方式和存取方法。


2、数据模型的组成要素


数据模型由数据结构,数据操作和数据的完整性约束三要素组成。


【1】数据结构


数据结构描述了数据库组成对象以及对象之间的联系。


数据结构描述数据库的静态属性,不同的数据库采用不同的数据结构。


数据结构有层次结构,网状结构和关系结构三种类型。


按照这三种结构命名的数据模型分别称为层次模型,网状模型和关系模型。


【2】数据操作


数据操纵描述数据库的动态属性。数据库有查询和更新两类操作。


【3】数据的完整性约束


是一组完整性规则的集合。保证数据的正确,有效,相容。


八、三个世界及其有关概念



1、现实世界


2、信息世界

  1. 信息世界及其有关概念


【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. 定义

分布式数据库是一组结构化的数据集合,在逻辑上属于同一系统,物理上分布在计算机网络的不同节点上。


  1. 特点

【1】自治与共享

【2】冗余控制

【3】分布事务执行的复杂性

【4】数据的独立性


2、数据仓库与数据挖掘技术


联机事务处理(OLTP):online transaction processing

联机分析处理(OLAP):online analytical processing

数据仓库(DW):data warehouse


将各业务系统及其档案数据中有分析价值的海量数据集中管理,建立分析模型,从中挖掘符号规律的知识用于未来的预测与决策中。

数据挖掘(DM):data mining

从大量数据中获取有效,潜在有用的非平凡过程。


3、大数据技术


主要包括数据的采集和迁移,数据的存储和管理,数据的处理和分析,数据安全和隐私保护。



相关文章
|
13天前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
21天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
34 3
|
21天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
39 2
|
30天前
|
XML 存储 数据库
XML在数据库中有哪些应用?
【10月更文挑战第17天】XML在数据库中有哪些应用?
29 2
|
11天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
26 1
|
13天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
29 4
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
63 3
Mysql(4)—数据库索引
|
20天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
92 1
|
22天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
64 2
|
25天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
96 4
下一篇
无影云桌面