数据库系统 --- 绪论

目录

一、数据库系统概述

        1.4个基本概念

                2.数据管理技术的产生和发展

二、数据模型

        1.数据建模

        2.概念模型

        3.数据模型的三要素

        4.层次模型

        5.关系模型

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

        1.基本概念

        2.数据库的三级模式结构

        3.数据库的两级映像与数据独立性

        4.小结


一、数据库系统概述

        1.4个基本概念

                (1)数据:描述事物的符号记录,是数据库中存储的基本对象。

                (2)数据库(DB):存放数据的仓库,是长期存储在计算机内有组织、可共享的大量数据的集合。具有较小的数据冗余、较高的数据独立性和可扩展性,并可为各种用户共享。

                (3)数据库管理系统:位于用户与操作系统之间的数据管理软件。它和操作系统一样是计算机的基础软件。其主要功能包括以下几个方面:

                        ①.数据定义功能。

                        ②.数据组织、存储和管理功能。

                        ③.数据操纵功能。

                        ④.数据库的事务管理和运行管理功能。

                        ⑤.数据库的建立和维护功能。

                        ⑥.其他功能,如通信功能等等。

                (4)数据库系统:指引入数据库后的计算机系统,一般是指由数据库、数据库管理系统(及其应用开发工具)、应用系统和数据库管理员组成的存储、管理、处理和维护数据的系统。

                2.数据管理技术的产生和发展

        数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。总结如下。

                        数据独立性:指数据与应用程序相互独立,即数据的结构发生变化后,应用程序不必做相应的修改。

                数据库系统阶段的数据具有的特点:①.整体数据的结构化。②.数据的共享性强,冗余度低且易于扩展。③.数据的独立性强。④.数据由数据库管理系统统一管理和控制,包括数据的安全性保护、数据的完整性检查、数据的并发控制、数据库的恢复。

二、数据模型

        数据模型是一种模型,它是对现实世界数据特征的抽象。

        1.数据建模

                数据建模:把现实世界中的具体事物抽象、组织为某一数据库管理系统支持的数据模型的过程。

                数据建模的步骤:

                        ①.建立概念模型:把现实世界抽象为信息世界。

                          概念模型:把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个数据库管理系统支持的数据模型,而是概念级别的模型。

                        ②.将概念模型转换成数据模型。

        2.概念模型

                (1)信息世界的基本概念:

                        ①.实体(entity):客观存在并可以相互区别的事物称为实体。

                        ②.属性(attribute):实体所具有的某一特性。

                        ③.码(key):唯一标识实体的属性集。

                        ④.实体类型:具有相同属性的实体必然具有共同的特性和特质。

                        ⑤.实体集:同一类型实体的集合。

                        ⑥.联系:信息世界中反应为实体各属性之间的联系,实体之间的联系。

                (2)概念模型的表示方法:实体-联系模型(E-R图)

        3.数据模型的三要素

                数据模型通常由数据结构、数据操纵和完整性约束三部分组成。

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

                数据结构描述的内容有两类:一类是与对象的类型、内容、性质相关的,比如网状模型中的数据项、记录;一类是与数据之间的联系有关的对象。

                数据结构是对系统静态特性的描述。

                数据操纵是对数据库中的各种对象(型)的实例(值)允许执行操作的集合,包括操作以及有关的数据规则。

                数据操纵是对系统动态特性的描述。

                完整性约束是一组完整性规则。

        4.层次模型

                在层次模型中,每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线表示,这种联系是双亲结点和子女结点之间的一对多联系。如下图:

        5.关系模型

                (1)关系模型的数据结构:从用户角度来看,关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表。

                (2)关系模型的术语:①.关系:一个关系通常说的一张二维表。②.元组:表中的一行即为一个元组。③.属性:表中的一列代表一个属性。④.码:又称码键或键,是表中的某一属性或一组属性,其值可以唯一确定一个元组。⑤.域:某一属性的取值范围。⑥.分量:元组中的一个属性值。⑦.关系模型:对关系的描述,一般表示为:关系名(属性1,属性2,...)。

                (3)关系模型要求关系必须是规范化的,关系中的每个分量都必须是一个不可分的数据项。简单来说,就是不可以表中有表。

                (4)关系模型中数据操纵是集合操作,操作对象和操作结果都是关系。

                (5)关系模型的优点:①.关系模型建立在严格的数学概念基础上。②.关系模型的概念单一。③.关系模型的存取路径对用户隐蔽。

                (6)关系模型的缺点:由于存取路径对用户是隐蔽的,故其效率不如层次模型。

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

        从数据库管理系统角度来看,数据库管理系统通常采用模式、外模式和内模式三级模式结构。这是数据库系统内部的体系结构。

        1.基本概念

        在数据模型中有“类型”(或者型)和“值”的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。

        模式也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模型的一个实例。

        模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

        2.数据库的三级模式结构

        各种数据库管理系统,他们在体系结构上通常都具有相同的特征,即采用三级模式结构并提供两级映像功能。

        (1)模式

        模式是所有用户的公共数据视图,它是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,且不与具体的应用程序或者程序设计语言有关。

        模式实际上是数据库数据在逻辑级上的视图,一个数据库对应一种模式。定义模式时不仅要定义数据的逻辑结构,还要定义数据之间的联系,以及与数据有关的安全性、完整性要求。

        (2)外模式

        外模式也成子模式或者用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。外模式是数据库用户的数据视图,是与某一应用程序有关的数据的逻辑表示。

        一个数据库可以有多个外模式,一个应用程序只能使用一个外模式。

        外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。

        数据库管理系统提供外模式数据定义语言来严格定义外模式。

        (3)内模式

        内模式也成物理模式或者存储模式,一个数据库只有一个内模式。它是对数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。

        3.数据库的两级映像与数据独立性

        数据库系统的三级模式是数据的三个抽象级别,它把数据的具体组织留给了数据库管理系统管理,使得用户能逻辑、抽象地处理数据,而不必关系其内部底层具体存储。

        数据库管理系统在这三级模式之间提供了两级映像:外模式/模式映像和模式/内模式映像。

        模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对于同一模式,可以有多个外模式。对于每个外模式,数据库系统都有一个外模式/模式映射来定义该外模式与模式之间的对应关系。

        当模式改变时,由数据库管理员对各个外模式/模式的映像做出相应改变,可以使外模式保持不变。

        数据库只有一个模式,也只有一个内模式,因此,模式/内模式映像是唯一的。

        4.小结

        在数据库的三级模式结构,其中,模式(即全局逻辑结构)是数据库的核心与关键,它独立于数据库的其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式。

        内模式依赖于数据库的全局逻辑结构,但独立于数据库的用户视图(即外模式),也独立于具体的存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。

        外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。当应用需求发生较大变化,相应的外模式不能满足其视图要求时,该外模式就得做相应改动。所以设计外模式时应充分考虑到应用的扩充性。

        特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。数据库的两级映像保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需修改。数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。另外,数据的组织和存取交由数据库管理系统负责,简化了应用程序的编制,大大减少了应用程序的开发和维护成本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/249605.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TensorFlow神经网络中间层的可视化

