为什么要使用数据库
1.持久化:把数据保存到可掉电式存储设备中以供之后使用。
数据库相关概念
数据库(DB):即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。
数据库管理系统(DBMS):用户通过数据库管理系统访问数据库中表内的数据。
结构化查询语言(SQL):专门用来与数据库通信的语言。
常见的数据库管理系统排名(DBMS)
Oracle、MySQL、MS SQL Server、DB2、PostgreSQL、Access、Sybase、Informix
MYSQL优点
MySQL大概总结的原因主要有以下几点:
-
开放源代码,使用成本低。
-
性能卓越,服务稳定。
-
软件体积小,使用简单,并且易于维护。
-
历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。
-
许多互联网公司在用,经过了时间的验证。
数据库分类
1.关系型数据库(RDBMS)
-
关系型数据库以
行(row)
和列(column)
的形式存储数据,以便于用户理解。这一系列的行和列被称为表(table)
,一组表组成了一个库(database)。 -
表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用
关系模型
来表示。关系型数据库,就是建立在关系模型
基础上的数据库。 -
SQL 就是关系型数据库的查询语言。
优势
-复杂查询
可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
-事务支持
使得对于安全性能很高的数据访问要求得以实现。
2.非关系型数据库
可看成传统关系型数据库的功能阉割版本
,基于键值对存储数据,不需要经过SQL层的解析,性能非常高
。同时,通过减少不常用的功能,进一步提高性能。
键值型数据库
文档型数据库
搜索引擎数据库
列式数据库
图形数据库
目前基本上大部分主流的非关系型数据库都是免费的。
关系型数据库设计规则
-
E-R(entity-relationship,实体-联系)模型中有三个主要概念是:
实体集
、属性
、联系集
。 -
一个实体(class)对应于数据库中的一个表(table),一个实体(instance)则对应于数据库表中的一行(row),也称为一条记录(record)。一个属性(attribute)对应于数据库表中的一列(column),也称为一个字段(field)。
-
表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
-
四种关联关系:一对一关联、一对多关联、多对多关联、自我引用
两种建表原则: -
外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一。
-
外键是主键:主表的主键和从表的主键,形成主外键关系。