数据库是数据的集合,数据仓库。很早以前存储在文本文件中 有很大数据冗余 所以后来出现了数据库管理系统

早期数据库模型有层次模型、网状模型,使用很复杂,维护困难 后来出现了关系型数据库系统数据组成部分有两种:1元数据2 数据本身
RDBMS的特点:
  1.数据以表格的形式出现
  2.每行为各种记录名称
  3.每列为记录名称所对应的数据域
  4.许多的行和列组成一张表单
  5.若干的表单组成database
 
 
数据库视角有逻辑模型和物理模型
逻辑模型的数据库对象有表(核心对象)、索引(快速查询操作,降低写操作)、视图(虚表,存储下来的select语句)、用户、存储过程、存储函数、触发器、事件调度器、游标
 
物理模型要有数据管理组件(元数据)、存储引擎、 物理文件
 
键有:主键(primary key)非空,不能相同(不能有相同值)一个表只能有一个。
外键(foreign key)表之间约束 
唯一性约束(unique key)允许为空,如果不空 则值不能相同,一个表可以有多个
检查性约束(mysql不支持)
 
 
数据库管理系统要有:
1存储引擎
2安全管理
3管理元数据
4Managing transac事务管理(被看作一个整体的多个sql语句)
5一个事务完成之前不能另一个事务(隔离性)
6连接管理
7性能优化
8提供备份和还原的机制
9响应数据查询/修改请求
 
mysql是一种开放源代码的关系型数据库管理系统 。                                      mysql特征:速度快, 单进程完全多线程 一个查询用一个独立的线程响应,有查询缓存的功能;高可靠性,伸缩性,容易安装部署,方便移植 兼容性,线程支持,国际化,广泛的编程应用,开源
 
mysql的存储引擎有MyISAM、InnoDB、NDB 集群专用、Archive 归档、Federated 联合存储引擎、Memory 、Merge 合并MyISAM 、Falcon,
 
1,MyISAM:不支持事务机制;当创建一个数据表会产生三个文件:数据文件,索引文件和表结构定义文件
2,InnoDB:mysql 5.5以后版本之后默认使用的存储引擎,支持事务机制;当创建一个数据表只会产生一个文件:表空间文件
3,NDB:集群专用引擎
4,Archive:主要是将数据归档成一种格式,适合长期存放
5,Federrated:联合存储引擎
6,Memory:内存引擎;数据存储在内存中,但不能持久存储数据
7,Merge:此引擎允许你把许多结构相同的表合并为一个表