mysql学习之数据系统概述

☀️马上要成为打工人,这几天把前面的知识都捡了捡,发现自己对关系数据库这块的学习还有所缺失,于是本章开始学习mysql

这里写目录标题

  • 1. 数据库系统的发展
    • 1.1 人工管理阶段
    • 1.2 文件系统阶段
    • 1.3 数据库阶段
    • 1.4 大数据阶段
  • 2 数据库系统的组成
    • 2.1 数据模型的概念
    • 2.2 数据模型的种类
    • 2.3 关系数据库的规范化
      • 2.3.1 第一范式
      • 2.3.2 第二范式
      • 2.3.3 第三范式
    • 2.4 关系数据库的设计原则
    • 2.5 数据库概念设计
  • 3. 数据库的体系结构
    • 3.1 数据库的三级模式

1. 数据库系统的发展

数据库的发展主要经历了3个阶段:

1.1 人工管理阶段

1950年以前,计算机主要用于科学计算,并不擅长保存数据,而且当时计算机的硬件和软件都很落后,科学家对数据的管理基本都是通过人工管理的方式,这个阶段的数据管理特点主要有:

  • 数据不保存
  • 数据不共享
  • 数据不具有独立性
  • 使用应用程序管理数据

1.2 文件系统阶段

1960年左右,计算机的软件和硬件都有了较大的发展,有了磁盘等存储设备和专门管理数据的软件,该阶段的数据管理有以下特点:

  • 数据可以长期保存
  • 由文件系统管理数据
  • 共享性差、数据冗余大
  • 数据独立性差

1.3 数据库阶段

二十世纪60年代后,计算机逐渐应用于管理系统,而且规模越来越大,应用越来越广,数据量也急剧增长,对数据共享的要求越来越强烈,使得简单的文件系统不能满足用户的需求,于是出现了数据库系统来统一管理数据。数据库系统的出现,满足了多用户、多应用共享数据的需求,比文件系统具有明显的优点,标志着数据管理技术的飞跃。

1.4 大数据阶段

这个阶段主要是以一些分布式的数据仓库作为数据管理的工具,这里就不给与详细介绍了。

2 数据库系统的组成

数据库系统(database system,DBS) 是采用数据库技术的计算机系统,是由数据库、数据库管理系统、数据库管理员、支持数据库系统的硬件和软件组成,主要结构如下:
在这里插入图片描述

2.1 数据模型的概念

数据模型主要是toenail描述数据与数据之间的关系、数据的语义、数据一致性约束的概念性工具的集合,是数据库系统的核心。
数据模型主要是由数据结构、数据操作、数据完整性约束3部分构成,具体含义如下:

  • 数据结构:是对系统静态特征的描述、描述对象包括数据的类型、内容、性质、和数据之间的相互关系。
  • 数据操作:是对系统动态特征的描述、是对数据库各种对象实例的操作。
  • 完整性约束:是完整性规则的集合,它定义了给定数据模型中数据及其联系所具有的制约和依存规则。

2.2 数据模型的种类

常见的数据模型主要有层次模型、网状模型和关系模型,具体解释如下:

  1. 层次模型:层次模型用树状结构表示实体类型及其实体间联系的数据模型。该结构有以下特点:
    (1)每棵树有且仅有一个无双亲节点,称为根。
    (2)树中除根外所有节点有且仅有一个双亲。
    在这里插入图片描述

  2. 网状模型:用有向图结构表示实体类型及实体间联系的数据模型称为网状模型,用网状模型编写应用程序及其复杂,数据的独立性较差。
    在这里插入图片描述

  3. 关系模型:以二维来描述。关系模型中,每个表有多个字段列和记录行,每个字段列有固定的属性(数字、字符、日期等),关系模型数据结构简单、清晰、具有很高的数据独立性,是目前主流的数据模型
    关系数据模型的基本术语如下:
    (1)关系:一个二维表就是一个关系
    (2)元组:二维表中的一行就是一个元组,即表中的记录
    (3)属性:二维表中的一列,用类型和值表示
    (4)域:每个属性取值的变化范围,如性别的域为{男,女}。
    关系中的数据约束如下:
    (1)实体完整性约束:约束关系的主键中属性值不能为空值
    (2)参照完整性约束:关系之间的基本约束
    (3)用户定义的完整性约束:反应了具体应用中数据的语义要求。

在这里插入图片描述

2.3 关系数据库的规范化

关系数据库的规范化理论为:关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以分为5个等级:1NF,2NF,3NF,BCNF,4NF,5NF。一般情况下,数据库满足三范式就可以满足需求了,下面介绍一下最基础的三范式。

2.3.1 第一范式

在一个关系中,消除重复字段,且各字段都是最小的逻辑存储单位。第一范式是第二和第三范式的基础,是最基本的范式,第一范式的原则如下:
(1)数据组的每一个属性都只包含一个值
(2)关系中的每个数组必须包含相同数量的值
(3)关系中的每个数组一定不能相同
在任何一个关系数据库中,第一范式是最基本的要求,不满足第一范式的数据库就不是关系数据库。由此可见第一范式具有不可再分解的原子特性。
在这里插入图片描述

