2024022502-数据库绪论

数据库绪论

在这里插入图片描述

数据管理的三个阶段

人工管理阶段

文件系统阶段

数据库系统阶段

基本术语

数据(Data)

  • 计算机用来描述事物的记录(文字.图形.图像.声音)
  • 数据的形式本身并不能完全表达其内容,需要经过语义解释。数据与其语义是不可分的

数据库(Database,简称DB)

  • 数据库是长期存储在计算机内有结构的大量的共享的数据集合。

数据库管理系统(DBMS)

  • 数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
  • 数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。
  • 数据库系统(DBS)
    • 数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

数据冗余度:

  • 指同一数据重复存储时的重复程度。

数据的安全性(Security)

  • 数据的安全性是指保护数据,防止不合法使用数据造成数据的泄密和破坏,使每个用户只能按规定,对某些数据以某些方式进行访问和处理。

数据的完整性(Integrity)

  • 数据的完整性指数据的正确性、有效性和相容性。即将数据控制在有效的范围内,或要求数据之间满足一定的关系。

并发(Concurrency)控制

  • 当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果并使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。

数据库恢复(Recovery)

  • 计算机系统的硬件故障、软件故障、操作员的失误以及故意的破坏也会影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能。

数据库的三要素

数据(描述事物的符号记录,数据库里面存储的内容)

存储器(外存,一般是硬盘,数据库的载体)

数据库管理系统(DBMS,数据库的管理软件)

数据模型

模型

  • 是现实世界特征的模拟和抽象

数据模型

  • 也是一种模型,它是现实世界数据特征的抽象,表示实体以及实体间的联系
  • 一个用于描述数据、数据间关系、数据语义和数据约束的概念工具的集合

两级模型的抽象

  • 一是概念模型
    • (也称信息模型,用于信息世界的建模),它是按用户的观点来对数据和信息建模,主要用于数据库设计。这类模型强调其语义表达能力,要能够较方便、直接地表达应用中的各种语义知识,这类模型应为概念简单、清晰、易于用户理解,是用户和数据库设计人员之间进行交流的语言。
  • 二是数据模型
    • (如层次、网状、关系模型,用于机器世界),它是按计算机系统的观点对数据建模,主要用于DBMS的实现。这类模型通常需要有严格的形式化定义,而且常常会加上一些限制或规定,以便于机器上的实现。还通常有一组严格定义了语法和语义的语言,人们可以使用它来定义、操纵数据库中的数据。

数据模型的三要素

  • (1) 数据结构
    • 数据结构是所研究的对象类型(Object Type)的集合。这些对象是数据库的组成部分。一般可分为两类:一类是与数据类型、内容、性质有关的对象,如网状模型中的数据项、记录,关系模型中的属性、关系等;一类是与数据之间联系有关的对象,如网状模型中的系型(Set Type)等。
  • (2) 数据操作
    • 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合。数据库主要有检索和更新(插入、删除、修改)两大类操作。
    • 数据结构是对系统静态特性的描述,数据操作是对系统动态特性的描述。
  • (3) 数据的约束条件
    • 数据的约束条件是完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据状态以及状态的变化,以保证数据的正确、有效、相容。

概念模型

  • 实体(Entity)
    • 客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系,如学生、部门、课程、银行帐户、选课、订货、演出、比赛等。
  • 属性(Attribute)
    • 实体所具有的某一特性称为属性。如学生实体可以由学号、姓名、性别、出生年月、系、入学时间等属性组成
  • 码(关键字,Key)
    • 唯一标识实体的(最小的)属性集称为码。例如学号学生实体的码
  • 域(Domain)
    • 属性的取值范围称为该属性的域。例如学号的域为8位整数,姓名的域为字符串集合,,性别的域为(男,女)。
  • 实体型(Entity Type)
    • 具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻划同类实体,称为实体型。例如:学生(学号,姓名,性别,出生年月,系,入学时间)
  • 实体集(Entity Set)
    • 同型实体的集合称为实体集。例如,全体学生就是一个实体集。
  • 联系(Relationship)
    • 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。〖组成实体的各属性之间以及不同实体集之间的联系〗

联系的种类

1对1联系

  • 定义:若对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。

1对多联系

  • 定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n

多对多联系

  • 定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n

概念模型的表示方法

E-R图

  • 使用长方形来表示实体型,框内写上实体名
  • 椭圆型表示实体的属性,并用无向边把实体和属性连接起来
  • 用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型,若实体之间联系也具有属性,则把属性和菱形也用无向边连接上

基本数据模型

层次模型(Hierarchical Model)

  • 最早使用的一种模型
  • 数据结构是一棵有向树
  • 特点
    • (1) 有且仅有一个结点无双亲,该结点称为根结点。
    • (2) 其他结点有且只有一个双亲

网状模型(Network Model)

  • 数据结构是一个有向图
  • 特点
    • (1)有一个以上的结点没有双亲
    • (2)结点可以有多于一个的双亲
  • 能表示实体之间的多种复杂联系

