一、关系型数据库
1、数据库的理解
批量数据的容器。DataBase,简称DB。
发展史:层次型数据库【一对多关系场景的】,网状型数据库【克服非层次型数据】,关系型数据, NoSQL
【MongoDB
— 类似于json
Redis
— 把数据存储在内存的数据 以键值对形式存储数据】 ,
newSQL
[高性能 高扩展的数据库的简称]
2、关系型数据库
信息规范化的电子数据的集合称为数据库。
信息规范化使用表(table)结构来描述的,和excel类似,按照行和列来组织数据。
通过对表中对数据的理解和数据之间的关系梳理,形成关系性数据库
表【table】
编号 | 姓名 | 年龄 |
---|---|---|
1 | 乐乐 | 17 |
2 | 倩倩 | 21 |
3 | 灰灰 | 19 |
名词概念:
第一行的标题名 ----- 列名
、字段
、属性
、 数据项
每一行的数据 ---- 行
、元组
、 记录
具体的单元格的数据 ----- 列值
3、数据库管理系统(DBMS)
DBMS是DataBase Manegement System的缩写。
使用数据库语言对数据库操作的一个平台系统,需要安装数据库管理系统,并启动数据库服务。
这个系统类似于windows系统,是一个多用户的,安装时默认自带一个用户产生,该用户就是超级管理员用户,一般命名为root
二、SQL的使用
结构化查询语言(Structured Query Language)
这是一种静态类型语言,定义字段的时候一定要标记字段的类型,语句结束的时候一定要加;
。
SQL按照器功能分为四类
DDL
数据定义语言
定义/删除/修改数据库
定义/删除/修改数据表结构
DML
数据操作语言
对数据表中的数据进行增删改
DQL
数据查询语言【***************************】
对数据表中的数据进行查询
DCL
数据控制语言
创建其他用户 为这个用户分配操作数据库的权限
1、创建数据库的思路
实体关系模型,表结构想象面向对象中构建类,描述出来对象有哪些属性,有些实体之间是存在着关系的,这里的关系分为3种:
-
一对一
两个对象信息之间是一条对一条的
人的信息
身份证信息
-
一对多
两个对象信息之间是一条对应着多条的
班级和学生
-
多对多
课程和学生
一个学生可以有多个课程
一个课程可以有多个学生选择
如何在表中展示一对多和多对多的关系
展示一对多的关系:在多的一方设置一个字段 关联 少的那一方的唯一标识,比如就是在学生那一方设置一个班级编号关联班级表中的班级编号。
展示多对多的关系:需要建立一张中间表,在这个中间表中关联两者的数据信息。
2、数据定义语言DDL
2.1 数据库操作指令
1. 创建数据库 并设置数据库的字符集为 utf8mb4 【比utf8多识别一些特殊符号】
create database if not exists 数据库名 charset='utf8mb4';
2. 切换到指定数据库的上下文中
use 数据库名;
3. 删除数据库
drop database if exists 数据库名;
4. 修改数据库的字符集 【创建的时候 忘记设置了】
alter