数据库知识学习

news2025/1/17 0:21:10

关系型数据库学习

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 关系型数据库学习
  • 一 数据库介绍
    • 1 相关定义
        • 数据(data)
        • 数据库(database、DB)
        • 数据库管理系统(DataBase Management System , DBMS)
    • 2 数据模型-数据库原理及应用
        • 概念层数据模型(概念模型)
        • 组织层数据模型(组织模型)
    • 3 概念模型
        • 基本概念
          • 实体(Entity)
          • 实体集(entity collection)
          • 属性(attribute)
          • 属性的域(domain)
          • 码或关键字(key)
    • 4 实体间的联系
    • 5 组织模型
        • 层次模型
        • 网状模型
        • 关系模型
    • 6 数据库分类
        • 按传统模型分类
        • 按应用分类
    • 7 关系型数据库与非关系型数据库比较
  • 二 关系型数据库设计
    • 1 E-R图设计原则
    • 2 关系型数据库设计原则
    • 3 数据的规范化
      • (1)范式
        • 第一范式(1NF)
        • 第二范式(2NF)
        • 第三范式(3NF)
        • 反规范化
      • (2)函数依赖
  • 三 关系型数据库事务
    • 1 事务及特性
    • 2 事务并发带来的问题
    • 3 事务的隔离级别
  • 四 MySQL简介及安装
    • 1 MySQL简介
    • 2 目录
    • 3 MySQL安装
  • 五 SQL基础操作
      • 数据查询语言-DQL
      • 数据操作语言-DML
      • 事务处理语言-TPL
      • 数据控制语言-DCL
      • 数据定义语言-DDL
      • 指针控制语言-CCL


一 数据库介绍

1 相关定义

数据(data)

描述事物的符号记录称为数据;
可以是数字、文字、图形图像等,数据有多种表现形式,都可以经过数字化后存入计算机。

数据库(database、DB)

数据库是指长期存储在计算机内、有组织、可共享的数据集合;
数据库的数据是按一定的数据模型组织、描述、存储;
数据库的数据具有较小的冗余度、较高的数据独立性和扩展性。

数据库管理系统(DataBase Management System , DBMS)

数据库管理系统是操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

一般我们说的MySQL、Oralce等数据库,指的是数据库管理系统(DBMS)。

2 数据模型-数据库原理及应用

数据模型实际上是模型化数据和信息的工具。根据模型应用的不同目的,可将模型分为两大类:

概念层数据模型(概念模型)

从数据的语义视角来抽取模型,是按用户的观点来对数据和信息进行建模,主要用于数据库设计。
概念模型主要使用实体-联系(Entity-Relationship)表示,也称E-R模型。

组织层数据模型(组织模型)

从数据的组织层次来描述数据,是按计算机的观点来对数据和信息建模,主要用于DBMS的实现。

3 概念模型

基本概念

概念层数据模型是指抽象现实系统中有应用价值的元素及其关联关系;
反映现实系统中有应用价值的信息结构;
不依赖于数据的组织层数据模型。

常用的概念层数据模型有:实体-联系(Entity-Relationship, E-R)模型、语义对象模型。

实体(Entity)

客观存在的、可以相互区别的事物,可以是具体的人、事、物,也可以是抽象的概念。

实体集(entity collection)

具有相同性质的多个实体所组成的集合。

属性(attribute)

实体所具有的特征,一个实体可以用若干属性来刻画。

属性的域(domain)

属性的取值范围。

码或关键字(key)

在实体属性中,能够区别实体集中不同实体的某个属性或某几个属性的组合。
在这里插入图片描述
图1 使用E-R图表示员工实体及其属性

4 实体间的联系

实体与实体间的关系,主要有以下三种。
在这里插入图片描述

实体、属性与实体之间的关系结合起来就是一张完整的E-R图。用E-R图表示的概念模型独立于具体的DBMS所支持的数据模型,是数据模型的共用基础。
在这里插入图片描述

5 组织模型

层次模型