关系模型(Relational Model)

  • 关系模型是用二维表格结构来表示实体及实体之间的联系的模型
  • 数据结构是一个“二维表框架”组成的集合
  • 关系模型概念简单,清晰,用户易懂易用,有严格的数学基础
  • 大多数数据库系统都是关系型的
  • 主要术语
    • 关系:一个关系对应于我们平常讲的一张表
    • 元组:表中的一行称为一个元组
    • 属性:表中的一列称为属性,每列的名称为属性名
    • 主码:表中的某个属性组,它们的值唯一的标识一个元组
    • 域:属性的取值范围
    • 分量:元组中的一个属性值
    • 关系模式:对关系的描述,用关系名(属性名1,属性名2,…,属性名n)来表示
  • 特点
      1. 概念单一:
      • 实体或实体之间的联系都用关系表示
      • 用户的观点里,数据的逻辑结构就是表
      1. 关系必须是规范化的关系
      • 指在关系模型中,每一个关系模式要满足一定的要求或者称为规范条件
      • 其最基本的要求是每一个分量是一个不可分的数据项,也就是说,不允许表中还有表。
      1. 用户对数据的检索操作不过是从原来的表中得到一张新的表
      • 在用户眼中,无论是原始数据还是结果数据,都是同一种数据结构——二维表。
      • 数据操作是集合操作,即操作对象和操作结果都是若干元组的集合,而不象非关系模型中那样单记录的操作方式。
      • 把存取路径向用户隐藏起来,提高了数据的独立性。

数据库系统的体系结构

三层模式:外模式、模式、内模式

  • 外模式
    • 又称为用户模式,是数据库用户和数据库系统的接口,是数据库用户的数据视图,是数据库用户可以看见和使用的局部数据的逻辑结构和特征的描述
    • 一个数据库通常都有多个外模式。一个应用程序只能使用一个外模式,但同一外模式可为多个应用程序所用
  • 模式
    • 可细分为概念模式和逻辑模式,是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述。
    • •一个数据库只有一个模式。模式不但要描述数据的逻辑结构,还要描述数据之间的联系、数据的完整性、安全性要求。 
      
  • 内模式
    • 又称为存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
    • •一个数据库只有一个内模式。内模式并不涉及物理记录,也不涉及硬件设备。
      

•二层映象功能:外模式/模式映象和模式/内模式映象

  • 三层模式关系
    • 数据库模式是数据库的核心和关键,外模式通常是模式的子集。数据按外模式的描述提供给用户,按内模式的描述存储在硬盘上,而模式介于外、内模式之间,既不涉及外部的访问,也不涉及内部的存储,从而起到隔离作用,有利于保持数据的独立性,内模式依赖于全局逻辑结构,但可以独立于具体的存储设备
  • 映象
    • 是一种对应规则,说明映象双方如何进行转换。
  • 外模式/模式映象
    • 作用:把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系趣来
    • 当模式改变时,只要对外模式/模式映象做相应的改变,使外模式保持不变,则以外模式为依据的应用程序不受影响,从而保证了数据与程序之间的逻辑独立性,也就是数据的逻辑独立性
  • 模式/内模式映象
    • 作用:把描述全局逻辑结构的模式与描述物理结构的内模式联系起来
    • 当内模式改变时,比如存储设备或存储方式有所改变,只要模式/内模式映象做相应的改变,使模式保持不变,则应用程序就不受影响,从而保证了数据与程序之的物理独立性。
      XMind: ZEN - Trial Version

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

综合服务 IntServ

目录 综合服务 IntServ IntServ 定义的两类服务 IntServ 的四个组成部分 流 (flow) 资源预留协议 RSVP RSVP 协议的工作原理 IntServ 体系结构在路由器中的实现 综合服务 IntServ 体系结构存在的主要问题 综合服务 IntServ 综合服务 IntServ (Integrated Services) 可…

电机控制----电机反电动势波形的测量

电机控制----电机反电动势波形的测量 很多人在开发霍尔传感器方波控制时,在如何准确确定出三相绕组的通电顺序方面存在疑惑,在网上找了很多资料都是只给出了相序表,但是真正拿过来引用时却往往对应不了自己的电机,导致项目开发过…

全志H713/H618方案:调焦电机(相励磁法步进电机)的驱动原理、适配方法

一、篇头 全志H713平台,作为FHD投影的低成本入门方案,其公板上也配齐了许多投影使用的模组,本文即介绍投影仪调焦所用的步进电机,此模组的驱动原理、配制方法、调试方法。因为条件限制,本文采用的是H618香橙派Z3平台&…

【电子书】系统_网络_运维

资料 wx:1945423050 整理了一些互联网电子书,推荐给大家 系统_网络_运维 4G无线网络原理及优化.epubHyperledger Fabric 技术内幕:架构设计与实现原理.epubJSP应用与开发技术(第3版).epubKali Linux 2网络渗透测试实…

[力扣 Hot100]Day35 LRU 缓存

题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否…

QT文件IO

七、文件IO QFileDialog文件对话框 与QMessageBox一样,QFileDialog也继承了QDialog类,直接使用静态成员函数弹窗,弹窗的结果(选择的文件路径)通过函数返回值返回。 // 获取一个打开或保存的文件路径 // 参数1&#xff…

