第一章:数据库绪论

  • 1.1数据库系统概述
    • 1.1.1数据库的4个基本概念
    • 1.1.2数据库管理技术的产生和发展
    • 1.1.3数据库系统的特点
  • 1.2数据模型
    • 1.2.1两类数据模型
    • 1.2.2概念模型
    • 1.2.3数据模型的组成要素
    • 1.2.4常用的数据模型
    • 1.2.5层次模型
    • 1.2.6网状模型
    • 1.2.7关系模型
  • 1.3数据库系统的结构
    • 1.3.1数据库系统模式的概念
    • 1.3.2数据库系统的三级模式结构
    • 1.3.3数据库的二级映像功能与数据独立性
  • 1.4数据库系统的组成

1.1数据库系统概述

1.1.1数据库的4个基本概念

数据Data
数据Data是数据库中存储的基本对象。
数据的定义:描述事物的符号记录。
数据的种类:数字、文字、图形图像等。

数据库Database
数据库Database是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征:数据按一定的数据模型组织、描述和储存;可为各种用户共享;冗余度较小;数据独立性较高;易扩展。

数据库管理系统DBMS
数据库管理系统是位于用户与操作系统之间的一层数据管理软件,是基础软件,是一个大型复杂的软件系统。
数据库管理系统用于科学地组织和存储数据、高效地获取和维护数据。

数据库系统DBS
数据库系统Database System
数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序、数据库管理员构成。

1.1.2数据库管理技术的产生和发展

什么是数据管理?
对数据进行分类、组织、编码、存储、检索和维护;数据处理的中心问题。

数据管理技术的发展过程:
人工管理阶段(20世纪50年代中之前)
文件系统阶段(20世纪50年代末-60年代中)
数据库系统阶段(20世纪60年代末-现在)

数据库系统阶段产生的背景:

应用背景 大规模数据管理
硬件背景 大容量磁盘、磁盘阵列
软件背景 有数据库管理系统
处理方式 联机实时处理,分布处理,批处理

1.1.3数据库系统的特点

1、数据结构化

数据的整体结构化是数据库的主要特征之一
整体结构化不再仅仅针对某一个应用,而是面向全组织;不仅数据内部结构化,整体是结构化,数据之间具有联系;数据记录可以变长;数据的最小存取单位是数据项

2、数据的共享性高,冗余度低且易扩充

数据共享的好处:减少数据冗余,节约存储空间;避免数据之间的不相容性与不一致性;使系统易于扩充。

3、数据独立性高

数据独立性高是指物理独立性和逻辑独立性
物理独立性:指用户的应用程序与数据库中数据的物理存储使相互独立的。
逻辑独立性:指用户的应用程序与数据库的逻辑结构使相互独立的。
数据独立性由数据库管理系统的二级映像功能来保证。

4、数据由数据库管理系统统一管理和控制
数据库管理系统提供的数据控制功能
(1)数据的安全性(security)保护
保护数据以防止不合法的使用造成的数据的泄密和破坏。
(2)数据的完整性(integrity)检查
保证数据的正确性、有效性和相容性。
(3)并发(concurrency)控制
对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
(4)数据库恢复(recovery)
将数据库从错误状态恢复到某一已知的正确状态。

1.2数据模型