用树形结构表示实体和实体之间的关系
典型的层次结构模型数据库有:IMB公司的IMS
在这里插入图片描述

网状模型

用图形结构标识实体与实体之间的联系的数据模型称为网状数据模型,典型网状模型数据库有:CODASYL系统。
在这里插入图片描述

关系模型

把数据看成是二维表中的元素,而这个二维表就是关系。
用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型,典型关系数据模型有:MySQL、Oracle
在这里插入图片描述

6 数据库分类

按传统模型分类

  • 层次式数据库
  • 网络式数据库
  • 关系型数据库

按应用分类

互联网中,最常用的数据库模型是两种,即关系型数据库和非关系型数据库。

  • 关系型数据库产品主要有(Oracle、MySQL、DB2、Access、SQLlite等)
  • 非关系型数据库(Redis、Mongdb、Hbase等)
  • 实时/时序数据库(RTDB-Real Time DataBase):适用于工业监控领域,包括数据采集,海量监测数据的压缩、存储及检索,基于监测数据的反馈及控制等功能。

7 关系型数据库与非关系型数据库比较

关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。

  • 优点:
    1、易于维护:都是使用表结构,格式一致;
    2、使用方便:SQL语言通用,可用于复杂查询;
    3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
  • 缺点:
    1、读写性能比较差,尤其是海量数据的高效率读写;
    2、固定的表结构,灵活度稍欠;
    3、高并发读写需求,对传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
    非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。
  • 优点:
    1、格式灵活:存储数据的格式可以是key-value形式、文档形式、图片形式等,使用灵活,应用场景广泛;
    2、使用方便:可以使用硬盘或者随即存储器作为载体,而关系型数据库只能使用硬盘;
    3、高扩展性。
  • 缺点:
    1、不提供sql支持,学习和使用成本较高;
    2、无事务处理;
    3、数据结构相对复杂,复杂查询方面稍欠。

二 关系型数据库设计

1 E-R图设计原则

  • E-R图的设计质量决定了关系数据库的设计质量。而E-R图的设计又依赖于软件前期的需求分析与功能设计。
  • 数据库设计人员通常采用“一事一地”的原则从功能描述中抽象出E-R图。
    • 实体不是一个具体的对象,而是某一类别所有事物的统称;
    • 属性通常用于表示实体的某种特性,也可以表示实体关系的特征;
    • 属性应该存在且只存在于某一地方(实体或关系中);
    • 实体是一个单独的 个体,不能存在于另一个实体中成为另一个实体的属性;
    • 同一个实体在一个E-R图中仅能出现一次。

2 关系型数据库设计原则

  • 根据E-R图来设计数据库的逻辑表结构
    • 为E-R图中的每一个实体建一张表
    • 实体的属性作为该表的字段
    • 为每张表定义一个主键(如果需要,可以向表中添加一个没有实际意义的字段作为该表的主键,比如Id)
    • 增加外键标识E-R图中的一对多关系
    • 建立新表表示E-R图中的多对多关系
    • 为表中的字段选择合适的数据类型
    • 根据需要定义约束条件
    • 评价关系的质量,进行表的改进

3 数据的规范化

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。

(1)范式

从关系模型满足的确定约束条件称为范式。根据满足约束条件的级别不同,范式由低到高分为1NF、2NF、3NF、BCNF、4NF等。

第一范式(1NF)

基础

第二范式(2NF)

基础

第三范式(3NF)

基础

反规范化

基础

(2)函数依赖

设X、Y是关系R的两个属性集合,当任何时刻R中的任意两个元素中的X属性值相同时,则他们的Y属性值也相同,则称X函数决定Y,或Y函数依赖X。


三 关系型数据库事务

1 事务及特性

的基础

2 事务并发带来的问题

的基础

3 事务的隔离级别

的基础


四 MySQL简介及安装

1 MySQL简介

的基础

2 目录

的基础

3 MySQL安装

的基础

五 SQL基础操作

数据查询语言-DQL

的基础

