【数据库】第一章 数据库系统概述 笔记

一、数据库技术的产生与发展

1.1 信息、数据、数据处理与数据管理
  1. 数据 + 数据处理 = 信息
  2. 数据处理:将数据加工转换程信息的过程,包括数据的收集、管理、加工利用(计算)、传播等一系列活动的总合
    数据管理:是数据处理的核心,指数据的分类、组织、编码、存储、检索、维护等工作
1.2 数据库技术的产生与发展
  1. 发展阶段:人工管理阶段 -> 文件系统阶段 -> 数据库管理阶段
    ->->
  2. 数据库管理阶段 由数据库管理系统(DataBase Management System,DBMS)实现各应用程序对数据库中的数据的共享
  3. 在数据库系统中,整个数据库的结构可分成三级:用户逻辑结构、数据库逻辑结构、物理结构
    数据独立性分两级:物理独立性、逻辑独立性

    数据的物理独立性:当数据库物理结构(如存储结构、存取方式、外部存储设备等)改变时,通过修改映射,使数据库逻辑结构不受影响,进而用户逻辑结构以及应用程序不用改变。
    数据的逻辑独立性:当数据库逻辑结构(如修改数据定义、增加新的数据类型、改变数据间的关系等)发生改变时,通过修改映射,使用户逻辑结构以及应用程序不用改变。
  4. 数据由DBMS统一管理和控制,有统一的数据管理和控制功能。
    数据控制功能包括:数据的安全性控制、完整性控制、并发控制、数据恢复。
    安全性控制:防止不合法使用数据库造成数据的泄露和破坏。合法用户只能操作有权限的数据,不合法的用户禁止访问。
    完整性控制:通过设置一些完整性规则等约束条件,确保数据的正确性、有效性和相容性。
    并发控制:多个用户同时存取或修改数据库时,系统可防止由于相互干扰而提供给用户不正确的数据,并防止数据库受到破坏。
    数据恢复:由于计算机系统的软硬件故障、操作员的误操作及其他故意的破坏等原因,造成数据库中的数据不正确或数据丢失时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。

二、数据库系统的组成

  1. 数据库系统(DataBase System,简称DBS)是以计算机软硬件为工具,把数据组织成
    数据库形式并对其进行存储、管理、处理和维护数据的高效能的信息处理系统;
    由**计算机硬件系统、数据库、软件系统(含操作系统、应用程序开发工具、数据库应用系统)数据库管理系统(DBMS)、数据库用户**组成。

其中第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支持下才能使用数据库。

三、 数据库系统的内部体系结构与外部体系结构

3.1 内部结构
  1. 从DBMS角度来看,数据库系统通常采用三级模式结构,这是数据库系统的内部体系结构。数据库系统的三级模式结构和二级映像功能示意图如下。

内模式: 又称为存储模式或物理模式,处于最内层,也是靠近物理存储的一层,是对整个数据库
存储结构的描述,是数据在数据库内部的表示方式,又叫物理级数据库、物理视图。
一个数据库只有一个内模式
模式:又称概念模式,处于中间层,是对数据库中全体数据的逻辑结构和特征的描述,是
数据库的整体逻辑,即概念视图、概念级数据库。
对下层 :不涉及数据的物理存储细节和硬件环境;
对上层:与具体的应用程序、所使用的应用开发工具及程序设计语言无关。
== 一个数据库只有一个模式。==
外模式:又称子模式或用户模式,处于最外层,是对数据库用户能看到并允许使用的那部分
局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,即用户视图、用户数据库。
外模式是模式的子集,可有多个,同一个外模式可以为多个应用程序使用。

小结
内模式: 物理视图,物理级数据库,是整个数据库实际存储的表示。
模式: 概念视图,概念级数据库,是整个数据库实际存储的抽象表示。
外模式: 用户视图,用户级数据库,是概念模式的某一部分的抽象表示

  • 一个数据库系统,实际存在的只是物理级数据库,即内模式,是数据访问的基础。
  • 概念数据库只不过是物理级数据库的一种抽象描述用户级数据库是用户与数据库的接口。