数据模型使对现实世界数据特征的抽象(现实世界的模拟
数据模型应满足三方面要求:能比较真实地模拟现实世界;容易为人所理解;便于在计算机上实现
数据模型使数据库系统的核心和基础

1.2.1两类数据模型

(1)概念模型(信息模型),它是按用户的观点来对数据和信息建模,用于数据库设计。
(2)逻辑模型和物理模型
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方式,在磁盘或磁带上的存储方式和存取方法。
客观对象的抽象过程:现实世界中的客观对象抽象为概念模型→将概念模型转换为某一数据库管理系统支持的数据模型。

1.2.2概念模型

概念模型的用途
概念模型用于信息世界的建模;使现实世界到机器世界的一个中间层次;使数据库设计的有力工具;数据库设计人员和用户之间进行交流的语言
对概念模型的基本要求:较强的语义表达能力;简单、清晰、易于用户理解

信息世界中的基本概念
(1)实体Entity
客观存在并可相互区别的事物称为实体。可以使具体的人、事、物或抽象的概念。
(2)属性Attribute
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
(3)码key
唯一标识实体的属性集称为码。
(4)实体型entity type
用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
(5)实体集entity set
同一类型实体的集合称为实体集。
(6)联系 relationship
实体内部的联系通常是指组成实体的各属性之间的联系
实体之间的联系通常是指不同实体集之间的联系
实体之间的联系有一对一、一对多和多对多等多种类型

实体-联系方法entity-relationship approach
用E-R图来描述现实世界的概念模型
E-R方法也称为E-R模型
实体型用矩形表示
属性用椭圆形表示
联系用菱形表示

1.2.3数据模型的组成要素

数据结构/数据操作/数据的完整性约束条件

数据模型的数据结构
描述数据库的组成对象,以及对象之间的联系
描述的内容
1与对象的类型、内容、性质有关
2与数据之间的联系有关
数据结构事对系统静态特性的描述

数据操作
对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则
数据操作的类型:查询,插入,删除,修改
数据模型对操作的定义
操作的确切含义,操作符号,操作规则(如优先级),实现操作的语言
数据操作是对系统动态特性的描述

数据的完整性约束条件
一组完整性规则的集合
完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则
用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容
数据模型对完整性约束条件的定义:反映和规定必须遵守的基本的通用的完整性约束条件;提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件

1.2.4常用的数据模型

层次模型
网状模型
关系模型
面向对象数据模型
对象关系数据模型
半结构化数据模型

1.2.5层次模型


层次模型是数据库系统中最早出现的数据模型
层次数据库系统的典型代表是IBM公司的IMS数据库管理系统
层次模型用树形结构来表示各类实体以及实体间的联系

满足以下两个条件的基本层次联系的集合为层次模型:
1.有且只有一个结点没有双亲结点,这个结点称为根结点
2.跟以外的其它结点有且只有一个双亲结点

层次模型的特点:
结点的双亲是唯一的;只能直接处理一对多的实体联系;每个记录类型可以定义一个排序字段,也称为码字段;任何记录值只有按其路径查看时,才能显出它的全部意义;没有一个子女记录值能够脱离双亲记录值而独立存在。

层次模型的完整性约束条件
1无相应的双亲结点值就不能插入子女结点值
2如果删除双亲结点值,则相应的子女结点值也被同时删除
3更新操作时,应更新所有相应记录,以保证数据的一致性

优点
层次模型的数据结构比较简单清晰
查询效率高,性能优于关系模型,不低于网状模型
层次数据模型提供了良好的完整性支持
缺点
结点之间多对多联系表示不自然
对插入和删除操作的限制多,应用程序的编写比较复杂
插叙子女结点必须通过双亲结点
层次命令趋于程序化

1.2.6网状模型


网状数据库系统采用网状模型作为数据的组织方式

满足以下两个条件的为网状模型:
1.允许一个以上的结点无双亲
2.一个结点可以有多于一个的双亲

网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束
码:唯一标识记录的数据项集合
一个联系中双亲记录与子女记录之间是一对多联系
支持双亲记录和子女记录之间某些约束条件

优点
能够更为直接地描述现实世界,如一个结点可以有多个双亲
具有良好的性能,存取效率较高
缺点
结构比较复杂,而且随着应用环境的扩大,数据库结构就变得越来越复杂,不利于最终用户掌握
DDL、DML语言复杂,用户不容易使用
记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节

1.2.7关系模型


关系模型的数据结构
关系(relation)
一个关系对应通常说的一张表
元组(tuple)
表中的一行即为一个元组
属性(attribute)
表中的一列即为一个属性,给一个属性起一个名称即属性名
主码(key)
也称码键。表中的某个属性组,它可以唯一确定一个元组
域(Domain)
是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
分量
元组中的一个属性值
关系模式
对关系的描述

关系必须是规范化的,满足一定的规范条件
关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。

优点
建立在严格的数据概念的基础上
概念单一:实体和各类联系都用关系来表示;对数据的检索结果也是关系
关系模型的存取路径对用户透明:具有更高的数据独立性,更好的安全保密性;简化了程序员的工作和数据库开发建立的工作

缺点
存取路径对用户透明,查询效率往往不如格式化数据模型
为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度

1.3数据库系统的结构

1.3.1数据库系统模式的概念

数据模型中有“型”type和“值”value的概念
型是指对某一类数据的结构和属性的说明,值是型的具体赋值
例如:学生记录型为(学号,姓名,年龄),则值为(20201314,维京,20)

模式是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及型而不涉及值
模式的一个具体值称为模式的一个实例,一个模式可能有很多具体值即很多实例
例如:2020年入学的学生资料数据库实例和2019年入学的学生资料数据库实例
实例中学生不同(值)但每个学生都是要记录学号姓名年龄(型)的,所以仅仅涉及型
模式是相对稳定的,而实例是相对变化的

1.3.2数据库系统的三级模式结构


1模式schema
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
一个数据库只有一个模式
2外模式external schema
外模式也称子模式subschema或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
外模式是模式的子集,一个数据库可以有多个外模式
因为它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式不同,则外模式的描述不同
3内模式internal schema
内模式也称存储模式storage schema,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织形式
例如:记录的存储方式是堆存储还是按照某个值属性的升降存储,索引按照什么方式组织,是hash索引还是B+树索引

1.3.3数据库的二级映像功能与数据独立性

数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像
1外模式/模式映像
当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像作相应改变
,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
2模式/内模式映像
当数据库的存储结构改变时(例如选用了另一种存储结构),由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变
从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性

1.4数据库系统的组成

1.硬件平台及数据库
(1)要有足够大的内存,存放操作系统、数据库管理系统的核心模块、数据缓冲区和应用程序
(2)有足够大的磁盘或磁盘阵列等设备存放数据库,有足够大的磁带作数据备份
(3)要求系统有较高的通道能力,以提高数据传送率
2.软件
(1)数据库管理系统。数据库管理系统是为数据库的建立、使用和维护配置的系统软件。
(2)支持数据库管理系统运行的操作系统。
(3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序。
(4)为特定应用环境开发的数据库应用系统
(5)以数据库管理系统为核心的应用开发工具。
3.人员
(1)数据库管理员database administrator,DBA
职责包括:
①决定数据库中的信息内容和结构
②决定数据库的存储结构和存取策略
③定义数据的安全性要求和完整性约束条件
④监控数据库的使用和运行
⑤、数据库的改进和重组、重构
(2)系统分析员和数据库设计人员
(3)应用管理员
(4)用户
①最终用户
②简单用户
③复杂用户

笔记使用教材:《数据库系统概论》 王珊 萨师煊 编著
视频课:中国大学MOOC 中国人民大学 数据库系统概论

数据库原理与应用笔记(一):数据库绪论相关推荐

  1. 数据库原理(十 四)- 数据库的实施和维护

    数据库原理(十 四)- 数据库的实施和维护 前言 数据的载入和应用程序的调试 数据库的试运行 数据库的运行和维护 借鉴 前言 完成数据库的物理设计之后,设计人员就要对数据库系统进行实施和试运行,在试运 ...

  2. 【嵌入式数据库原理与应用笔记】介绍,系统结构

    [功能]: 嵌入式系统中的数据存储和管理 数据查询 [定义]:嵌入式数据库系统是指支持移动计算或某种特定计算模式的数据库管理系统,它通常与操作系统和具体应用集成在一起,运行在智能型嵌入式设备或移动设备 ...

  3. 数据库原理概述,什么是数据库原理?

    数据库原理概述 数据处理发展的三个阶段: 人工管理阶段 不保存在计算机 没有专门软件 只有程序概念没有文件概念 数据面向程序 文件系统阶段 以文件形式存储在外部磁盘 数据面向应用 三个缺陷:数据冗余. ...

  4. 数据库原理 头歌实训 数据库常用对象

    SQL视图的定义与操纵 第1关:创建行列子集视图 任务描述 本关任务:创建计算机系的学生信息的视图 student_cs. 相关知识 行列子集视图是指视图的结果集来源于基本表,没有经过二次计算. ## ...

  5. 【数据库原理实验(openGauss)】创建数据库、表和索引

    创建数据库.表和索引 文章目录 创建数据库.表和索引 一.创建数据库 二.创建与删除模式 三.创建与修改表 (1)创建表 (2)修改表 四.创建与删除索引 (1)创建索引 (2)删除索引 一.创建数据 ...

  6. 数据库原理(2)关系型数据库理论

    二.关系型数据库理论 2.1 关系型数据库中基本概念 关系(Relation) 一个关系就是一张二维表,每个关系都有一个关系名 元组 二维表中的行称为元组 属性 二维表中的列称为属性 关系模式 关系模 ...

  7. ORACLE与数据库原理实验 实验二 实验数据库的建立(答案全)

    实验二 实验数据库的建立 [实验目的] [预备知识] [实验内容] [实验目的] 1. 熟悉和掌握 SQL的 Create Table, Drop Table, Alter Table语句语法: 2. ...

  8. 南京工程学院 数据库复习(数据库系统概论复习 及 数据库原理与应用样题)

    一.数据库系统概论 1.1 百度文库 复习文档(需下载券) <数据库系统概论>(王珊.第五版) ★第一章   绪论 v 本章内容:数据库系统概述.数据模型.数据库系统结构 v 本章主要考点 ...

  9. 【数据库原理实验(openGauss)】实验报告

    <数据库系统原理实验>报告 文章目录 <数据库系统原理实验>报告 一.实验课程性质和教学目标 二.实验课程教学基本要求 三.实验教学内容 实验一 认识DBMS系统 (一)实验目 ...

最新文章

  1. 安卓天天酷跑脚本刷高分图文教程
  2. MongoDB 安全 checklist 及最优配置模板
  3. Cloudera Manager 常见异常
  4. 使用uniapp开发婚庆应用的时候开发公共组件请求网络数据的方式
  5. 基于SOA架构---ServiceProxy定义
  6. Java8 Time
  7. 数字图像处理之频率域图像增强
  8. 何时使用委托而不使用接口
  9. 解决EF 4.0 中数据缓存机制
  10. 表格 大小_单元格大小乱七八糟?给我3秒,还你一个完美表格!
  11. 单片机c语言编程RGB,C语言将raw data(rgb/rgba)写成bmp文件(bmp24或32)
  12. Atom打造 c/c++编译环境(忙了一个上午)
  13. 由一次NoHttpResponseException异常,追究到Http长连接和短连接
  14. 磁力链转bt种子 python_Python实现BT种子转化为磁力链接
  15. 常见计算机硬件故障维修方法,电脑硬件有哪些常见问题 电脑硬件常见问题维修技巧【详解】...
  16. mysql slave 1062_mysql主从同步slave错误1062
  17. Go语言框架Gin之4 安全认证
  18. MABSA(Multimodal Aspect-Based Sentiment Analysis)2022ACL 预训练
  19. Python基于BeautifulSoup4库爬取亚马逊网页
  20. 一体式风速风向传感器

热门文章

  1. C++:实现量化Everest Option埃弗勒斯峰型测试实例
  2. 微服务系统的层次结构
  3. 《个体软件过程》目录—导读
  4. Cassandra在海量数据存储及大型项目案例介绍-part3
  5. html判断app是否安装类似淘宝,H5浏览器如何检查手机中是否安装某个APP并打开
  6. 【转载】iPhone任天堂模拟器 代码
  7. 【嵌入式Linux学习】Linux基础知识(总结版)
  8. OpenCV的三维重建实现方案
  9. 【ANSYS Workbench】ACT配合Workbench真能替代Mechanical APDL经典命令操作吗?
  10. 新浪微舆情/新浪舆情通