MySQL系列之开篇 MySQL关系型数据库基础概念

目录
  • 一、基础概念
  • 二、数据库管理技术的发展
  • 三、关系型数据库(RDBMS)概念
  • 四、RDBMS设计范式

一、基础概念

数据(Data)是描述事物的符号记录,是指利用物理符号记录下来的、可以鉴别的信息。

1、数据库(Database,DB)是指长期储存在计算机中的有组织的、可共享的数据集合。数据要按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性,系统易于扩展,并可以被多个用户分享。

数据的三个基本特点:

  • 永久存储
  • 有组织
  • 可共享

2、数据库管理系统(DBMS)是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。 它实现数据库系统的各种功能。是数据库系统的核心。

  • 数据定义功能
  • 数据操作功能
  • 数据库的运行管理功能
  • 数据库的建立和维护功能
  • 数据组织、存储和管理功能
  • 数据的安全保证
  • 数据的备份功能

3、数据库系统的构成有:

  • 用户(终端用户)
  • 程序(API)
  • 应用程序:指以数据库为基础的应用程序
  • 数据库管理系统
  • 数据库管理员(DBA):负责数据库的规划、设计、协调、维护和管理等工作
  • 数据库

4、数据库系统的架构:

  • 单机架构
  • 大型 主机/终端 架构
  • 主从式架构 c/s :客户/服务器结构(Client/Server,C/S)中, “客户端”、“前台”或“表示层”主要完成与数据库使用者的交互任务; “服务器”、“后台”或“数据层”主要负责数据管理。
  • 分布式架构

5、数据库系统的结构

  • 模式:也称为概念模式或逻辑模式,是数据在逻辑上的视图,即概念视图
  • 外模式:也称为子模式或用户模式 数据视图,即用户视图
  • 内模式:也称为存储模式,是内部视图或存储视图

外模式/模式映像 保证了数据与程序的逻辑独立性

内模式/模式映像 保证了数据与程序的物理独立性

6、模型

​模型(Model)是现实世界特征的模拟和抽象表达。

​数据模型是对现实世界数据特征的抽象,描述的是数据的共性内容。

二、数据库管理技术的发展

  • 萌芽阶段-----文件系统 使用磁盘文件来存储数据
  • 初级阶段-----第一代数据库 出现了网状模型、层次模型的数据库
  • 中级阶段-----第二代数据库 关系型数据库和结构化查询语言
  • 高级阶段------新一代数据库 “关系-对象”型数据库

1、文件系统管理的缺点

  • 编写应用程序不方便
  • 数据冗余不可避免
  • 应用程序依赖性
  • 不支持对文件的并发访问
  • 数据间联系弱
  • 难以按用户视图表示数据
  • 无安全控制功能

2、数据库管理系统的优点

  • 相互关联的数据的集合
  • 较少的数据冗余
  • 程序与数据相互独立
  • 保证数据的安全、可靠
  • 最大限度地保证数据的正确性
  • 数据可以并发使用并能同时保证一致性

三、关系型数据库(RDBMS)概念

​关系数据库(Relation Database)是所有关系的集合,构成一个关系数据库。 以关系模型作为数据的逻辑模型,并采用关系作为数据组织方式的一类数据库,其数据库操作建立在关系代数的基础上。

  • 表(Table)是一个二维的数据结构,由表名、列、若干行数据组成。
  • 关系 :关系就是二维表。并满足如下性质: 表中的行、列次序并不重要
  • 行row:表中的每一行,又称为一条记录Record或元组Tuple。表中的数据按行存储。
  • 列column:表中的每一列,称为属性Attribute,字段Field
  • 分量(Component) :元组(行)中的一个属性值,称为分量。
  • 键(Key):属性(或属性组)的值都能用来唯一标识该关系的元组,则称这些属性(或属性组)为该关系的键。
  • 主键(Primary key):用于惟一确定一个记录的字段
  • 外键(Foreign Key) 某个属性(或属性组)不是这个关系的主码或候选码,而是另一个关系的主键。
  • 参照关系(Referencing Relation)和被参照关系(Referenced Relation):参照关系也称为从关系,被参照关系也称为主关系,它们是指以外键相关联的两个关系。
  • 域domain:属性的取值范围,如,性别只能是‘男'和‘女'两个值。
  • 数据类型(Data Type) 每个列都有相应的数据类型,它用于限制(或容许)该列中存储的数据。