用户根据外模式进行的操作,通过外模式到模式的映射与概念级数据库联系起来,又通过模式到内模式的映射与物理级数据库联系起来。

  1. DBMS在三级模式之间提供了二级映象功能,保证了数据库系统中的数据能够具有较高的逻辑独立性物理独立性
    外模式/模式映象 保证了数据与程序间的逻辑独立性;
    模式/内模式映象 确保了数据的物理独立性。
3.2 外部结构

从最终用户角度来看,数据库系统分为:单用户结构、主从式结构、分布式结构、客户/服务器结构、浏览器/服务器结构
(1)单用户结构的数据库系统
又称桌面型数据库系统将应用程序、DBMS和数据库都装在一台计算机上,由一个用户独占使用。适合未联网用户、个人用户等。
DBMS提供较弱的数据库管理和较强的应用程序和界面开发工具,既是数据库管理工具,同时又是数据库应用程序和界面的前端工具。如:Microsoft Acess,Visual Foxpro等
(2)主从式结构的数据库系统
是大型主机带多终端的多用户结构的系统,又称主机/终端模式

优点:结构简单,易于管理、控制与维护
缺点:当终端数目太多时,主机的任务会过分繁重,成为系统瓶颈;系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。
(3)分布式结构的数据库系统
是分布式网络技术与数据库技术相结合的产物。数据库分布存储在计算机网络的不同结点上。

数据在物理上是分布的、所有数据在逻辑上是一个整体、结点上分布存储的数据相对独立
优点:多台服务器并发的处理数据,提高效率
缺点:数据的分布式存储给数据处理任务协调与维护带来困难
(4)客户/服务器结构的数据库系统
(Client/Server,C/S结构) 把DBMS的功能与应用程序分开。
分为:数据库服务器(简称服务器,Server) 、客户机(Client)

胖客户机结构,两层结构。
优点:网络运行效率大大提高
缺点:维护升级很不方便
(5)浏览器/服务器结构的数据库系统
(Browser/Server,B/S结构)
针对客户机/服务器结构的不足而提出的;客户机仅安装通用的浏览器软件,实现输入/输出;应用程序安装在应用服务器上,充当了中介.
瘦客户机结构,三层结构。

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

从现实世界的事物到存储到计算机的数据库中的数据,要数经历现实世界、信息世界和计算机世界三个不同的世界,经历两级抽象和转换完成。
数据处理的抽象和转换过程
(1)现实世界
(2)信息世界(概念世界)

  1. 从现实世界到概念世界是通过概念模型来表达的。如:E-R模型
    概念模型:又叫信息模型,是按用户的观点对数据和信息建模,不依赖于具体的计算机系统,只是用来描述某个特定组织所关心的信息结构。客观事物在信息世界中的抽象表示,如:学生、教师。
    客观事物之间的联系在信息世界中的抽象表示。如,学生和课程间的联系
  2. 信息世界及其有关基本概念
    实体:客观存在并且可以相互区别的“事物”;实体可以是具体的人、事、物,也可以是抽象的事件
    属性:实体所具有的某一特性称为属性
    型 -> 属性名
    值 -> 具体值
    如学生实体由学号、姓名、性别、年龄、系等方面的属性组成。 (990001、张立、20、男、计算机),这些属性值的集合表示了一个学生实体。
    实体型:具有相同属性的实体必然具有共同的特征;
    用实体名及其属性名集合来抽象和描述同类实体,称为实体型,如:学生(学 号,姓名,年龄,性别,系)。
    实体集:同型实体的集合称为实体集;
    同型实体的集合称为实体集。如所有的学生、所有的课程等。
    码:能唯一标识一个实体的属性或属性集称为实体的码。如:学生的学号就是学生实体的码。
    域:某一属性的取值范围称为该属性的域。如:性别的域为男或女
  3. 联系
    客观事物内部以及事物之间是联系的,它们分别被抽象为:
    单个实体型内部的联系,是指组成实体的各属性之间的联系
    实体型之间的联系,是指不同实体集之间的联系
  4. 两个实体型间的联系:一对一联系、一对多联系、多对多联系。分别表示为(1:1)、(1:n)、(m:n)

