提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
为什么要使用数据库
持久化:把数据保存到可掉电式存储设备(内存)中以供之后使用,数据持久以为着将内存中的数据保存到硬盘上加以固话,而持久化的实现过程大多通过各种关系数据库来完成
持久化的主要作用是将内存中的数据存储在关系型数据性库中,当然也可以存储在磁盘文件,XML数据文件中
数据库的相关概念:
DB: 数据库(Database)
即存储数据的“仓库”,其本质是一个文件系统,他保存了一系列有组织的数据
DBMS:数据库管理系统:
是一种操作和管理数据库的大型软件,用于建立,使用和维护数据库,对数据库进行统一管理和控制。用户通过数据路管理系统访问数据中表内的数据
一 关系型数据库
关系型数据库(RDBMS)
实质:
这种类型的数据库是最古老的数据库累心,关系型数据库模型是复杂的数据结构归结为简单的二元关系
关系型数据库以行和列的形式存储数据,以便于用户理解,这一系列的行和列被称为表,一组表组成了一个库
表与表之间的数据记录有关系。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示,关系型数据库,就是建立在关系模型基础上的数据库
SQL就是关系型数据库的查询语言
优势:
复杂查询:可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询
事务支持:使得对于安全性很高的数据访问要求的以实现
非关系型数据库:
可以看成传统关系型数据库的功能阉割版本,基于键值对存储数据,不需要经过SQL层的解析,性能非常高,进一步提高性能
相比于SQL,NoSOl泛指非关系型数据库,包括榜单上的键值型数据库,等等
键值型数据库:
键值型数据库通过Key-Value键值的方式来存储数据,key和value可以是简单的对象,也可是是无法想象数据库
键值型数据库典型使用场景作为内存缓存, | Redis是最流行的键值型数据库 |
|
搜索引擎的核心是:倒排索引
:MySQL是一个开放源代码的关系型数据库管理系统
MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样增加了速度提高灵活性
MySQL使用标准的SQL数据语言形式
可以 允许运行于多个系统上,支持多语言
二、关系型数据库设计原则
1.表的关联关系
关系型数据库的典型数据结构就是数据表,这些数据表的组成都是结构化
将关系放到表中,标在放到库中
一个数据库中可以有多个表,每个表都有一个名字,用来表示自己,表明具有唯一性
表具有一些特征
E R()模型中有三个主要概念是:实体集,属性,联系表
一个实体集对应于数据库中的一个表,一个实体则对应于数据库表中的一行,也成为一条记录,一个属性对应于数据库表中的一列,也称为一个字段
表与表之间的数据记录有关系,
四种:一对一关联,一对多关联,多对多关联,自我引用
一对一关联:
拆分为俩个表:俩个表的记录是——对应关系
信息表:学号,姓名,手机号码,班级,
档案信息表:学号 身份证号码 等等
倆种建表原则:
外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一
外键是主键:主表的主键和从表的主键,形成主外键关系
一对多关系:
常见实例场景:客户表和订单表,分类表和商品表,部门表和员工表
一对多建表原则:再从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
多对多:
要表示多对多关系,必须创建第三个表,该表通常称为联接表,它将多对多关系划分为俩个一对多关系,将这俩个表的的主键都插入到第三个表中
表之间的关系 一对一,一对多,多对多,自我引用
关系型数据库的典型数据结构就是数据表,这些数据表的组成都是结构化的
将数据放到表中,表再放到库中
一个数据库可以有多个表,每个表都有一个名字,表具有唯一性
表具有一些特性,
表,记录,字段
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了数据库的概念