TensorFlow神经网络中间层的可视化 TensorFlow神经网络中间层的可视化1. 训练网络并保存为.h5文件2. 通过.h5文件导入网络3. 可视化网络中间层结果(1)索引取层可视化(2)通过名字取层可视化 TensorFlow神经网络中间层的可视化 1. …

“Java 已死、前端已凉”?技术变革与编程语言前景:Java和前端的探讨

前端已死话题概论 本文讨论了近期IT圈中流传的“Java 已死、前端已凉”言论。我们审视了这些言论的真实性,并深入探讨了技术行业的演变和新兴技术的出现对编程语言和前端开发的影响。通过分析历史发展、当前趋势和未来展望,我们提供了对这些话题更深层次…

装修干货,新房装修防水细节要注意!福州中宅装饰,福州装修

水管破裂,墙面起泡,地面渗水……这些水涨船高的问题,你遇到过吗?如果经常遇到,那么你需要了解一些关于防水的干货知识。今天,我就来分享一些装修防水的小技巧和经验,帮助你摆脱装修“水淋淋”的…

Bootstrap 响应式实用工具-来自Twitter,目前最受欢迎的前端框架

Bootstrap 提供了一些辅助类,以便更快地实现对移动设备友好的开发。这些可以通过媒体查询结合大型、小型和中型设备,实现内容对设备的显示和隐藏。 需要谨慎使用这些工具,避免在同一个站点创建完全不同的版本。响应式实用工具目前只适用于块和表切换。 超小屏幕 手机 (<…

黑马点评05分布式锁 1互斥锁和过期时间

实战篇-09.分布式锁-基本原理和不同实现方式对比_哔哩哔哩_bilibili 1.分布式锁 因为jvm内部的sychonized锁无法在不同jvm之间共享锁监视器&#xff0c;所以需要一个jvm外部的锁来共享。 2.redis setnx互斥锁 加锁解锁即可 2.1不释放锁可能死锁 redis 的setnx不会自动释放锁…

四十二、Redis

目录 一、简介 二、Redis基础 三、Redis的持久化 四、Redis主从、哨兵、分片集群安装 五、Redis主从 六、Redis哨兵 七、Redis分片集群 一、简介 Redis是一个内存中的数据结构存储系统&#xff0c;可以用作数据库、缓存和消息中间件。它的数据结构包括字符串、列表、集合…

zabbix批量添加端口监控

背景 以前做监控的时候&#xff0c;一台机器上就几个重要端口&#xff0c;手动添加一下监控就可以了。这次公司一个新业务上了很多服务器&#xff0c;每台服务器上的业务端口很多&#xff0c;而且还不一样。着手动添加会累死人的。所以想zabbix怎么批量添加端口监控。通过查了…

Flink的处理函数

之前的流处理API&#xff0c;无论是基本的转换、聚合&#xff0c;还是更为复杂的窗口操作&#xff0c;其实都是基于DataStream进行转换的&#xff0c;所以可以统称为DataStream API。 在Flink更底层&#xff0c;我们可以不定义任何具体的算子&#xff08;比如map&#xff0c;f…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑碳交易机制的含风电电力系统日前优化调度》

解读标题 "考虑碳交易机制的含风电电力系统日前优化调度" 意味着在该研究或应用中&#xff0c;对含有风电的电力系统进行日前优化调度&#xff0c;并考虑了碳交易机制。 具体解读如下&#xff1a; "含风电电力系统"&#xff1a;指涉及到风能作为电力系统的…

前端设计模式之旅:命令模式

引言 使用命令模式&#xff0c;我们可以将执行特定任务的对象与调用该方法的对象解耦。 核心思想 命令模式的核心思想是将请求封装成一个对象&#xff0c;从而使请求的发起者和请求的执行者解耦。 请求的发起者只需要知道如何创建命令对象并将其传递给请求者&#xff0c;而不需…

Python基础入门第四节,第五节课笔记

第四节 第一个条件语句 if 条件: 条件成立执行的代码1 条件成立执行的代码2 ...... else: 条件不成立执行的代码1 条件不成立执行的代码2 …… 代码如下: 身高 float(input("请输入您的身高(米):")) if 身高 >1.3:print(f您的身高是{身高},已经超过1.3米,您需…

python+appium自动化常见操作

1、点击、输入操作 #点击 driver.find_element(id,com.lemon.lemonban:id/navigation_my).click() #输入 driver.find_element(id,com.lemon.lemonban:id/et_password).send_keys(abc)2、隐形等待 driver.implicitly_wait(10)3、显性等待 #显性等待 locator (xpath,xpath) wai…

数学公式推导中 “:=“和“:=“的区别

A:B 将A定义为&#xff08;记为&#xff0c;令为&#xff09;B A:B 将B定义为&#xff08;记为&#xff0c;令为&#xff09;A

fckeditor编辑器在Chrome浏览器下编辑时多出空格解决方法

查看专栏目录 Network 灰鸽宝典专栏主要关注服务器的配置&#xff0c;前后端开发环境的配置&#xff0c;编辑器的配置&#xff0c;网络服务的配置&#xff0c;网络命令的应用与配置&#xff0c;windows常见问题的解决等。 文章目录 结尾语网络的梦想 dedecms网站后台采用fckedi…

『OPEN3D』1.5.1 动手实现点云暴力最近邻

本专栏地址: https://blog.csdn.net/qq_41366026/category_12186023.html?spm=1001.2014.3001.5482https://blog.csdn.net/qq_41366026/category_12186023.html?spm=1001.2014.3001.5482 1、暴力最近邻法 暴力最近邻法 (Brute-force Nearest Neighbour Search,BF 搜索) 是…

《人工智能导论》知识思维导图梳理【第6章节】

文章目录 第六章 知识图谱1 知识图谱概述2 知识图谱相关概念3 知识图谱的逻辑结构4 知识图谱的数据存储5 知识图谱的构建过程6 例题 markdown内容的分享 第六章 知识图谱 1 知识图谱概述 2 知识图谱相关概念 3 知识图谱的逻辑结构 4 知识图谱的数据存储 5 知识图谱的构建过程 6…

论文阅读——Mask DINO(cvpr2023)

DINO是检测&#xff0c;Mask DINO是检测分割。 几个模型对比&#xff1a; 传统的检测分割中&#xff0c;检测头和分割头是平行的&#xff0c;Mask DINO使用二分图匹配bipartite matching提高匹配结果的准确性。 box对大的类别不计算损失&#xff0c;因为太大了&#xff0c;会…

Gitee:远程仓库步骤

第一步&#xff1a;新建仓库 第二步&#xff1a;初始化本地仓库&#xff0c;git init 创建分支 git branch 新分支名 第三步&#xff1a;git add . &#xff1a;添加到暂存区 第四步&#xff1a;git config –global user.email关联邮箱&#xff0c;user.name用户名 第…

UE5 Landscaping MapBox 学习笔记

1. Landscaping MapBox 操作录屏 https://www.bilibili.com/video/BV113411U7T9/?spm_id_from333.337.search-card.all.click&vd_source707ec8983cc32e6e065d5496a7f79ee6 安装Landscaping与LandscapingMapbox两个插件 打开Landscaping窗口&#xff0c;这里应该要在Proj…

【CDP】CDP 集群通过Knox 访问Yarn Web UI,无法跳转到Flink Web UI 问题解决

一、前言 记录下在CDP 环境中&#xff0c;通过Knox 访问Yarn Web UI&#xff0c;无法跳转到Flink Web UI 的BUG 解决方法。 二、问题复现 登录 Knox Web UI 找到任一 Flink 任务 点击 ApplicationMaster 跳转 Flink WEB UI 出问题 内容空白&#xff0c;无法正常跳转到…