数据库基础介绍

数据存储发展----------------------------------------------------
DB 数据库  DBMS 数据库管理系统
文件存储缺点
 数据冗余  #/etc/passwd login
 大数据访问困难
 数据孤立  #表格式 属性格式
 完整性问题  #原子性
 并发访问问题  #文件锁定
 安全问题

文件存储
 表示层
   文件
 逻辑层
   文件系统 存储引擎
 物理层
   元数据
   数据;数据块

关系型数据库
  表示层
     表
  逻辑层
     存储引擎  : mysql 插件式存储引擎
  物理层
     数据文件

DBMS
 层次模型
 网状模型
 关系模型

关系模型 RDBMS
   关系模型
   实体-关系结构化模型     #二维表
   对象关系结构化模型:基于对象的数据模型     #表中数据存储图片的路径
   半结构化数据模型:XML(扩展标记语言)   #
       数据库可以处理这四类关系模型

关系:代数运算
   能够按照某种关系进行关系运算的模型叫做关系模型
   交集:
   并集:
   差集:
   全集:
   补集:

关系运算:
   投影:只输出指定属性
   选择:只输出符合条件的行
   自然连接:具有相同名字的属性上所有取值相同的行;
   笛卡尔积:
       (a+b)*(c+d)=ac+ad+bc+bd
   并:集合运算

数据存储和查询
   存储管理器
       权限及完整性管理器
       事务管理器
       文件管理器
       缓冲区管理器
  查询管理器
       DML解释器   data manipulation language
       DDL解释器   data definition language
       查询执行引擎  Data Control Language


SQL:Structure Query Language 结构化查询语句--------------------------

第一款关系数据库:System R: SQL
Ingres, Oracle, Sybase
ANSI: ansi-sql; 标准委员会
   sequel-->SQL标准不同  版本
       SQL-86
       SQL-89
       SQL-92
       SQL-99
       SQL-03
       SQL-08

SQL查询语句:
   DML:数据操作语言
       INSERT
       DELETE
       SELECT
       UPDATE
   DDL:数据定义语言
       CREATE
       DROP
       ALTER
   DCL: 数据控制语言
       GRANT    
       REVOKE    定义访问权限
   完整性定义语言:DDL的一部分功能
   视图定义:
   事务控制:定义 启动 回滚
   嵌入式SQL和动态SQL:

使用程序设计语言如何跟RDBMS交互:
   嵌入式SQL:与动态SQL类似,但其语言必须程序编译时完全确定下来;
       ODBC
   动态SQL:程序设计语言使用函数(mysql_connect())或者方法与RDBMS服务器建立连接,并进行交互;通过建立连接向SQL服务器发送查询语句,并将结果保存至变量中而后进行处理;
       JDBC                     组成 : 连接管理器    解析器    缓存     优化器  
       wKiom1NtsoXgEOluAAHjHXuiG34395.jpg
RDB对象:
   库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器

constraint:约束
   域约束:数据类型约束       #数据类型
   外键约束:引用完整性约束      #外键
   主键约束:某字段能惟一标识此字段所属的实体,并且不允许为空;一张表中只能有一个主键
   惟一性约束:每一行的某字段都不允许出现相同值,可以为空;一张表中可以有多个
   检查性约束: age: int


表管理器:负责创建、读取或修改表定义文件;维护表描述符高速缓存;管理表锁;
   表结构定义文件

表修改模块:表创建、删除、重命名、移除、更新或插入之类的操作;
表维护模块:检查、修改、备份、恢复、优化(碎片整理)及解析;

行:定长,变长

文件中记录组织:
   堆文件组织:一条记录可以放在文件中的任何地方;
   顺序文件组织:根据“搜索码”值顺序存放;
   散列文件组织:散列容器  桶   散列运算hash


表结构定义文件、
表数据文件

表空间:table space

数据字典:Data Dictionary
   关系的元数据:
       关系的名字:表
       字段名字
       字段的类型和长度
       视图
       约束

       用户名字,授权,密码

缓冲区管理器:
   缓存置换策略
   被钉住的块


发散思维能力

你可能感兴趣的:(数据库基础介绍)