第一章 数据库绪论

news2024/9/20 10:37:51

数据库绪论

数据管理的三个阶段

人工管理阶段

文件系统阶段

数据库系统阶段

基本术语

数据(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. 概念单一:
      2. 实体或实体之间的联系都用关系表示
      3. 用户的观点里,数据的逻辑结构就是表
      1. 关系必须是规范化的关系
      2. 指在关系模型中,每一个关系模式要满足一定的要求或者称为规范条件
      3. 其最基本的要求是每一个分量是一个不可分的数据项,也就是说,不允许表中还有表。
      1. 用户对数据的检索操作不过是从原来的表中得到一张新的表
      2. 在用户眼中,无论是原始数据还是结果数据,都是同一种数据结构——二维表。
      3. 数据操作是集合操作,即操作对象和操作结果都是若干元组的集合,而不象非关系模型中那样单记录的操作方式。
      4. 把存取路径向用户隐藏起来,提高了数据的独立性。

数据库系统的体系结构

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

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

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

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

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

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

相关文章

Transformer Fusion for Indoor RGB-D Semantic Segmentation

如何聚合多尺度特征这是一个问题,现有的方法大多通过卷积来实现,而很少在特征融合的地方使用长距离依赖,因此对于大物体的分割就会有挑战。本文提出基于transformer的融合策略,来更好的建模上下文。 TransD-Fusion包含①&#xff…

SpringBoot SpringBoot 开发实用篇 6 监控 6.4 info 端点指标控制

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇6 监控6.4 info 端点指标控制6.4.1 问题引入6.4.2 info 端点指标控制…

CleanMyMac4.12最新版mac系统内存空间清理教程

CleanMyMac X可以优化Mac系统。mac系统用久了,用CleanMyMac清理一下效果还不错。可用来清理系统的缓存、日志、语言和垃圾文件,还能卸载应用程序。 Mac是不需要安装任何杀毒软件的,虽然不用杀毒,但是日常的清理还是有必要的&#…

单机高性能网络模型

传统网络模型 PPC和prefork 优点 实现简单 缺点 PPC:fork代价高,性能低父子进程通信要用IPC,监控统计等实现会比较复杂OS的上下文切换会限制并发连接数,一般几百 案例 世界上第一个Web服务器CERN httpd采用PPC模式Apache MP…

简单网页制作代码 HTML+CSS+JavaScript香港美食(8页)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

Spring 5有哪些新特性?这份spring5高级编程带你深入剖析,直击P8!

spring Spring 框架可以说是Java 世界最为成功的框架,在企业实际应用中,大部分的企业架构都基于Spring 框架。它的成功来自于理念,而不是技术,它最为核心的理念是IoC (控制反转)和AOP (面向切面…

Flutter高仿微信-第28篇-好友详情-查看个人头像

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图: 实现代码: /*** Author : wangning* Email : maoning20080809163.co…

Redis如何实现持久化(AOF、RDB、混合模式)的优缺点

👨‍💻个人主页: 才疏学浅的木子 🙇‍♂️ 本人也在学习阶段如若发现问题,请告知非常感谢 🙇‍♂️ 📒 本文来自专栏: Redis ❤️ 支持我:👍点赞 &#x1f33…

OpenStackds集群部署(一)

一、OpenStack简介 Openstack体系架构 1. Openstack服务之间的关系 2.体系架构 3. 硬件要求 4. 网络架构 1.1 什么是OpenStack OpenStack是把一堆计算机资源和一堆存储服务器放到世界上不同的地方,然后通过这个OpenStack提供的不同服务程序连接起来&#xff0…

Linux(基于Centos7)(二)

文章目录一、任务介绍二、任务实施三、任务扩展一、任务介绍 Linux服务器配置与管理(基于Centos7.2)任务目标(一) 实施该工单的任务目标如下: 知识目标 1、熟悉Linux文件权限的表示方法。 2、了解改变文件权限的两种…

使用内存技术实现 HTAP 的可行性

万籁 “俱寂” 时,一家知名 IT 研究与顾问咨询机构的发声,给关系型数据库这个平静的池塘丢了颗巨石:2014 年,Gartner 正式提出了 HTAP 这个概念。 Gartner’s definition in 2014: utilizes in-memory computing technologies to …

查阅必备----常用的SQL语句,配语句和图解超详细,不怕你忘记

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 **收录于专栏 数据库 ⭐查阅必备–常用的SQL语句⭐ 文章目录⭐查阅必备--常用的SQL语句⭐一,关键语句大全&am…

驱动——设备树属性获取相关实验

完成设备树属性获取相关实验 通过键名获取数值相关API获取设备树属性 1、要获取的属性如下所示&#xff1a; /*mynode0x12345678{ compatible "hqyj,mynode";//字符串 astring"hello 22071";//字符串 uint <0xaabbccdd 0x11223344>;//32位无符号…

SpringBoot SpringBoot 开发实用篇 6 监控 6.5 health 端点指标控制

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇6 监控6.5 health 端点指标控制6.5.1 问题引入6.5.2 health 端点指标…

十二、虚拟 DOM 和 render() 函数(1)

本章概要 虚拟DOMrender()函数 Vue.js 之所以执行性能高&#xff0c;一个很重要的原因就是它的虚拟 DOM 机制。 12.1 虚拟 DOM 浏览器在解析 HTML 文档时&#xff0c;会将文档中的元素、注释、文本等标记按照它们的层级关系组织成一棵树&#xff0c;这就是熟知的 DOM 树。元…

MCE | LYTAC 与靶向蛋白降解技术

靶向蛋白降解 (TPD) 是一种有效性的&#xff0c;高度选择性的诱发蛋白降解方式。近年来&#xff0c;以 PROTAC 为代表的 TPD 技术的研究如火如荼。PROTAC 主要降解的是胞内蛋白&#xff0c;实际上&#xff0c;有 40% 的基因产物为胞外和膜相关蛋白&#xff0c;如生长因子、细胞…

一种新的数据聚类启发式优化方法——黑洞算法(基于Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

【学习QT必备的C++基础】C++类和对象

文章目录C类的定义和对象的创建详解类的定义创建对象访问类的成员使用对象[指针](http://c.biancheng.net/c/80/)总结C类的成员变量和成员函数详解在类体中和类体外定义成员函数的区别C类成员的访问权限以及类的封装简单地谈类的封装对private和public的更多说明C对象的内存模型…

异构网络小入

A Survey of Heterogeneous Information Network Analysis Heterogeneous Graph Attention Network 异构网络很火吗&#xff1f; 在一个网络中&#xff0c;不用节点的类型不同&#xff0c;这是肯定的。 所以&#xff0c;异构网络在表征比较复杂的情形时&#xff0c;是比较合适…

低代码引擎半岁啦,来跟大家唠唠嗑...

作者&#xff1a;刘菊萍(絮黎) 之前低代码引擎一直是在阿里集团内部进行孵化的&#xff0c;对外开源算是一次新生。从2022年3月23日开源至今&#xff0c;我们的低代码引擎已经半岁了&#xff0c;希望借这个机会来跟大家唠唠嗑。 开源地址&#xff1a;https://github.com/aliba…