1、事务transaction

多个操作被当作一个整体对待

事务遵循ACID特性:

  • A原子性:不可分割性,所有的动作要全做,要不都不做
  • C一致性:保持数据一致性
  • I隔离性:事务没有完成无法看大最终数据
  • dirty data 脏数据:事务没做完的数据
  • D持久性:持久影响,永久性

2、E-R模型(实体-联系)

​实体Entity:客观存在并可以相互区分的客观事物或抽象事件称为实体。在E-R图中用矩形框表示实体,把实体名写在框内。

​属性:实体所具有的特征或性质

​联系:联系是数据之间的关联集合,是客观存在的应用语义链。联系有实体内部的联系和实体之间的联系。实体之间的联系用菱形框表示。

联系的类型:

  • 一对一联系(1:1)
  • 一对多联系(1:n)
  • 多对多联系(m:n)

3、关系型数据库的历史

  • 1970年 IBM的E.F.Codd提出了关系模型,奠定了关系数据库的理论基础
  • 20世纪70年代末关系方法理论研究和软件系统的研制取得了重大突破
  • 1981年 出现了比较成熟的关系数据库管理技术,证实了关系数据库的优点:高级的非过程语言接口、较好的数据独立性。
  • 20世纪80年代后 网状模型和层次模型与底层实现的结合紧密,关系模型具有坚实理论基础,成为主流数据模型。

4、关系数据模型的组成要素

数据模型的要素包括:

  • 关系数据结构
  • 关系操作集合
  • 关系完整性约束

5、数据三要素

  • 数据结构:包括两类,一类是与数据类型、内容、性质有关的对象,比如关系模型中的域、属性和关系等;另一类是与数据之间联系有关的对象,它从数据组织层表达数据记录与字段的结构。
  • 数据的操作:

数据提取,在数据集合中提取感兴趣的内容。
数据更新:变更数据库中的数据。

  • 数据的约束条件:是一组完整性规则的集合

实体(行)完整性 Entity integrity
域(列)完整性 Domain Integrity
参考完整性 Referential Integrity

6、约束constraint

  • 主键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;必须提供数据,即NOT NULL,一个表只能有一个。
  • 惟一键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;允许为NULL,一个表可以存在多个。
  • 外键约束:一个表中的某字段可填入的数据取决于另一个表的主键或唯一键已有的数据。
  • 检查约束:字段值在一定范围内。

7、索引

​将表中的一个或多个字段中的数据复制一份另存,并且此些需要按特定次序排序存储。

8、关系运算

  • 选择:挑选出符合条件的行
  • 投影:挑选出需要的字段
  • 连接:表间字段的关联

9、数据模型

  • 数据抽象:

物理层:数据存储格式,即RDBMS在磁盘上如何组织文件
逻辑层:DBA角度,描述存储什么数据,以及数据间存在什么样的关系
视图层:用户角度,描述DB中的部分数据

  • 关系模型的分类:

基于对象的关系模型
半结构化的关系模型

四、RDBMS设计范式

​设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。

​目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴德斯科范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。

​满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。

一般说来,数据库只需满足第三范式(3NF)即可。

  • 1NF:无重复的列,每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。除去同类型的字段,就是无重复的列。

说明:第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库

  • 2NF:属性完全依赖于主键,第二范式必须先满足第一范式,要求表中的每个行必须可以被唯一地区分。通常为表加上一个列,以存储各个实例的唯一标识PK,非PK的字段需要与整个PK有直接相关性。
  • 3NF:属性不依赖于其它非主属性,满足第三范式必须先满足第二范式。第三范式要求一个数据库表中不包含已在其它表中已包含的非主关键字信息,非PK的字段间不能有从属关系。