数据操作语言-DML

的基础

事务处理语言-TPL

的基础

数据控制语言-DCL

的基础

数据定义语言-DDL

的基础

指针控制语言-CCL

的基础

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

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

相关文章

基于卷积神经网络识别金融票据中的文字信息(计算机毕设完整代码可直接运行)

结果展示:用户首先通过”浏览文件”按钮选择扫描获得的金融票据图片. 程序就能够提取出金融票据图片中的日期, 金额等信息和图片路径信息显示在屏幕上. 程序还设置了帮助按键,使用者通过帮助按钮获得帮助.由图可见票据的日期为 19 年 06 月 22 日(062219), 程序可以…

CMMI之需求管理

需求管理(Requirement Management, RM)的目的在客户与开发方之间建立对需求的共同理解,维护需求与其他工作成果的一致性,并控制需求的变更。需求管理过程域是SPP模型的重要组成部分。本规范阐述了需求管理过程域的三个主要规程&am…

低代码平台是技术开发的未来主流吗?

2022年9月27日16:49:21 这个事情我想了很久,最终的结论是:低代码平台只会一些领域平台的部分功能模块的标配,不会成为技术主流。 部分代表性例子: 1,低代码平台很早就有了,比如Visual Basic 6.0 ,delphi这些…

电脑重装系统后每次都要选择系统怎么办

电脑重装系统是件非十分平常的事情,当电脑出现故障或卡顿不能解决,即可采取重装系统来修复。不过,有些用户遇到系统重装后每次开机都要选择系统,影响到电脑正常使用,想要解决这个问题,只要关闭引导配置就可…

【pandas】15 pandas数据结构

【pandas】15 pandas数据结构 2023.1.13 总结来自https://mofanpy.com/tutorials/data-manipulation/pandas/ 包括pandas数据结构Series/DataFrame;数据选取分类查询等内容15.1 为什么需要pandas 前面讲了numpy,我们发现,numpy主要用途就是对同一类数据进行处理&a…

多节点Linux环境打造

目录 一、环境准备 1. CentOS镜像下载 2. VMware下载 二、 安装操作系统 1. 配置虚拟机 2. 安装CentOS操作系统 3. 网络配置 4. 多节点打造 5. 节点网络互通 6. 关闭防火墙服务 7. 修改默认主机名 8. 关闭 SELinux 服务 9. 安装常用软件 一、环境准备 1. CentOS镜…

电脑重装系统后键盘失灵解决方法步骤

手提电脑重装系统后键盘失灵怎么办呢?众所周知,联想小新Air 13 Pro保持经典的黑色外观,凭借坚固和可靠的特性得到了很多用户的认可。有网友发现联想小新Air 13 Pro手提电脑重装系统后键盘会失灵,那么小编把手提电脑重装系统后键盘失灵解决方法分享给大家。 工具/原…

Vue声明式导航 编程式导航、导航守卫、axios拦截器

一、声明式导航 & 编程式导航 1. 声明式导航&#xff1a;以超链接方式实现的页面跳转&#xff0c;就是声明式导航 < a href‘url’> 链接文本或图像 < /a >< router-link to‘url’ > 链接文本或图像 < /router-link >2. 编程式导航&#xff1a;通…

录屏软件哪个好?电脑录屏软件排行榜推荐

你是不是还在为选不到合适的录屏软件而苦恼&#xff1f;市面上录屏软件种类繁多&#xff0c;功能参差不齐确实不好选择。录屏软件哪个好&#xff1f;怎样才能找到适合自己的录屏软件&#xff1f;不用焦虑。今天小编给大家推荐3款电脑录屏软件排行榜前列的录屏软件&#xff0c;每…

day37【代码随想录】贪心算法之划分字母区间、合并区间、单调递增的数字、买卖股票的最佳时机含手续费、监控二叉树