(3)计算机世界

  1. 又叫数据世界,是对现实世界的第二层抽象,即对信息世界中信息的数据化,将信息用字符和数值等数据表示,使用计算机存储并管理概念世界中描述的实体集、实体、属性和联系的数据。
    信息世界到数据世界,使用数据模型来描述,数据库中存放数据的结构是由数据模型决定的。
  2. 计算机世界的概念
    字段 File:标记实体属性的命名单位称为字段,字段名往往和属性名相同。如学生有学号、姓 名、年龄、性别和系等字段。
    记录 Record:一个记录描述一个实体,字段的有序集合称为记录。如,一个学生(990001,张 立,20,男,计算机)为一个记录。
    文件 File:文件是用来描述实体集的。同一类记录的集合称为文件。如,所有学生的记录组成了一个学生文件
    关键字 Key:能唯一标识文件中每个记录的字段或字段集,称为记录的关键字 。
  3. 三个世界各术语的对应关系

五、数据模型

数据模型:数据模型是描述数据、数据联系、数据的语义和完整性约束的概念集合,由数据结构、数据操作和完整性约束三要素组成。
(1)数据结构
即数据组织的结构,用于描述系统的静态特征,描述数据库的组成对象以及对象间的联系。即:
一是描述数据对象的类型、内容、性质等;
二是描述数据对象间的联系。

(2)数据操作
对数据库中的数据允许执行的操作的集合,包括操作及相应的操作规则(优先级)等,描述了数据库的动态特性。
一类是查询操作
一类是更新操作(含插入、删除和修改)
(3)数据的完整性约束
一组完整性规则的集合。完整性规则是数据模型中数据及其联系所具有的制约和依存规则。
用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。

常用数据模型:层次模型、网状模型、关系模型
(1)层次模型
层次模型是采用树型结构(有根树)来表示实体及其实体间的联系的模型。树形结构中的结点表示实体型,实体型间的联系用指针表示
特点:
 有且仅有一个结点没有双亲,根结点
 根以外的其他结点有且仅有一个双亲结点
 父子结点之间的联系是一对多(1:n)的联系
任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义

层次模型的数据操纵与数据完整性约束:
 进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值 。
 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。
 修改操作时,应修改所有相应的记录,以保证数据的一致性

优点:
结构简单,层次分明
查询效率高 ,从根结点到树中任一结点
均存在一条唯一的层次路径
提供良好的数据完整性支持
缺点:
不能直接表示多对多联系
插入和删除数据限制太多
查询子女结点必须通过双亲结点

(2)网状模型
网状模型的数据结构:
 网状模型是采用有向图结构表示实体以及实体之间联系的数据模型 。
 每个结点表示一个实体型。
 结点间的带箭头的连线(或有向边)表示记录型间的1:n的父子联系。
 比较有代表性的系统是,20世纪70年代,数据系统语言研究会CODASYL提出的DBTG系统

网状模型的特点:
 有一个以上的结点没有双亲结点
 允许结点有多个双亲结点
 允许两个结点之间有多种联系(复合联系)

网状模型的数据操纵与完整性约束:
插入数据时,允许插入尚未确定双亲结点值的子女结点值。
删除数据时,允许只删除双亲结点值。
修改数据时,只需更新指定记录即可。

优点:
可表示实体间的多种复杂联系
具有良好的性能和存储效率
缺点:
数据结构复杂
数据定义语言、数据操纵语言复杂
用户需要了解网状模型的实现细节

(3)关系模型
关系模型的数据结构是一张规范化的二维表,它由表名、表头和表体三部分构成

分量:每一行对应的列的属性值,即为元组中的一个属性值。
候选码:可惟一标识一个元组的属性或属性集。如S表中学号可以惟一确定一个学生,为学生关系的主码。
关系模式:关系模式是对关系的描述,是关系模型的“型” 。一般表示为:关系名(属性1,属性2,……属性n)如:学生(学号,姓名,性别,年龄,系别)

