一、 两个学习网站

二、 数据库概述

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 自我引用

mysql持久化配置 mysql持久化原理_数据库