如何让电脑待机而wifi不关的操作方法!!

1、一台电脑如果一天不关机,大约消耗0.3度电。 一般一台电脑的功耗约为250-400W(台式机)。 一台电脑每月的耗电量:如果是每小时300W每天10小时每月30天90KW,即90千瓦时的电。 这只是保守估计。 2、使用完毕后正常关闭…

蓝桥杯-最小砝码

知识点&#xff1a;本题主要考察任何一个物体都可以用 3进制表示。 #include <iostream> #include<cmath> using namespace std; //知识点:任何一个物体都可以用 3进制表示 int main() { int n; cin >> n; int sum 0; for (int i 0;; i)…

Linux-实用操作(黑马学习笔记)

各类小技巧&#xff08;快捷键&#xff09; ctrl c 强制停止 ● Linux某些程序的运行&#xff0c;如果想要强制停止它&#xff0c;可以使用快捷键ctrl c ● 命令输入错误&#xff0c;也可以通过快捷键ctrl c&#xff0c;退出当前输入&#xff0c;重新输入 ctrl d 退出或登…

在autodl搭建stable-diffusion-webui+sadTalker

本文介绍在autodl.com搭建gpu服务器&#xff0c;实现stable-diffusion-webuisadTalker功能&#xff0c;图片音频 可生成视频。 autodl租GPU 自己本地部署SD环境会遇到各种问题&#xff0c;网络问题&#xff08;比如huggingface是无法访问&#xff09;&#xff0c;所以最好的方…

红队攻防之powershell上线基础免杀(一)

不努力&#xff0c;你背井离乡干嘛&#xff1f;当卧底啊 环境为win10&#xff0c;在哥斯拉生成的webshell下&#xff0c;执行powershell命令。 测试杀毒软件为&#xff1a;火绒&#xff0c;腾讯电脑管家 哥斯拉生成php文件的webshell 如图 哥斯拉进行连接 把要执行命令的文件…

[嵌入式系统-35]:RT-Thread -20- 新手指南:在Keil MDK-ARM 模拟器上运行RT-Thread

目录 前言&#xff1a; 一、Keil MDK-ARM 模拟器概述 1.1 Keil概述 1.2 Keil MDK-ARM 1.3 Keil MDK-ARM软件仿真模拟器 1.4 Keil模拟器支持的CPU类型 二、Keil MDK ARM安装 前言&#xff1a; 一般嵌入式操作系统因为它的特殊性&#xff0c;往往和硬件平台密切相关连&am…

LeetCode_Java_环形链表(题目+思路+代码)

141.环形链表 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位…

再探二分法

推荐阅读 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;一&#xff09; 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;二&#xff09; 文章目录 推荐阅读二分查找题目思路解法左闭右闭式写法左闭右开式写法 二分查找 题目 给定一个…

Kafka之Producer源码

Producer源码解读 在 Kafka 中, 我们把产生消息的一方称为 Producer 即 生产者, 它是 Kafka 的核心组件之一, 也是消息的来源所在。它的主要功能是将客户端的请求打包封装发送到 kafka 集群的某个 Topic 的某个分区上。那么这些生产者产生的消息是怎么传到 Kafka 服务端的呢&a…

免编程经验,搭建宠物店小程序轻松实现

在如今的互联网时代&#xff0c;小程序商城已成为各行业推广和销售的热门方式。对于花店来说&#xff0c;搭建一个自己的小程序商城不仅可以提升品牌形象&#xff0c;还可以方便顾客在线选购花卉产品。下面就来教大家如何轻松搭建一个花店小程序商城&#xff0c;并通过引流获得…

信息安全计划

任何管理人员或人力资源专业人士都知道&#xff0c;除非彻底记录标准和实践&#xff0c;否则永远无法真正实施和执行标准和实践。正如您可能想象的那样&#xff0c;在保护您的网络、技术和数据系统免受网络威胁以及在发生这些事件时规划最及时、高效和有效的响应时&#xff0c;…

【C++】C++对C语言的关系,拓展及命名空间的使用

文章目录 &#x1f4dd;C简述C融合了3种不同的编程方式&#xff1a;C和C语言关系是啥呢&#xff1f;C标准 &#x1f320;C应用&#x1f320;C语言优点第一个C程序 &#x1f320;命名空间&#x1f320;命名空间的使用命名空间的定义 &#x1f320;怎么使用命名空间中的内容呢&am…

Centos中安装Docker及Docker的使用

在centos7系统中安装指定版本的docker,并通过docker使用安装mysql为例,阐述docker的使用。 2.1、Docker卸载及安装yum依赖 【卸载Docker,如果安装的Docker的版本不合适】 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-…

机器学习:SVM算法(Python)

一、核函数 kernel_func.py import numpy as npdef linear():"""线性核函数:return:"""def _linear(x_i, x_j):return np.dot(x_i, x_j)return _lineardef poly(degree3, coef01.0):"""多项式核函数:param degree: 阶次:param …