首先我们来说说数据库管理系统(Database Management System)
具备的特点:
1、提供简单的方式存储及获取数据
2、在数据访问时,提供权限控管的能力
3、提供多人同时访问数据的能力
4、提供数据同步的机制
5、提供数据备份与恢复的能力
6、保持数据的一致性和完整性
数据库的模型:
1、文件模式(flat-file):这种模式是将数据存放在文件内,这是早期的数据库方式,已经不再适用于现今的数据库管理系统
2、网络模式(Network):这种模式是将数据以类似于网络结构的方式存放
3、层次模式(Hierarchical):这种模式是将数据以类似于层次结构的方式存放
4、关系型(Relational):这种模式可以说是主宰了数据库管理系统,它是利用数学上的关系型的概念,将数据存放在表格中,并创建表格之间的关系
5、面向对象式(Object-Oriented):面向对象的流行,许多的数据模式并不适合使用关系型数据型的模型,现在许多对象式的数据库使用在CAD/CAM以及多媒体
经过上面的描述,关系型数据库还是目前的主流,而且有些关系型数据库已经开始慢慢支持面向对象,就像Oracle,也就是说可以利用面向对象式或是关系型的方式访问数据。
关系型数据库
我们知道关系型数据库是一群关系型数据表的集合,利用关系型数据表来表示及存储数据。我们常见的是Oracle、DB2、MySQL、Microsoft SQL Server、Microsoft Access等数据库
数据的完整性:数据库的约束
约束类型:
- NOT NULL - 指示某列不能存储 NULL 值。
- UNIQUE - 保证某列的每行必须有唯一的值。
- DEFAULT - 规定没有给列赋值时的默认值。
- PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
- FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
- CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。
外键约束(FOREIGN KEY):用于关联其他表的主键或唯一键
语法:
foreign key(字段名) references 主表(列)