数据库概述学习笔记
1. 数据库概述
1.1 为什么使用数据库
- 持久化:把数据保存到可掉电时存储设备中以供以后使用
- 持久化的作用:将内存中的数据存储在关系型数据库,磁盘文件或XML数据文件等持久化存储介质中
2. 数据库与数据库管理系统
2.1 数据库相关概念
- DB 数据库:存储数据的"仓库",保存一系列有组织的数据(本质是一个文件系统)
- DBMS 数据库管理系统:**是一种操纵和管理数据库的大型软件,用于建立,使用和维护数据库,对数据库进行统一管理和控制.用户可以通过DBMS访问数据库中表内数据
- SQL:结构化查询语言,专门用来与数据库通信的语言
2.2 数据库与数据库管理系统的关系
DBMS可以管理多个DB,一般开发人员会针对每一个应用创建一个数据库,为保存应用中实体的数据,一般会在数据库中创建多个表,以保存应用中实体用户的数据
3. 关系型数据与非关系型数据库
3.1 关系型数据库(RDBMS)
3.1.1 介绍
- 关系型数据库是最古老的数据库类型,其是把复杂的数据结构归结为简单的二元关系(二维表格形式)
- 关系型数据库以行和列的形式存储数据,便于用户理解.这一系列的行和列被称为表,一组表就组成了一个库
- 表和表之间的数据记录有关系.现实世界中各种实体以及实体之间的各种联系均用关系模型来表示.关系型数据库就是建立在关系模型基础上的数据库.
- SQL就是关系型数据库查询语言
3.1.2 优势
- 复杂查询:可以用SQL语句很方便的在一个表以及多个表之间进行复杂查询
- 事务支持:使得对安全性能很高的数据访问要求得以实现
3.2 非关系型数据库
3.2.1 介绍
- 非关系型数据库可堪称传统关系型数据库的轻量化版本,基于键值对存储数据,不需要经过SQL层解析,性能非常高.
3.2.1 分类
- 键值型数据库(如:Redis),典型使用场景:内存缓存
- 文档型数据库
- 搜索引擎数据库
- 列式数据库(如:HBase)
- 图形数据库
4. 关系型数据库设计原则
- 关系型数据库典型数据结构就是数据表,这些数据表的组成都是结构化的
- 将数据放到表中,然后将表再放到数据库中
- 一个数据库可以有多张表,每个表有一个表名用来标识自己.表名具有唯一性
- 表有一些特性,定义了数据在表中如何存储
4.1 表 记录 字段
-
ER模型三个主要概念:实体集 属性 联系集
-
ORM(对象关系映射)思想体现:
数据库中的一张表 对应 Java中的一个类 表中的一条数据 对应 Java类中的一个对象 表中的一个列 对应 Java类中的一个字段(属性)
4.2 表的关联关系
- 表和表之间的数据记录存在关系
- 四种关系:一对一,一对多,多对多,自我引用