01 关系型数据库基础理论

一 数据处理方式

文件系统管理方式:

数据冗余

数据访问困难

数据孤立

一致性,安全性,完整性得不到保证

原子性问题

并发访问异常

二 文件

表示层

文件

逻辑层

文件系统:存储引擎

物理层

元数据

数据:数据块

关系型数据库

表示层:表

逻辑层:存储引擎

物理层:数据文件

三 关系模型

关系模型

实体-关系模型

对象关系模型

半结构化数据模型:XML(扩展表记语言)

四 SQL

system R:SQL 世界上第一台关系型数据库

约束 constraint

域约束:数据类型约束

外键约束:引用完整性约束

主键约束:某字段能唯一标识此字段所属的实体,并且不能为空,一张表中只能有一个主键

候选键:

唯一性约束:每一行的某字段都不允许出现相同值,可以为空,一张表中可以有多个

检查性约束:age: int

五 数据存储和查询

存储管理器

权限及完整性管理器

事物管理器

文件管理器

缓冲区管理器

查询管理器

DML解释器

DDL解释器

查询执行引擎

单进程多线程,守护线程,应用线程

关系运算:

投影:只输出指定属性  列

选择:只输出指定记录  行

自然连接:具有相同名字的所有属性值上取值相同的行

笛卡尔积;

并;集合运算

SQL查询语句:

DDL

DML

DCL

使用程序设计语言如何跟RDBMS交互:

嵌入式SQL;与动态SQL类似,但其语言必须升序编译时完全确定下来(0DBC)

动态SQL:    程序设计语言使用函数(mysql_connect())的方法与RDBMS服务器建立连接,               并进行交互,通过建立连接向SQL服务器发送查询语句,并将结果保存至变量中              而后进行处理(JDBC)

Mysql插件式存储引擎

5.5.8之前:  Myisam 不支持事务 适合查询比较多,修改比较少的场景中,特别适用于应用数据仓库

5.5.8之后:  innoDB 支持事务 适用于在线事务处理

时间: 2024-10-11 02:33:16

01 关系型数据库基础理论的相关文章

mysql系列之一关系型数据库基础理论

mysql-关系型数据库基础理论 关系模型:(结构化数据模型) 关系模型 实体- 关系模型 对象关系模型:基于对象的数据模型 半结构化数据模型 关系:关系代数运算 交集: 并集: 差集: 全集: 补集: SQL:结构化查询语言 DML:数据操作语言 insert delete select update DDL:数据定义语言 create drop alter DCL:数据控制语言 grant revoke 关系型数据库 表示层:表 逻辑层:存储引擎 物理层:数据文件 数据存储和查询 存储管理器

01关系型数据库与非关系型数据库

数据库 就是用来存储数据的仓库,分为两类:关系型数据库和非关系型数据库   关系型数据库  严格限定了字段的类型,大小,向数据库中传数据时,必须按照相应的字段传数据 eg:mysql 非关系型数据库(免费) 字段类型可以随便写 eg: mongodb 原文地址:https://www.cnblogs.com/SRH151219/p/10200625.html

mysql系列之二关系型数据库基础理论

SQL查询语句: sequel-->SQL SQL-86 SQl-89 SQL-92 SQL-99 SQL-03 SQL-08 SQL语言的组成部分: DDL DML 完整性定义语言:DDL的一部分功能 视图定义 事物控制: 嵌入式SQL和动态SQL: 授权:DCL 使用程序设计语言如何跟RDBMS交互: 嵌入式SQL:与动态SQL类似,但其语句必须在程序编译时完全确定下来. ODBC 动态SQL:程序设计语言使用函数与数据库服务器建立连接并进行交互 JDBC MySQL插件式存储引擎(默认)

关系型数据库表结构设计规范-浅谈(转)

数据库表结构设计规范-浅谈,为啥是浅谈呢,因为主要的观点还是来自原微信公共账号的一篇文章,稍微加了一些自己的看法. 谁来进行数据库的设计? 肯定是具体的开发工程师来进行,开发同学的话,第一业务熟悉度比较高,第二结合OO和ORM的思想,能有比较好的运用关系型数据库的特性.如果是DBA同学的话,虽然对于数据库本身了解比较多,但是对于业务了解较少,很难有比较客观的设计.但是业务上线或者运行期间,需要DBA同学能够重度的加入进来,针对一些性能点和不合理的点进行优化,同事也可以在上线前,针对SQL进行re

Linux FTP服务器的搭建与配置+基于关系型数据库实现用户认证

一.服务器端的安装: yum install vsftpd 1)查看安装后生成的哪些文件 [[email protected] ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd  <==========主志日志文件 /etc/pam.d/vsftpd<==================认证文件 /etc/rc.d/init.d/vsftpd<=============服务脚本 /etc/vsftpd<======================

关系型数据库工作原理-数据结构(翻译自Coding-Geek文章)

本文翻译自Coding-Geek文章:< How does a relational database work>. 原文链接:http://coding-geek.com/how-databases-work/#Buffer-Replacement_strategies 本文翻译了如下章节: 一.Array.Tree and Hash table 通过前面的章节, 我们已经理解了时间复杂和归并排序的概念,接下来我要介绍三种数据结构.这三种数据结构非常重要,它们是现代数据库系统的基础.我也会介

马哥教育第二十二天IO模型理论、数据库基础理论、LAMP平台理论基础及mysql部署

1.IO模型理论基础详解:                 http或https都是基于tcp协议完成通讯.在tcp中使用socket通讯模型,在domain中界定socket是如何定义.                           domain有三种工作类型:                                        unix domain:每个socket地址是个文件路径                                        ipv4 do

基于关系型数据库的本体持久化

关系型数据库技术成熟.使用广泛,支持工具丰富而功能强大,数据存储.查询效率高,因此在语义数据存储尚未成熟.无有效工具出现时,很自然地被广泛应用于本体数据的存储.由于本体模型和关系模型的差异,基于关系型数据库的本体存储存在多种模式(李曼等, 2005): (1) 水平模式      该模式在数据库中只用一张表来表示本体,表中列为本体的属性,表中的一个记录对应本体中的每个实例.由于在本体的更新.进化过程中,本体属性数量和名称都可能发生变化,且并非所有实例都具有相同属性.因此,此模式数据表列需要经常变

[MongoDB]MongoDB的优缺点及与关系型数据库的比较

汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB与JAVA结合使用CRUD 参考:http://www.cnblogs.com/hoojo/archive/2011/06/01/2066119.html 介绍:MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 特点:高性能.易部