2.3.2 第二范式

第二范式是在第一范式的基础上建立起来的,即满足第二范式必须先满足第一范式,第二范式要求数据库汇总的每一个实体(即每个记录行)必须可以被唯一地区分。或者说要求实体的属性完全依赖于主关键字,不能存在仅依赖主关键字一部分的属性,如果存在部分依赖的话,需要将这个属性与主关键字分离出来形成一个新的实体。
在这里插入图片描述

2.3.3 第三范式

第三范式是在第二范式的基础上建立起来的,即满足第三范式必须先满足第二范式,第三范式要求关系表中不存在非关键字列中对任意候选关键字列的传递函数依赖,也就是说,第三范式要求一个关系表中不包含已在气压表中包含的非主关键字信息。
所谓传递函数依赖,就是指如果存在关键字a决定非关键字b,而非关键字段b,决定非关键字段c,则称非关键字段c传递依赖于关键字a。
在这里插入图片描述

2.4 关系数据库的设计原则

数据库设计是指对于一个给定的应用环境,根据用户的需求,利用数据模型和应用程序模拟现实中该应用环境的数据结构和处理活动的过程。
数据库设计原则如下:
(1)数据库内的数据文件的数据组织应该获得最大限度的共享、最小冗余、消除数据及数据依赖关系中的冗余部分,使依赖于同一个数据模型的数据达到有效的分离。
(2)保证输入输出、修改数据的一致性与正确性
(3)保证数据与使用数据的应用程序之间的高度独立性。
以上这些特点,需要涉及到数据库中一个概念:事物
事务是逻辑上的一组数据库操作,要么都执行,要么都不执行。事务在数据库中就是一个基本的工作单位,事务中包含的逻辑操作(SQL 语句),只有两种情况:成功和失败。
事物有4个特性:

  • 原子性(Atomicity ):一个事务是一个不可再分割的整体,要么全部成功,要么全部失败
  • 一致性(Consistency ):一个事务可以让数据从一种一致状态切换到另一种一致性状态
  • 隔离性(Isolution ):一个事务不受其他事务的影响,并且多个事务彼此隔离
  • 持久性(Durability ):一个事务一旦被提交,在数据库中的改变就是永久的,提交后就不能再回滚

2.5 数据库概念设计

概念设计是一个构建概念数据模型的过程,这个概念数据模型在抽象的高层建模;需要足够简单且通常是图形化的;并且能够用于与非技术用户交流数据库的需求。这里使用 ==ER 模型(实体关系模型)==来实现概念设计。
实体主要是指客观存在并且客相互区分的事物,实体既可以是实际事物,也可以是抽象的概念或者关系。实体之间一般有3种对应关系:

  1. 一对一:是指表a中的一条记录在表b中有且只有一条相匹配的记录。
  2. 一对多:表a中的行可以在表b中找到多行进行匹配,但是表b的行在表a中只有一个能匹配。
  3. 多对多:每个表中的行在相关表中具有多个匹配行,一般情况下,多对多的关系是通过创建第三个表实现表之间关系的连接。

3. 数据库的体系结构

3.1 数据库的三级模式

