数据库概述
为什么使用数据库
实现持久化,需要各种关系数据库完成
持久化(persistence) -》 将数据保存到硬盘上固化。
将内存中数据存储在关系型数据库当中,
关系型数据库 -》 采用了关系模型来组织数据
这种模型就是一个二维表格,可以非常直观地在表中展示数据。
数据库与数据库管理系统
DB -》 数据库(Database)
存数数据的仓库,实质是一个文件系统,保存一系列有组织的数据
DBMS -》 数据库管理系统(Database Management System)
操作和管理数据库的软件。用户通过数据库管理系统访问数据库
SQL -》 结构化查询语言(Structured Query Language)
用来与数据库通信的语言
DBMS可以管理多个数据库,在每个数据库中创建多个表
常见数据库
表中Database Model代表数据库模型
Relational是关系型数据库管理系统
Oracle
Oracle公司,收购了MySQL
SQL Server
微软开发
DB2
IBM公司,收费,常用银行系统
MySQL介绍
、开放源代码的关系型数据库管理系统
6.x版本之后分为社区版和商业版
使用 标准的SQL数据语言 形式。
支持多种语言。这些编程语言包括C、C++、Python、 Java、Perl、PHP和Ruby等。
关系型数据库与非关系型数据库
RDBMS -》 关系型数据库
把复杂的数据结构归结为简单的二元关系 (即二维表格形式)。
以行(row)和列(column)形式存储
非RDBMS
性能高,成本低
键值型数据库、文档型数据库、搜索引擎等数据库,统称NoSQL
关系型数据库设计规则
一个数据库中有多个表
每个表的名字具有唯一性
E-R -》 entity-relationship,实体-联系
实体集、属性、联系集
实体集 -》 对应一个表(table)
实体 -》 对应表的一行(row),也称一条记录(record)
属性 -》 对应一列(column),也成一个字段(field)
表的关联关系
一对一关联
应用不多,可以创造一张表代替
一对多关系
一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
多对多关系
必须创建第三个表,联接表
它将多对多关系划分为两个一对多关 系。将这两个表的主键都插入到第三个表中。
自我引用