关于MYSQL数据库的一些理论知识

1.数据库原理
1.1数据的时代
·涉及的数据量大
·数据不能随程序的结束而消失
·数据被多个应用程序共享
·大数据
数据的分类:
·结构化的数据:即有固定格式和有限长度的数据。例如填的表格就是结构化的数据,国籍:中华人
民共和国,民族:汉,性别:男,这都叫结构化数据
·非结构化的数据:非结构化的数据越来越多,就是不定长、无固定格式的数据,例如: 网页,图片文
件,有时候非常大,有时候很小;例如语音,视频都是非结构化的数据
·半结构化数据:比如:XML或者HTML的格式的数据

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

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

1.3DBMS 数据库管理系统
· Database:数据库是数据的汇集,它以一定的组织形式存于存储介质上
· DBMS:Database Management System, 是管理数据库的系统软件,它实现数据库系统的各种功
能。是数据库系统的核心
· DBA:Database Administrator, 负责数据库的规划、设计、协调、维护和管理等工作
· Application:应用程序,指以数据库为基础的应用程序

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

1.5数据库管理系统的基本功能
· 数据定义
· 数据处理
· 数据安全
· 数据备份

1.6数据库系统的架构
· 单机架构
· 大型主机/终端架构
· 主从式架构(C/S)
· 分布式架构

1.7各种数据管理系统
1.7.1层次数据库
在这里插入图片描述
分层结构由IBM在20世纪60年代开发,并在早期大型机DBMS中使用。记录的关系形成了一个树状模
型。这种结构简单,但缺乏灵活性,因为这种关系仅限于一对多关系。
代表数据库:IBM IMS(信息管理系统)

1.7.2网状数据库
在这里插入图片描述
1964年通用电气GE公司的 Charles Bachman 成功地开发出世界上第一个网状数据库IDS(集成数据存
储),IDS 具有数据模式和日志的特征,只能在GE主机运行
1.7.3RDBMS 关系型数据库
Relational Database Management System,关系模型最初由IBM公司的英国计算机科学家埃德加·科德
(Edgar F. Codd)于1969年描述,1974年,IBM开始开发系统R,这是一个开发RDBMS原型的研究项目。
然而,第一个商业上可用的RDBMS是甲骨文,于1979年由关系软件(现为甲骨文公司)发布

1.7.3.1 关系统型数据库相关概念
· 关系Relational :关系就是二维表,其中:表中的行、列次序并不重要
· 行row:表中的每一行,又称为一条记录record
· 列column:表中的每一列,称为属性,字段,域field
· 主键Primary key:PK ,一个或多个字段的组合, 用于惟一确定一个记录的字段,一张表只有一个主
键, 主键字段不能为空NULL
· 唯一键Unique key: 一个或多个字段的组合,用于惟一确定一个记录的字段,一张表可以有多个UK,而
且UK字段可以为NULL
· 域domain:属性的取值范围,如,性别只能是’男’和’女’两个值,人类的年龄只能0-150

1.7.3.2常用关系数据库
· MySQL: MySQL, MariaDB, Percona Server
· PostgreSQL: 简称为pgsql,EnterpriseDB
· Oracle
· MSSQL Server
· DB2

1.7.3.3 数据库排名
https://db-engines.com/en/ranking (在此网址即可看到数据库排名)

1.8关系型数据库理论
1.8.1实体-联系模型 E-R
E-R模型即实体-关系模型﹐E-R模型就是描述数据库存储数据的结构模型
对于大型公司开发项目﹐需要根据产品经理的设计﹐先使用建模工具,如:power designer ,db desinger
等这些软件来画出实体-关系模型(E-R模型)
实体Entity:客观存在并可以相互区分的客观事物或抽象事件称为实体即表,在E-R图中用矩形表示
实体,把实体名写在框内
属性Attribute:实体所具有的特征或性质,描述实体里面的单个信息, 使用椭圆形表示
联系Relationship:描述了实体的属性之间的关联规则
• 实体内部的联系:指组成同一个实体内的各属性之间的联系。如职工实体中,职工号和部门经理
号之间有一种关联关系
• 实体之间的联系:指不同实体之间的属性的联系。例:学生选课实体和学生基本信息实体之间
• 实体之间的联系用菱形框表示