三级模式是指:模式、外模式、内模式

  1. 模式:迷失也称为逻辑模式或者概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,模式处于三级结构中间。

  2. 外模式:也称为用户模式,是数据库用户(包含应用程序猿和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式。

  3. 内模式:也称为存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。

  4. 参考资料

  • 《mysql从入门到精通》
  • 链接: 实体关系模型
  • 链接: mysql事物的四大特性
  • chatgpt

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT提示词系统学习-第三课-规范化提示让样本走在提示词前

开篇 本教程将为您提供有关不同类型提示的术语及如何描述它们。尽管提示工程中已经有一些方法来形式化术语,但这个领域仍在不断发展,我们在这篇教程中将给到大家展示一种基于QA形式的通用的、标准的提示语写法。 提示的组成部分 以下是在一个提示中经常会出现的一些组成部…

2023最新软件测试八股文,能不能拿心仪Offer就看你背得怎样了

前言 鉴于目前测试就业越来越严峻,内卷也成了测试领域的代名词了。 所以现在还想从事软件测试行业的小伙伴们,想要心仪的工作,要多努力学习哟。小编给大家整理了2023最新软件测试八股文,大家刷起来哟 1.软件测试基础题&#xff…

【软件测试】8年资深测试说出来我们的心声......

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 执着于手动的功能…

软件测试面试八股文有必要背吗?看完这份101问真的贼香

前言 2022秋招过半,很多同学会问软件测试面试八股文有必要背吗? 我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。 国内的互联网面试,恐怕是现存的、最接近科举考试的…

Qt-数据库开发-用户登录、后台管理用户

Qt-数据库开发-用户登录、后台管理用户 [1] Qt-数据库开发-用户登录、后台管理用户1、概述2、实现效果 [2] Qt使用SqlLite实现权限管理初始化数据库创建数据表插入数据可使用结构体对数据信息进行封装数据库查询函数为数据库更新数据函数为删除数据函数为 [3] 测试效果[4] sqli…

关于类的探索(2)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 关于类的探索(2) 前言前提两种学习方法先从一个例子开始稍微优化一下输出模块数据函数类类的继承关系类的内部解析收尾事项 前言 很久就想写一个关于python类…

web面试题记录之react

为什么使用hooks class 在组件之间复用状态逻辑很难,由高阶组件,render props 等其他抽象层组成的组件会形成“嵌套地狱”。| Hook 从组件中提取状态逻辑, 使得这些逻辑可以单独复用 【拆分】class 组件不好理解, 每个…

[streamlit]数据科学科研工作者的神器,必须要推荐一下

1. 前言 做科研当然要有过硬的专业知识,但是也少不了一些辅助,才能最大程度发挥我们的能力。因此,除去我们模型性能优秀,结果良好以外,如何进行一个好的展示,也是非常有必要的。那么今天,我们就…

大模型高效微调综述上:Adapter Tuning、AdaMix、PET、Prefix-Tuning、Prompt Tuning、P-tuning、P-tuning v2

文章目录 一、背景1.1 Tansformer1.1.1 模型结构1.1.2 注意力机制1.1.3 注意力在Transformer中的应用 1.2 BERT 二、PEFT综述2.1 PEFT的分类2.2 不同PEFT方法的对比 三、Additive methods3.1 Adapter Tuning3.1.1 Adapters(2019.2.2)3.1.2 AdaMix&#x…

AR眼镜——Vuzix Blade填坑笔记

这是市场给挖的坑!! 手里的一个项目,由于商务环节历时1年半的时间,到项目签合同的时候,公司的产品线布局变化极大,我已经很久没做过AR相关的项目了,一直在做VR的东西。合同签完拿给我过参数&…

【人脸识别】VGGFace2数据集介绍

论文题目::《VGGFace2: A dataset for recognising faces across pose and age》 论文地址:https://arxiv.org/pdf/1710.08092.pdf 1. 简介 VGGFace2是一个大规模人脸识别数据集,包含331万图片,9131个ID,平…

window.postMessage()接收不到信息(失效)

问题描述 按照正常的代码逻辑,应该是这个样子,通过iframe打开子窗口,能够正常通信。 // 接收端(父窗口) window.onmessage function (e) {// 逻辑代码 }// 发送端(子窗口) window.parent.po…

什么是人工智能在金融领域的应用?

人工智能在金融领域有很多应用,下面是一些例子: 什么是人工智能在金融领域的应用 风险评估:人工智能可以帮助金融机构评估贷款和投资的风险,例如通过分析借款人或投资对象的信用历史、收入、资产等信息来判断其还款能力和投资回报…

人工智能(AI)在金融行业的应用

人工智能(AI)技术在金融行业的应用日益广泛,为金融机构提供了更高效、更智能的解决方案。以下和大家分享AI在金融行业的一些主要应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff0…

那些似小实大的工作

上周末在厦门,我跟传奇个人站长高春辉联合在爱特咖啡搞了一场分享会,老高继续巡回分享他ip库的意义和发展历程。 那我分享的时候,就先替老高补充了一个案例,我说2004年底进入百度,2005年初转入商业产品部,然…

新手小白学JAVA 面向对象之多态

多态 1. 概念 多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。 可以把不同的子类对象都当作父…

Flask 安装与基础结构

Flask介绍: Flask 是由python开发的轻量的web框架,小巧、灵活。一个脚本就可以启动web项目。 Flask部署: 1、创建虚拟环境 命令行输入:conda -create -n 项目名 Python版本号 启动虚拟环境 activate 环境名 2、安装flask框…

小学生智力测试软件,考验小学生的智商测试,全答对算你厉害

这几年来,小学生的题目让很多人脑筋急转还是弯不过来,答不上。要是小学生能够答出来了而你不能,那你会不会觉得自己的智商遭到了碾压?肯定会吧!想不想扳回?想的话就赶紧把这道智商测试题做了吧,…

再看SimCSE

一、概述 二、要点分析原始ppt解读 2.1 作用:语义表达作用检索聚类 2.2 简述:简单的对比学习来做语义表征 预训练对比学习:最佳的语义表征方法 无监督:dropout有监督:NLI 蕴含矛盾数据 原理: 利用对比学习…

MIT最新成果:这款能「自我复制」的机器人,从飞机到火箭都能自己造!

来源:新智元 本文约2300字,建议阅读5分钟科幻成真!《超能陆战队》里能自我复制的微型机器人,被MIT造出来了? 现在的机器人,能力究竟有多离谱? 实在难以想象,就连造飞机、造火箭都成了…