mysql学习之数据系统概述

news2024/10/7 8:28:31

☀️马上要成为打工人,这几天把前面的知识都捡了捡,发现自己对关系数据库这块的学习还有所缺失,于是本章开始学习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.coloradmin.cn/o/403622.html

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

相关文章

扬帆优配|2600亿汽车巨头闪崩近9%,汽车股惊现“冰火两重天”!

今日早盘,A股全体低开震荡调整,首要股指跌逾1%,科创板体现略强,盘中一度直线拉升翻红,两市一度近4200股下跌。 盘面上,轿车服务、信创、半导体等板块相对强势,轿车整车、超导概念、一体压铸、建…

【MySQL】MySQL的索引

目录 介绍 索引的分类 索引的操作-创建索引-单列索引-普通索引 格式 操作 索引的操作-创建索引-单列索引-唯一索引 索引的操作-创建索引-单列索引-主键索引 索引的操作-创建索引-组合索引 索引的操作-全文索引 索引的操作-空间索引 索引的验证 索引的特点 介绍…

Lazada、Allegro、速卖通测评自养号技术(方法解析)

无论是亚马逊、拼多多Temu、shopee、Lazada、wish、速卖通、煤炉、敦煌、雅虎、eBay、TikTok、Newegg、乐天、美客多、阿里国际、沃尔玛、OZON、Joom、Facebook、Coupang、独立站、Cdiscount、Kaufland、DARTY、Allegro、MANO等平台测评自养号对于卖家来说算是一种低成本、高回…

什么?你不知道 ConcurrentHashMap 的 kv 不能为 null?

一、背景 最近设计某个类库时使用了 ConcurrentHashMap 最后遇到了 value 为 null 时报了空指针异常的坑。 本文想探讨下以下几个问题: (1) Map接口的常见子类的 kv 对 null 的支持情况。 (2)为什么 ConcurrentHashM…

Ethercat学习-电机调试问题总结

文章目录问题1:初始化不进入OP状态问题2:PDO通讯数据不对主站硬件:STM32F405LAN8720A主站软件:SOEM 问题1:初始化不进入OP状态 现象描述:主站初始化过程中,打印信息显示状态一直在safe-op&…

多态且原理

多态 文章目录多态多态的定义和条件协变(父类和子类的返回值类型不同)函数隐藏和虚函数重写的比较析构函数的重写关键字final和override抽象类多态的原理单继承和多继承的虚函数表单继承下的虚函数表多继承下的虚函数表多态的定义和条件 定义&#xff1…

Python批量爬取游戏卡牌信息

文章目录前言一、需求二、分析三、处理四、运行结果前言 本系列文章来源于真实的需求本系列文章你来提我来做本系列文章仅供学习参考阅读人群:有Python基础、Scrapy框架基础 一、需求 全站爬取游戏卡牌信息 二、分析 查看网页源代码,图片资源是否存在…

Node.js + MongoDB 搭建博客 -- 登录页面

准备工作 安装Node.js安装express等相关库MongoDB数据库电脑系统:win11 功能分析 搭建一个简单的具有多人注册、登录、发表文章以及登出功能的博客。 设计目标 未登录:主页左侧导航栏显示home、login、register,右侧显示已发表的文章、发…

视觉SLAM14讲第三章习题作业

这是本人的解答,并非官方解答 验证旋转矩阵是正交矩阵 在第44页中,旋转矩阵的引入是这样的: 所以,我们需要验证矩阵 R[e1Te1′e1Te2′e1Te3′e2Te1′e2Te2′e2Te3′e3Te1′e3Te2′e3Te3′]R \begin{bmatrix} e_1^{T}e_1^{}&am…

【Java开发】设计模式 02:工厂模式

1 工厂模式介绍工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使…

Weblogic管理控制台未授权远程命令执行漏洞复现(cve-2020-14882/cve-2020-14883)

目录漏洞描述影响版本漏洞复现权限绕过漏洞远程命令执行声明:本文仅供学习参考,其中涉及的一切资源均来源于网络,请勿用于任何非法行为,否则您将自行承担相应后果,本人不承担任何法律及连带责任。 漏洞描述 Weblogic…

CorelDRAW2023最新版新增功能200多个新模板

CorelDRAW是一款平面矢量绘图排版软件,CorelDRAW运用涵盖企业VI设计,广告设计,包装设计,画册设计,海报、招贴设计,UI界面设计,网页设计,书籍装帧设计,插画设计&#xff0…

韩信点兵问题,鸡兔同笼问题,闰年判断问题等,我用Python瞬间搞定(13)

小朋友们好,大朋友们好!我是猫妹,一名爱上Python编程的小学生。欢迎和猫妹一起,趣味学Python。今日主题最近猫妹一直在练习Python编程,有些习题真是经典啊!比如韩信点兵问题,比如鸡兔同笼问题等…

【Linux】线程实例 | 简单线程池

今天来写一个简单版本的线程池 1.啥是线程池 池塘,顾名思义,线程池就是一个有很多线程的容器。 我们只需要把任务交到这个线程的池子里面,其就能帮我们多线程执行任务,计算出结果。 与阻塞队列不同的是,线程池中内有…

代码随想录刷题-数组-螺旋矩阵II

文章目录螺旋矩阵 II习题我的解法别人的解法螺旋矩阵 II 本节对应代码随想录中:代码随想录,讲解视频:一入循环深似海 | LeetCode:59.螺旋矩阵II_哔哩哔哩_bilibili 习题 题目链接:59. 螺旋矩阵 II - 力扣&#xff0…

将spring boot项目打包成一个可执行的jar包

将spring boot项目打包成一个可执行的jar包&#xff0c;jar包自带了整个运行环境简化配置&#xff0c;可直接运行&#xff0c;本次使用HelloWorld项目演示。 创建Spring Boot项目在pom.xml中导入插件 <build><plugins><plugin><groupId>org.springfr…

计算机网络:移动IP

移动IP相关概念 移动IP技术是移动结点&#xff08;计算机/服务器&#xff09;以固体的网络IP地址&#xff0c;实现跨越不同网段的漫游功能&#xff0c;并保证了基于网络IP的网络权限在漫游中不发生任何改变。移动结点&#xff1a;具有永久IP地址的设备。归属代理&#xff08;本…

西瓜播放器全屏功能源码分析

H5业务中使用了西瓜播放器&#xff0c;嵌入各个APP&#xff0c;全屏时候会有相应的差异。带着好奇心&#xff0c;阅读一下xgpplayer全屏功能部分源代码。源码地址一、工具方法其他方法看名称就知道是dom操作相关&#xff0c;无需多说&#xff0c;上面这两个工具方法主要用来检测…

数学建模资料整理

数学建模中有三类团队&#xff1a; 第一类&#xff1a;拿到题目&#xff0c;讨论&#xff0c;然后建模手开始建模&#xff0c;编程手开始处理数据&#xff0c;写作手开始写作。 第二类&#xff1a;拿到题目&#xff0c;团内大佬&#xff0c;开始建模&#xff0c;然后编程&#…

【GAOPS055】verilog 乘法、除法和取余

乘法硬件原理结论思路1思路2举例编码仿真综合除法硬件原理verilog代码仿真结果资源占用乘法硬件原理 结论 可以将乘法A x B转为A的移位相加。 利用乘2n就是左移n位的特性乘2^n就是左移n位的特性乘2n就是左移n位的特性&#xff0c;将数拆分为2n2^n2n表示 思路1 原始列竖式计…