文章目录前言一、划分字母区间&#xff08;力扣763&#xff09;二、合并区间&#xff08;力扣56&#xff09;三、单调递增的数字&#xff08;力扣738&#xff09;四、买卖股票的最佳时机含手续费&#xff08;力扣714&#xff09;五、监控二叉树&#xff08;力扣968&#xff09;…

1.14 IIC总线实验

一.IIC总线&#xff1a; 1.同步半双工串行总线&#xff0c;用于同一个开发板两个芯片之间的通信 2.有两根信号线&#xff0c;一根SDA,一根SCL 3.IIC总线需要外接两个上拉电阻&#xff0c;使空闲状态保持高电平 4.IIC总线支持多主机多从机模式&#xff0c;一般采用单主机多从…

STM32外部中断解析

文章目录前言一、外部中断是什么二、STM32F103的外部中断三、外部中断的中断号四、HAL库的外部中断初始化流程总结前言 本篇文章将带大家了解STM32F103的外部中断。 一、外部中断是什么 外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时&#xff0c…

数组名的意义

数组名只有单独放在sizeof内部以及放在&后才代表整个数组的地址。其余情况数组名都表示数组首元素地址。 之前我们说过用sizeof(a)计算的是整个数组的大小&#xff0c;现在我们知道其中的原因了。由于sizeof里的数组名a表示整个数组的地址&#xff0c;故sizeof(a)求的是整…

Android10以上系统Audio音频遇到播放无声时的分析方法

​商务合作 2023年招聘 2023年逆向分析资料汇总 推荐阅读 Android Audio音频系统 Android Audio音频系统之深入浅出 Android Framework/驱动/内核中高级工程师 ​Android10以上系统Audio音频遇到播放视频无声时的分析方法 干货|Android APP应用工程师转Framework工程师(…

51单片机存储结构

之前概要介绍了8151微控制器的结构&#xff08;也就是51单片机&#xff09;。相比微处理器&#xff0c;微控制器的区别之一是在一个芯片上有程序存储器(RAM)和数据存储器(RAM)。存储区是微控制器非常重要的内容。 本文就介绍一下8051的存储结构。包括存储器的组织、处理器对存储…

VTK-Tessellator Subdivision

前言&#xff1a;本博文主要研究Tessellator 的Subdivision&#xff0c;对vtk中的所有相关接口进行研究&#xff0c;并找出最优的解决方法。 GeometricObjects中vtkTessellatorFilter的应用实例 待研究对当前的Subdivision进行优化。 vtkTessellatorFilter 位置&#xff1a;…

Docker容器数据卷与数据卷容器

文章目录什么是容器数据卷使用数据卷使用 docker 安装 mysql匿名和具名挂载数据卷容器什么是容器数据卷 Docker理念回顾 将应用和运行的环境打包形成容器运行&#xff0c;运行可以伴随着容器&#xff0c;但是我们对于数据的要求&#xff0c;是希望能够 持久化的&#xff01; 就…

【寒假每日一题】DAY.6 有序序列的合并

牛客网例题&#xff1a;点我做题 描述 输入两个升序排列的序列&#xff0c;将两个序列合并为一个有序序列并输出。数据范围&#xff1a; 1 ≤ n&#xff0c;m ≤ 1000&#xff0c;序列中的值满足0≤val≤30000输入描述&#xff1a; 输入包含三行&#xff0c;第一行包含两个正整…

微信小程序开发起步

一、小程序与普通网页开发的区别 1&#xff09;运行环境不同。网页运行在浏览器环境中&#xff0c;小程序运行在微信环境中。 2&#xff09;API不同。由于运行环境不同&#xff0c;所以小程序中无法调用DOM和BOM的API&#xff0c;但是小程序可以调用微信环境提供的各种API&am…

zabbix的安装部署,一看就会

目录 1、系统组成 2、采集模式 3、监控类型 4、相关术语 5、安装部署 1、系统组成 2、采集模式 监控系统数据采集的工作模式可以分为 被动模式&#xff08;从服务器端到客户端采集数据&#xff0c;对应的英文单词是pull&#xff09; 主动模式 &#xff08;客户端主动上报…