目录
数据库的相关概念
RDBMS 与 非RDBMS
关系型数据库(RDBMS)
内容
优势
非关系型数据库(非RDBMS)
关系型数据库设计规则
表、记录、字段
表的关联关系
数据库的相关概念
DB:数据库(Database)
即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。
DBMS:数据库管理系统(Database Management System)
是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控 制。用户通过数据库管理系统访问数据库中表内的数据。
SQL:结构化查询语言(Structured Query Language)
专门用来与数据库通信的语言。
RDBMS 与 非RDBMS
关系型数据库(RDBMS)
内容
- 把复杂的数据结构归结为简单的 二元关系 (即二维表格形式)。
- 以行(row) 和 列(column) 的形式存储数据,以便于用户理解。
- 把一系列的行和列称为表(table) ,一组表组成了一个库(database)。
- 表与表之间的数据记录有关系(relationship)。
- 建立在关系模型基础上的数据库。
- SQL 就是关系型数据库的查询语言。
优势
- 复杂查询,可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
- 事务支持,使得对于安全性能很高的数据访问要求得以实现。
非关系型数据库(非RDBMS)
主要分为键值型数据库、文档型数据库、搜索引擎数据库、列式数据库和图形数据库等等,在此不做介绍。
关系型数据库设计规则
- 关系型数据库的典型数据结构就是数据表 ,这些数据表的组成都是结构化的(Structured)。
- 将数据放到表中,表再放到库中。
- 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
- 表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和Python中 “类”的设计。
表、记录、字段
- E-R(entity-relationship,实体-联系)模型中有三个主要概念是:实体集 、属性 、联系集 。
- 一个实体集(class)对应于数据库中的一个表(table)
- 一个实体(instance)则对应于数据库表中的一行(row),也称为一条记录(record)。
- 一个属性(attribute)对应于数据库表中的一列(column),也称为一个字段(field)。
ORM思想 (Object Relational Mapping):
- 数据库中的一个表 <——>Java或Python中的一个类
- 表中的一条数据 <——>类中的一个对象(或实体)
- 表中的一个列<——>类中的一个字段、属性(field)
表的关联关系
- 一对一关联(one-to-one)
- 一对多关系(one-to-many)
- 多对多(many-to-many)
- 我引用(Self reference)