1.8.2联系类型
· 一对一联系(1:1): 在表A或表B中创建一个字段﹐存储另一个表的主键值 如: 一个人只有一个身份

· 一对多联系(1:n):外键, 如: 部门和员工
· 多对多联系(m:n):增加第三张表, 如: 学生和课程

1.8.3数据的操作
开发工程师 CRUD (增加Create、查询Retrieve或 Read、更新Update、 删除Delete)
· 数据提取:在数据集合中提取感兴趣的内容。SELECT
· 数据更新:变更数据库中的数据。INSERT、DELETE、UPDATE

1.8.4数据库规划流程

  1. 收集数据,得到字段
    收集必要且完整的数据项
    转换成数据表的字段
  2. 把字段分类,归入表,建立表的关联
    关联:表和表间的关系
    分割数据表并建立关联的优点
    节省空间
    减少输入错误
    方便数据修改
  3. 规范化数据库

1.8.5数据库的正规化分析
数据库规范化,又称数据库或资料库的正规化、标准化,是数据库设计中的一系列原理和技术,以减少
数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年
代初定义了第一范式、第二范式和第三范式的概念
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,不同的规范要求被称为不同范
式,各种范式呈递次规范,越高的范式数据库冗余越小目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴德斯科范式
(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式
(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类
推。一般数据库只需满足第三范式(3NF)即可
规则是死的,人是活的,所以范式是否必须遵守,要看业务需要而定
掌握范式的目的是为了在合适的场景下违反范式

1.8.5.1 第一范式:1NF
无重复的列,每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有
多个值或者不能有重复的属性,确保每一列的原子性。除去同类型的字段,就是无重复的列
说明:第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库

1.8.5.2第二范式:2NF
第二范式必须先满足第一范式,属性完全依赖于主键,要求表中的每个行必须可以被唯一地区分,通常
为表加上每行的唯一标识主键PK,非PK的字段需要与整个PK有直接相关性,即非PK的字段不能依赖于部
分主键

1.8.5.3第三范式:3NF
满足第三范式必须先满足第二范式属性,非主键属性不依赖于其它非主键属性。第三范式要求一个数据
表中不包含已在其它表中已包含的非主关键字信息,非PK的字段间不能有从属关系

1.8.6SQL 结构化查询语言简介
SQL:Structure Query Language,结构化查询语言是1974年由Boyce和Chamberlin提出的一个通用
的、功能极强的关系性数据库语言
SQL解释器:将SQL语句解释成机器语言
数据存储协议:应用层协议,C/S
· S:server, 监听于套接字,接收并处理客户端的应用请求
· C:Client
客户端程序接口
· CLI
· GUI
应用编程接口
· ODBC:Open Database Connectivity
· JDBC:Java Data Base Connectivity

1.8.7数据约束
约束:constraint,表中的数据在数据类型限定的基础上额外要遵守的限制
常见约束如下:
· 非空not null:此字段不允许填写空值.
· 主键primary key :一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;必须提供
· 数据,即NOT NULL,一个表只能有一个惟一键unique:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行;允许为
NULL,一个表可以存在多个
· 默认 default:当不填写字段对应的值会使用默认值﹐如果填写时以填写为准.
· 外键foreign key:一个表中的某字段可填入的数据取决于另一个表的主键或唯一键已有的数据
· 检查:字段值在一定范围内,如年龄在0到150之间

1.8.8关系运算
· 选择:挑选出符合条件的行
· 投影:挑选出需要的字段
· 连接:表间字段的关联

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

1.8.10关系模型分类
· 关系模型
· 基于对象的关系模型
· 半结构化的关系模型:XML数据

注:这是我上课的课件,希望能给同学们带来帮助。
该文章内容来自马哥教育,未经本人同意不得转载!!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值