关系模型的数据操纵与完整性约束:
• 关系模型的数据操纵主要包括查询、插入、删除和修改
• 关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。
• 关系模型把对数据的存取路径隐蔽起来,用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提高了数据的独立性,提高了用户操作效率。

优点:
 有严格的数学理论根据
 数据结构简单、清晰,用关系描述实体及其联系
 具有更高的数据独立性、更好的安全保密性
缺点:
 查询效率不如非关系模型

补充1:

补充2:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 数据库系统工程师笔记csdn是一篇关于数据库系统工程师学习笔记的文章。在这篇文章中,作者通过分享自己的学习笔记,为想要从事数据库系统工程师工作的人提供了有用的参考和指导。 文章中首先介绍了数据库系统工程师的职责,包括设计、开发、测试、维护和优化数据库系统,同时需要具备扎实的数据库原理和编程能力。作者建议想要成为一名数据库系统工程师的人,应该首先学习数据库的基本概念和 SQL 命令,同时还要了解各种数据库管理系统的操作和配置。 接着,作者介绍了数据库设计的基本步骤和原则,包括需求分析、概念设计、逻辑设计和物理设计等方面。这些步骤都非常重要,应该在设计数据库系统之前认真考虑。 最后,作者分享了自己在学习数据库系统工程师方面的心得和体会,强调了学习的重要性和不断提高自己的必要性。他建议大家在学习过程中要注重实践和思考,通过参与实际项目来提高自己的技能和经验。 总之,数据库系统工程师笔记csdn是一篇有价值的学习笔记,为想要成为一名数据库系统工程师的人提供了很好的指导和建议。希望更多的人可以从中获得启发,不断提高自己的技能和水平。 ### 回答2: 数据库系统工程师是一个高端技术岗位,主要负责设计和维护复杂的数据库系统。作为一名数据库系统工程师,需要具备深厚的计算机理论知识和丰富的实践经验,掌握多种数据库系统的管理和操作技术,以及熟练应对各种异常情况和技术挑战的能力。 在这个领域里,csdn的笔记内容十分丰富,包括了基础知识、应用实践、数据库系统架构设计、性能优化、数据安全等多个方面。这些笔记内容不仅包含了数据库的基础知识,还介绍了很多数据库系统性能调优和安全问题的解决方案,能够帮助数据库系统工程师更好地解决实际问题,提高工作效率。同时,笔记中有许多实用的案例,可以让数据库系统工程师更好地理解和掌握数据库系统的各种技术。 除了csdn的笔记外,数据库系统工程师还需要不断学习和探索新的数据库技术,通过阅读相关书籍和参加各种技术交流会议,拓展自己的视野和技能。只有不断学习和提高,才能在这个竞争激烈的领域里保持竞争力。 ### 回答3: 数据库系统工程师是负责设计、开发和维护数据库系统的专业技术人员。在现代信息化时代,全球各行各业都离不开数据库系统,这就需要数据库系统工程师掌握一定的技术,从而保证各种业务得以正常运行和发展。 CSND是一个专注于IT技术交流的平台,是大部分IT技术爱好者和从业人员的必备之地。在这个平台上,数据库系统工程师可以找到大量的学习资源和同行的交流,提高自己的技能水平。比如,他们可以了解数据库系统的基本概念、数据结构、SQL语言、数据库事务、索引优化和数据备份等技术,从而应对各种复杂的业务需求。 此外,数据库系统工程师还应该关注行业的大趋势,不断更新自己的知识储备。比如,随着大数据和云计算技术的快速发展,数据库系统工程师需要掌握分布式数据库、NoSQL等新技术,以适应业务的巨大变革。 总之,作为数据库系统工程师,不仅需要掌握实用技术,更要时刻关注技术的发展趋势和行业的变化,保持敏锐的洞察力和学习能力。而在CSND这个优秀的技术交流平台上,数据库系统工程师可以获得更多的机会,拓展自己的思路和视野,向自己的目标不断前进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值