时间:2021-07-01 10:21:17 帮助过:17人阅读
驱动
MYSQL分支:mysql, mariadb, percona-server, pgsql(enterpriseDB)
NoSQL: mongodb, hbase, redis
NewSQL: 分布式模式管理存储引擎
实现
: DBMS(Mysql, MariaDB)
数据结构:层次、网状、关系模型
关系模型的分类:
- 基本-关系模型
- 实体-关系模型
- 基于对象-关系模型
- 半结构化-关系模型
- 支持xml解析数据
实现
:SQL存储(MYSQL分支、Oracle、MSSQL)
- MYSQL分支:mysql官方, mariadb开源, percona-server著名, pgsql皮(enterpriseDB)
- Oracle: 传统公司:在智能手机普级的时候,在高级的收音机又有什么用呢?
- MS_SQL:微软
设计范式:
- "1NF": 原子性 Atomicity,
- 例如:一个字段包含班级和专业,不被允许
- "2NF":行内有有限个字段惟一标识此行,
- "3NF":2个表有相同的字段时,1张表字段必须是主键
- 例如:
- 表1: 专业:非主键
- 表2: 专业:主键
满足范式:
- "拆表":将一个大的数据集拆分为小表,表必须满足范式
- "联合":join, 基于index,算法
- "数据集":一个库、方案、集合内
表:先定义column, 后row
- 可以没有row, 必须有column
结构:
- SQL引擎:
- 执行[scan]、分析[parsing]、求解[解决方案]、优化[选择路径|修改路径结果不变]
- "事务:
- 多个操作都完成或都不完成(Atomicity原子性, Consistency一致性, Isolating隔离性, Durability持久性)
- 恢复:
- 将事务日志中的数据同步至数据区
- 锁:
- 写(自己rw,其它人:-)读(自己:r,其它人:r)
- 空间管理、缓冲、文件存取接口
Structure Query Language
结构化查询语言实现
: SQL引擎或SQL解释器 SQL引擎(SQL协议): 命令运行、函数、变量
C/S架构,mysql协议, mariadb协议, oracle协议, mssql协议(sql server)
实现
:
- Client:
- 程序:CLI(mysql), GUI(phpMyadmin)
- API: SQL接口, php-mysql, ODBC(底层库)
- **API:写程序面向的对象:硬件规格、汇编、syscall、libcall
- Server:
- 监听socket,接收、处理、响应用户的请求
- MariaDB
作者研发SQL接口:成立AB(瑞典公司),MySQL
MySQL-->Google,facebook改进-->SUN收购-->Oracle收购SUN-->
MySQL读音:‘My‘ ‘SQL‘
作者不乐意:另起一摊:MariaDB Maria:女儿的名字
Oracle不能提供硬件到软件到系统
一体化的解决方案,而IBM(BIG BLUE)可以,为了比肩IBM,就收购了SUN
约束类型:
主键约束
:插入数据,惟一标识本行。Not NULL,惟一
惟一键
: 插入数据,惟一标识本行。NULL,不惟一
外键约束
:此表插入内容,取决于另一个表的主键
检查性约束
:字段定义表达式,插入数据必须满足表达式
稠密、稀疏:1对1 or 1对多
简单、组合: 索引字段是1个或多个
聚簇、非聚簇:索引字段与数据是否在一起
选择、选择row,WHERE
投影、选择column, SELECT
连接、join
视图层:view
,只能看到数据库的部分内容:提升用户体验
逻辑层:元数据
, 依赖关系
物理层:据存储格式
:表和文件的对应关系
源码 rpm
程序官方/项目官方:源码和二进制程序
OS Vendor系统安装光盘: rpm 稳定
瑞哥QQ,博客
QQ: 2580259468
博客
邮件:lccnx@foxmail.cn
QQ: 2192383945
本文出自 “Reading” 博客,请务必保留此出处http://sonlich.blog.51cto.com/12825953/1969965
+++++++php组件、SQL组件
标签:struggle strive endeavo