文章目录
一.数据库概述
1.为什么要使用数据库
持久化:把数据保存到可掉电式存储设备中以供之后使用。数据持久化意味着将内存中的数据保存到硬盘上加以固化。
作用:将内存中的数据存储在关系型数据库中,也可以存储在磁盘中,XML数据文件中
2.数据库与数据库管理系统
2.1数据库相关概念
DB:数据库(Database) |
---|
即存储数据的仓库,其本质是一个文件系统,保存了一系列有组织的数据 |
DBMS:数据库管理系统(Datebase Management System) |
是一种操纵和管理数据库的大型软件,用于建立,使用和维护数据库。用户通过数据库管理系统来访问数据库中的内容 |
SQL:结构化查询语言(Structured Query Language) |
专门用来与数据库通信的语言 |
2.2数据库与数据库管理系统的关系
数据库管理系统(DBMS)可以管理多个数据库,一般会针对每一个应用创建一个数据库。为保存应用中实体数据,一般在数据库中创建多个表,以保存程序中实体用户的数据
3.MySQL
3.1MySQL概述
3.2为什么选择MySQL
3.3Oracle与MySQL区别
3.4RDBMS与非RDBMS
关系型数据库(RDBMS)
实质
- 这种类型的数据库是最古老的数据库类型,关系型数据库模型是把复杂的数据结构归结为简单的二元关系 (即二维表格形式)。
- 关系型数据库以行(row)和列(column)的形式存储数据,以便于用户理解。这一系列的行和列被称为表(table),一组表组成了一个库(database)。
- SQL就是关系型数据库的查询语言。
优势
- 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
- 事务支持使得对于安全性能很高的数据访问要求得以实现。
非关系型数据库(非RDBMS)
介绍
非关系型数据库,可看成传统关系型数据库的功能阉割版本,基于键值对存储数据,不需要经过SQL层的解析,性能非常高。同时,通过减少不常用的功能,进一步提高性能。
4. 关系型数据库设计规则
一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
表具有一些特性,这些特性定义了数据在表中如何存储,类似Java和Python中 “类”的设计。
4.1 表、记录、字段
E-R(entity-relationship,实体-联系)模型中有三个主要概念是:实体集、属性、联系集。
一个实体集(class)对应于数据库中的一个表(table),一个实体(instance)则对应于数据库表中的一行(row),也称为一条记录(record)。一个属性(attribute)对应于数据库表中的一列(column),也称为一个字段(field)。
4.2 表的关联关系
表与表之间的数据记录有关系(relationship)。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
四种:一对一关联、一对多关联、多对多关联、自我引用