【数据库复习】第一章绪论
目录
- 一、数据库系统概述
- 1.1四个基本概念
- 1.2数据库管理技术的产生和发展
- 1.3数据库系统的特点
- 二、数据模型
- 2.1两类数据模型
- 2.2概念模型
- 2.3 数据模型的组成要素
- 2.4常用的数据模型
- 2.5层次模型
- 2.6网状模型
- 2.7关系模型
- 三、数据库系统的结构
- 3.1 数据库系统模式的概念
- 3.2 数据库系统的三级模式结构
- 3.3 数据库的二级映像功能与数据独立性
- 四、数据库系统的组成
一、数据库系统概述
1.1四个基本概念
数据:数据库中存储的基本对象
数据的定义:描述事物的符号记录
数据的种类:数字、文字、图形、图像、音频、视频、学生的档案记录等
数据举例:学生档案中的学生记录(李明,男,199505,江苏南京市,计算机系,2013)语义:学生姓名、性别、出生年月、出生地、所在院系、入学时间解释:李明是个大学生,1995年5月出生,江苏南京市人, 2013年考入计算机系
数据库
定义:长期存储在计算机内、有组织、可共享的大量数据的集合
基本特征:
- 数据按一定的数据模型组织、描述和储存
- 可为各种用户共享
- 冗余度较小
- 数据独立性较高
- 易扩展
数据库管理系统
描述:
- 位于用户与操作系统之间的一层数据管理软件;是基础软件,是一个大型复杂的软件系统
用途:
- 科学地组织和存储数据、高效地获取和维护数据
功能:
- 数据定义功能:提供数据定义语言(DDL)定义数据库中的数据对象
- 数据组织、存储和管理:分类组织、存储和管理各种数据;确定组织数据的文件结构和存取方式;实现数据之间的联系;提供多种存取方法提高存取效率
- 数据操纵功能:提供数据操纵语言(DML);实现对数据库的基本操作 (查询、插入、删除和修改)
- 数据库的事务管理和运行控制:数据库在建立、运行和维护时由数据库管理系统统一管理和控制;保证数据的安全性、完整性、多用户对数据的并发使用;发生故障后的系统恢复
- 数据库的建立和维护功能:数据库初始数据的装载和转换;数据库转储、恢复功能;数据库的重组织;性能监视、分析等
- 其他功能:数据库管理系统与网络中其它软件系统的通信;数据库管理系统系统之间的数据转换;异构数据库之间的互访和互操作
数据库系统
构成:
- 数据库
- 数据库管理系统(及其应用开发工具)
- 应用程序
- 数据库管理员
1.2数据库管理技术的产生和发展
数据管理:
- 对数据进行分类、组织、编码、存储、检索和维护
- 数据处理的中心问题
发展过程:
- 人工管理阶段(20世纪50年代中之前)
- 文件系统阶段(20世纪50年代末–60年代中)
- 数据库系统阶段(20世纪60年代末–现在)
发展动力:
- 应用需求的推动
- 计算机硬件的发展
- 计算机软件的发展
1.3数据库系统的特点
数据结构化
数据的整体结构化是数据库的主要特征之一
整体结构化:不再仅仅针对某一个应用,而是面向全组织;不仅数据内部结构化,整体是结构化的,数据之间具有联系;数据记录可以变长;数据的最小存取单位是数据项
数据的用数据模型加粗样式描述,无需应用程序定义
数据的共享性高,冗余度低且易扩充
数据面向整个系统,可以被多个用户、多个应用共享使用。
数据共享的好处:减少数据冗余,节约存储空间;避免数据之间的不相容性与不一致性 ‘使系统易于扩充
数据独立性高
物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的。当数据的物理存储改变了,应用程序不用改变。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,应用程序不用改变。
数据独立性由数据库管理系统的二级映像功能来保证/
数据由数据库管理系统统一管理和控制
数据库管理系统提供的数据控制功能
(1)数据的安全性(Security)保护
保护数据以防止不合法的使用造成的数据的泄密和破坏。
(2)数据的完整性(Integrity)检查
保证数据的正确性、有效性和相容性。
(3)并发(Concurrency)控制
对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
(4)数据库恢复(Recovery)
将数据库从错误状态恢复到某一已知的正确状态。
二、数据模型
2.1两类数据模型
**概念模型:**也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
逻辑模型和物理模型:
- 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。
- 物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
客观对象的抽象过程—两步抽象
- 现实世界中的客观对象抽象为概念模型; 将现实世界抽象为信息世界
- 把概念模型转换为某一数据库管理系统支持的数据模型;将信息世界转换为机器世界
2.2概念模型
用途:
- 概念模型用于信息世界的建模
- 是现实世界到机器世界的一个中间层次
- 是数据库设计的有力工具
- 数据库设计人员和用户之间进行交流的语言
对概念模型的基本要求:
- 较强的语义表达能力
- 简单、清晰、易于用户理解
信息世界中的基本概念:
- 实体(Entity) :客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。
- 属性(Attribute) :实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
- 码(Key): 唯一标识实体的属性集称为码。
- 实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体称为实体型
- 实体集(Entity Set) :同一类型实体的集合称为实体集
- 联系(Relationship): 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型
实体-联系方法(Entity-Relationship Approach):
- 用E-R图来描述现实世界的概念模型
- E-R方法也称为E-R模型
2.3 数据模型的组成要素
数据结构:
数据模型的数据结构:描述数据库的组成对象,以及对象之间的联系
描述的内容
- 与对象的类型、内容、性质有关
- 与数据之间联系有关
数据结构是对系统静态特性的描述。
数据操作:
对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则
数据操作的类型:查询、更新(包括插入、删除、修改)
数据模型对操作的定义:操作的确切含义、操作符号、操作规则(如优先级)、实现操作的语言
数据操作是对系统动态特性的描述。
数据的完整性约束条件:
- 一组完整性规则的集合
- 完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则
- 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容
数据模型对完整性约束条件的定义:
- 反映和规定必须遵守的基本的通用的完整性约束条件。
- 提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。
2.4常用的数据模型
- 层次模型(Hierarchical Model)
- 网状模型(Network Model)
- 关系模型(Relational Model))
- 面向对象数据模型(Object Oriented Data Model)
- 对象关系数据模型(Object Relational Data Model)
- 半结构化数据模型(Semistruture Data Model)
2.5层次模型
数据库系统中最早出现的数据模型
层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统
层次模型用树形结构来表示各类实体以及实体间的联系
满足下面两个条件的基本层次联系的集合为层次模型:
- 有且只有一个结点没有双亲结点,这个结点称为根结点
- 根以外的其它结点有且只有一个双亲结点
特点:
- 结点的双亲是唯一的
- 只能直接处理一对多的实体联系
- 每个记录类型可以定义一个排序字段,也称为码字段
- 任何记录值只有按其路径查看时,才能显出它的全部意义
- 没有一个子女记录值能够脱离双亲记录值而独立存在
完整性约束条件 :
- 无相应的双亲结点值就不能插入子女结点值
- 如果删除双亲结点值,则相应的子女结点值也被同时删除
- 更新操作时,应更新所有相应记录,以保证数据的一致性
优点:
层次模型的数据结构比较简单清晰 ;查询效率高,性能优于关系模型,不低于网状模型;层次数据模型提供了良好的完整性支持
缺点:
结点之间的多对多联系表示不自然;对插入和删除操作的限制多,应用程序的编写比较复杂;查询子女结点必须通过双亲结点;层次命令趋于程序化
2.6网状模型
满足下面两个条件的基本层次联系的集合:
- 允许一个以上的结点无双亲;
- 一个结点可以有多于一个的双亲。
网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束
- 码:唯一标识记录的数据项的集合
- 一个联系中双亲记录与子女记录之间是一对多联系
- 支持双亲记录和子女记录之间某些约束条件
优点:
- 能够更为直接地描述现实世界,如一个结点可以有多个双亲
- 具有良好的性能,存取效率较高
缺点:
- 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
- DDL、DML语言复杂,用户不容易使用
- 记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节
2.7关系模型
关系数据库系统采用关系模型作为数据的组织方式.
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
- 关系(Relation):一个关系对应通常说的一张表
- 元组(Tuple):表中的一行即为一个元组
- 属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名
- 主码(Key): 也称码键。表中的某个属性组,它可以唯一确定一个元组
- 域(Domain): 是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
- 分量:元组中的一个属性值。
- 关系模式:对关系的描述。关系名(属性1,属性2,…,属性n)学生(学号,姓名,年龄,性别,系名,年级)
关系必须是规范化的,满足一定的规范条件。
**最基本的规范条件:**关系的每一个分量必须是一个不可分的数据项,不允许表中还有表
关系的完整性约束条件:
- 实体完整性
- 参照完整性
- 用户定义的完整性
优点:
- 建立在严格的数学概念的基础上
- 概念单一:实体和各类联系都用关系来表示;对数据的检索结果也是关系
- 关系模型的存取路径对用户透明:具有更高的数据独立性,更好的安全保密性;简化了程序员的工作和数据库开发建立的工作
缺点:
- 存取路径对用户透明,查询效率往往不如格式化数据模型
- 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度
三、数据库系统的结构
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构 。
从数据库最终用户角度看,数据库系统的结构分为:单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器/数据库服务器多层结构等
3.1 数据库系统模式的概念
- 型(Type): 对某一类数据的结构和属性的说明 。学生记录: (学号,姓名,性别,系别,年龄,籍贯)
- 值(Value): 是型的一个具体赋值。一个记录值: (201315130,李明,男,计算机系,19,江苏南京市)
- 模式(Schema):数据库逻辑结构和特征的描述。是型的描述,不涉及具体值;反映的是数据的结构及其联系;模式是相对稳定的
- 实例(Instance): 模式的一个具体值。反映数据库某一时刻的状态;同一个模式可以有很多实例;实例随数据库中的数据的更新而变动
3.2 数据库系统的三级模式结构
模式(也称逻辑模式):数据库中全体数据的逻辑结构和特征的描述;所有用户的公共数据视图
一个数据库只有一个模式。
模式的地位:是数据库系统模式结构的中间层。与数据的物理存储细节和硬件环境无关;与具体的应用程序、开发工具及高级程序设计语言无关。
模式的定义:
- 数据的逻辑结构(数据项的名字、类型、取值范围等)
- 数据之间的联系
- 数据有关的安全性、完整性要求
外模式(也称子模式或用户模式):
数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述;数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式的地位:介于模式与应用之间
模式与外模式的关系:一对多
外模式与应用的关系:一对多
外模式的用途:保证数据库安全性的一个有力措施;每个用户只能看见和访问所对应的外模式中的数据
内模式(也称存储模式):
是数据物理结构和存储方式的描述
是数据在数据库内部的表示方式:记录的存储方式(例如,顺序存储,按照B树结构存储,按hash方法存储等);索引的组织方式;数据是否压缩存储;数据是否加密;数据存储记录结构的规定
一个数据库只有一个内模式。
3.3 数据库的二级映像功能与数据独立性
外模式/模式映像:
- 模式:描述的是数据的全局逻辑结构
- 外模式:描述的是数据的局部逻辑结构
- 同一个模式可以有任意多个外模式
- 每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系
- 映象定义通常包含在各自外模式的描述中
保证数据的逻辑独立性:当模式改变时,数据库管理员对外模式/模式映象作相应改变,使外模式保持不变;应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
模式/内模式映像:
- 模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的
- 数据库中模式/内模式映象是唯一的
- 该映象定义通常包含在模式描述中
保证数据的物理独立性:当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库模式:即全局逻辑结构是数据库的中心与关键 ;独立于数据库的其他层次 ;设计数据库模式结构时应首先确定数据库的逻辑模式
数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去 。
数据的存取由数据库管理系统管理:简化了应用程序的编制;大大减少了应用程序的维护和修改
四、数据库系统的组成
数据库
数据库管理系统(及其开发工具)
应用程序
数据库管理员(DBA)
硬件平台及数据库
软件
人员
【数据库复习】第一章绪论相关推荐
- 樊昌信版通信原理期末复习第一章绪论
第1章 绪论 一.知识点梳理 1.通信的目的:传递消息中所包含的信息. 2.消息:是物质或精神状态的一种反映. 3.信息:是消息中包含的有效内容. 4.通信系统的一般模型 信源输入变换器:将非电物理量 ...
- 自动控制原理复习——第一章绪论
随着自动控制原理课程的结课,这时候应该做一个该课程系统的学习总结了,半个学期过去了,虽然自控老师是一位颇具经验的老教授但无奈自己实在抢不着教室有限的座位,于是就开始了大学里日常的自学之旅(大学大学大不 ...
- 数据库 第一章 绪论
1 数据库系统概述 1.1 数据库的4个基本概念 1.数据(Data) 数据(Data)是数据库中存储的基本对象 数据的定义 描述事物的符号记录 2.数据库(Database) 数据库的定义 数据库( ...
- 计算机控制技术(第一章 绪论)
计算机控制技术 第一章 绪论 前述 计算机控制系统的组成 计算机控制系统分类 微型计算机控制系统分类 计算机控制系统的发展趋势 前述 前段时间开始写博客,到现在非常喜欢把学到的东西和要复习的东西在博客 ...
- jBPM3.12用户指南中文翻译----第一章 绪论
这是Jboss 的jBPM3.12框架的用户指南的中文翻译.其中第一章的译文,是我在网上找到的.其他几章都是我自己做的翻译.我的翻译是中英文对照,只翻译部分我认为重要的,不翻译简单的英文,以免浪费你我 ...
- 通信电子线路期末复习第一章和第二章上
写在前面:本文仅供个人学习使用.本课程授课教师为乐艳芬. 文章目录 第一章 绪论课后作业题 第二章 丙类谐振功率放大器 2.1小信号谐振放大器概述 2.2单谐振回路-LC谐振回路 电容单位的换算 计算 ...
- 数据库系统概论-第一章绪论
数据库系统概论-第一章绪论 1.1数据库系统概述 1.2数据模型 1.4数据库系统的组成 1.数据库 2.数据库管理系统(及其开发工具) 3.应用系统 4.数据库管理员 5.(用户) 1.4.1 数据 ...
- 人工智能原理——第一章 绪论
人工智能原理--第一章 绪论 文章目录 人工智能原理--第一章 绪论 1.1 人工智能的发展 人工智能的发展 – 孕育期 人工智能的发展 – 摇篮期 人工智能的发展 – 发展期(1970-1979) ...
- 小吴的《机器学习 周志华》学习笔记 第一章 绪论
小吴的<机器学习 周志华>学习笔记 第一章 绪论 近一年时间接触到不少机器学习的知识,虽然断断续续学了一些,总感觉还没有入门(只学会了疯狂调包).因此,最近开始系统学习Machine Le ...
- 《机器人学导论--Join J.Craig》第一章 绪论
<机器人学导论–Join J.Craig>第一章 绪论 1.1 背景 1. 机器人取代人:人工成本原来越高,工业机器人的成本越来越低,且无需人工那些福利.待遇等,属于一本万利.随着工业机器 ...
最新文章
- 傅里叶,请再帮我们一次吧....
- UITabelView使用流程
- 机器学习视觉图像算法工程师--面试笔试--常考知识点乱找总结
- 题目1063:整数和
- Python中的高阶变量
- 中电福富外包offer要等多久_校招|双非本科,非科班,自学JAVA 1年时间终于斩获offer!...
- 语言速算24点的小窍门_期末备考:小学数学期末常考题型汇总+速算解题思路分析...
- 【pl/sql番外篇】 存储过程 游标
- WinPE作为启动硬盘
- 厉害,Spring Boot 2.3.0 刚刚发布了!
- 一个函数搞定无限层级分类
- JAVA毕设项目-网上订餐系统(附:源码 论文 Sql文件)
- 《C专家编程》随笔1:读者心得
- 数字逻辑——触发器的选用和使用注意事项
- prometheus+grafana监控以及企业微信告警
- Y4M(YUV4MPEG2) 格式文件详解
- com.alibaba.fastjson.JSONException: syntax error, pos 1
- linux系统如何修复分区工具,推荐一个Linux分区恢复工具Testdisk(Windows也能用)...
- latex的恒等于怎么写?
- 知名软件ADSafe暗藏恶意代码 从众多网站劫持流量
热门文章
- linux下的临时文件在哪,linux – 如何找出创建临时文件的内容
- 《数据中心项目规范(征求意见稿)》
- Facebook基于数据中心的机器学习实践
- AI:2020年6月23日北京智源大会演讲分享之AI交通专题论坛——11:05-11:35杜博文教授《基于广义时空数据挖掘的交通复杂行为认知-从研究到工业》
- DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- DL之CNN:利用CNN算法实现对句子分类+进行情感分析(预测句子情感)
- DayDayUp:2018年06月07日高考必胜:程序猿的方式祝福莘莘学子高考必胜!
- JAVA_OA(十四)番外:JAVAWEB防止表单重复提交的方法整合(包括集群部署)
- Pycharm下载tensorflow问题
- js中如何通过身份证号计算出生日期和年龄