一、 两个学习网站
二、 数据库概述
2.1 为什么要使用数据库
- 持久化: 把数据保存到可掉电式存储设备中以供之后使用,大多使情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以固化,而持久化的实现过程大多通过各种关系数据库来完成。
- 持久化的主要作用是将内存中的数据库存储在关系型数据库中 ,当然也可以存储在磁盘文件、XML数据文件中。
2.2 数据库与数据库管理系统
2.2.1 数据库的相关概念
概念 | 说明 |
DB:数据库(Database) | 存储数据的”仓库“,其本质是一个文件系统,它保存了一系列有组织的数据 |
DBMS: 数据库管理系统(Database Management System) | 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据 |
SQL:结构化查询语言(Structured Query Language) | 专门用来与数据库通信的语言 |
DB相当于一份文件,而DBMS相当于能打开这份文件的软件
三、 关系型数据库的设计规则
- 关系型数据库的典型数据库结构是数据表 ,这些数据表的组成都是结构化的。
- 将数据放到表中,表再方道库中。
- 一个数据库可以有多个表,每个表都有唯一的名字,用来标识自己。
- 表具有一些特性,这些特性定义了数据再表中如何存储,类似Java何Python中”类“的设计。
3.1 表、记录、字段
- E-R(实体-联系)模型中的主要概念是:实体集、属性、联系集
- 一个实体集(class)对应数据库中的一张表(table)。
- 一个实体对应数据库表中的一行(row),也称为一条记录。
- 一个属性,对应数据库表中的一列(column),也称为一个字段
3.2 表的关联关系
- 表与表之间的数据记录有四种关系:一对一关联,一对多关联,多对多关联,自我引用
3.2.1 一对一关联
- 在时机开发中的应用不是很多,因为这个关系可以创建成一张表
- eg.设计
学生表:学号、姓名、手机号、班级、系别、身份证号码、家庭住址、机关、紧急联系人
· 拆成两个表:两个表的记录是一一对应关系
·基础信息表(常用信息):学号、姓名、手机号、班级、系别
·档案信息表(不常用信息):学号、身份证号码、家庭住址、籍贯、紧急联系人 - 两种见表的原则:
·外键唯一:主表的主键何从表的外键(唯一),形成主外键关系,外键唯一。
·外键是主键:主表的主键和从表的主键,形成主外键关系。
3.2.2 一对多关系
- 常见实例场景: 客户表和订单表,分类表和商品表, 部门表和员工表
- eg.
·员工表:编号、姓名、… 、所属部门
·部门表:编号、名称、简介 - 一对多建表原则:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
3.2.3 多对多关系
要表示多对多关系,必须创建第三个表,该表通常称为** 联接表** ,它将多对多关系划分为两个一对多关系,将这两个表的主键都插入到第三个表中。
- eg .
·学生信息表:学号、姓名、手机号、班级、系别…
·课程信息表:课程编号、授课老师、简介
·选课信息表:一个学生可以选多门课,一门课可以被多个学生选择。
3.2.4 自我引用

