到此这篇关于MySQL系列之开篇 MySQL关系型数据库基础概念的文章就介绍到这了,更多相关MySQL关系型数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MySQL系列之八 MySQL服务器变量

    注意:其中有些参数支持运行时修改,会立即生效:有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效:有些参数作用域是全局的,且不可改变:有些可以为每个用户提供单独(会话)的设置 一.服务器选项 # mysqld --help -verbose #获取所有可以的选项 # mysqld --print-defaults #获取默认设置 # mysqld_safe –-skip-name-resolve=1:在启动服务时加选项参数,禁止反解析IP,提高登录效率:同时也可以将skip_name_

  • MySQL系列之五 视图、存储函数、存储过程、触发器

    目录 一.视图 1.视图的创建 2.查看视图定义 3.删除视图 二.存储函数 1.系统函数 2.自定义函数(user-defined function:UDF) 三.存储过程 四.触发器 总结 一.视图 视图:VIEW,虚表,保存有实表的查询结果,实际数据不保存在磁盘 物化视图:实际数据在磁盘中有保存,加快访问,MySQL不支持物化视图 基表:视图依赖的表 视图中的数据事实上存储于"基表"中,因此,其修改操作也会针对基表实现.其修改操作受基表限制. 注意:修改视图时是修改的原表 1.视

  • MySQL系列之九 mysql查询缓存及索引

    目录 一.MySQL的架构 二.查询缓存(Query Cache) 哪些查询可能不会被缓存: 查询缓存相关的服务器变量: 查询缓存相关的状态变量: 三.索引 1.索引类型: 2.高性能索引策略: 3.索引的优化建议 4.索引的创建与删除 四.EXPLAIN命令 五.SQL语句性能优化 一.MySQL的架构 连接器 连接池,安全认证.线程池.连接限制.检查内存.缓存 SQL接口 DML.DDL SQL解析器,对SQL语句的权限检查.解析为二进制程序 优化器,优化访问路径 缓存cache,buffe

  • mysql属于关系型数据库吗

    MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言.MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库. 知识点扩展: 关系型数据库 关系型数据库的特性 1.关系型数据库,是指采用了关系模型来组织数据的数据库: 2.关系型数

  • MySQL系列之开篇 MySQL关系型数据库基础概念

    目录 一.基础概念 二.数据库管理技术的发展 三.关系型数据库(RDBMS)概念 四.RDBMS设计范式 一.基础概念 数据(Data)是描述事物的符号记录,是指利用物理符号记录下来的.可以鉴别的信息. 1.数据库(Database,DB)是指长期储存在计算机中的有组织的.可共享的数据集合.数据要按照一定的数据模型组织.描述和存储,具有较小的冗余度.较高的数据独立性,系统易于扩展,并可以被多个用户分享. 数据的三个基本特点: 永久存储 有组织 可共享 2.数据库管理系统(DBMS)是专门用于建立

  • MySQL系列之十三 MySQL的复制

    目录 一.MySQL复制相关概念 二.简单的一主一从架构实现 1.新数据库搭建主从架构 2.旧数据库新加从服务器 三.级联复制架构实现 四.主主复制架构 五.半同步复制的实现 六.加密传输复制的实现 七.MySQL复制的相关指令和变量总结 一.MySQL复制相关概念 主从复制:主节点将数据同步到多个从节点 级联复制:主节点将数据同步到一个从节点,其他的从节点在向从节点复制数据 同步复制:将数据从主节点全部同步到从节点时才返回给用户的复制策略叫同步复制 异步复制:只要数据写入到主节点就立即返回给用

  • MySQL系列之十 MySQL事务隔离实现并发控制

    目录 一.并发访问控制 二.事务Transactions 1.事务遵循ACID原则: 2.事务的生命周期 3.事务的隔离级别 4.死锁 一.并发访问控制 实现的并发访问的控制技术是基于锁: 锁分为表级锁和行级锁,MyISAM存储引擎不支持行级锁:InnoDB支持表级锁和行级锁: 锁的分类有读锁和写锁,读锁也被称为共享锁,加读锁的时候其他的人可以读:写锁也称为独占锁或排它锁,一个写锁会阻塞其他读操作和写操作: 锁还分为隐式锁和显式锁,隐式锁由存储引擎自行管理,显式锁是用户手动添加锁: 锁策略:在锁

  • MySQL系列之十二 备份与恢复

    目录 系列教程 一.备份策略赘述 1.备份的类型 2.备份需要考虑的因素 3.备份的目标 4.备份工具 二.备份方案 1.cp + tar == 物理冷备 2.lvm快照 + binlog == 几乎物理热备 + 增量备份 3.mysqldump + InnoDB + binlog= 完全逻辑热备 + 增量备份 4.Xtrabackup + InnoDB == 完全热备 + 增量备份 5.使用Xtrabackup实现单表备份 总结 系列教程 MySQL系列之开篇 MySQL关系型数据库基础概念

  • MySQL系列之十一 日志记录

    系列教程 MySQL系列之开篇 MySQL关系型数据库基础概念 MySQL系列之一 MariaDB-server安装 MySQL系列之二 多实例配置 MySQL系列之三 基础篇 MySQL系列之四 SQL语法 MySQL系列之五 视图.存储函数.存储过程.触发器 MySQL系列之六 用户与授权 MySQL系列之七 MySQL存储引擎 MySQL系列之八 MySQL服务器变量 MySQL系列之九 mysql查询缓存及索引 MySQL系列之十 MySQL事务隔离实现并发控制 MySQL系列之十一 日

  • mysql 8.0.15 安装图文教程及数据库基础

    MySQL软件安装及数据库基础,供大家参考,具体内容如下 一.任务 任务一 MySQL 软件安装及数据库基础 任务时间 请于2月26日22:00前完成,在本文章评论打卡.逾期尚未打卡的会被清退. 学习内容 1.软件安装及服务器设置 教程 MySQL 安装 | 菜鸟教程 2.(选做,但是强烈建议) 使用图形界面软件 Navicat for SQL 星球提供Navicat for SQL    简易步骤:       解压缩文件,复制key       打开文件夹中的navicat.exe     

  • 关系型数据库与非关系型数据库简介

    目录 关系型数据库: Oracle SQLServer Sybase Informix Access DB2 mysql vfp Ingers FoxPro 非关系型数据库: MongoDB Cassandra CouchDB Hypertable Redis Riak Neo4j Hadoop HBase Couchbase MemcacheDB REVENDB Voldemort 关系型数据库与非关系型数据库的对比 关系型数据库: 关系型数据库的优势: 保持数据的一致性(事务处理) 由于以标

  • MySQL系列教程小白数据库基础

    目录 1.基础概念与基础命令 1)基础概念 2)基础命令 2.SQL语句的书写顺序和执行顺序 1)一个完整SQL查询语句的书写顺序 2)一个完整的SQL语句执行顺序 3)关于select和having执行顺序谁前谁后的说明 这里介绍的MySQL相关知识,并不是针对那些想学习DBA的同学,而是针对那些想转行.从事数据分析行业的同学. 下面这些知识点,是我学习MySQL数据库时,觉得有必要掌握的一些知识点. 1.基础概念与基础命令 1)基础概念 ① 数据库 按照一定数据结构,存储和管理数据的仓库.

  • MySQL系列之三 基础篇

    目录 一.MySQL简介 二.MySQL的发展历史 三.MariaDB的基本使用 1.基本安装与配置 2.客户端命令:mysql 3.其他客户端工具 4.安全加强脚本 mysql_secure_installation 一.MySQL简介 ​ MySQL原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购.2009年,Oracle收购sun公司,MySQL成为Oracle旗下产品. ​ 但被甲骨文公司收购后,Oracle大幅调涨MyS

随机推荐