数据库设计(基础操作方法)

62 阅读2分钟

SQL

Structured Query Language (SQL) 结构化查询语言

大部分关系型数据,拥有着基本一致的SQL语法。

  • DDL(数据定义语言)​:操作数据库对象。(Data Definition Language 数据定义语言)
  • DML(数据操作语言)​:操作数据库中的记录(Data Manipulation Language 数据操控语言)
  • DCL(数据控制语言)​:操作用户权限(Data Control Language 数据控制语言)

管理库

  • 创建库:create database 数据库名称(不区分大小写)(或者直接右键点击创建)
  • 切换当前库:use 库名(点击查询->新建查询->下拉选择)
  • 删除数据库:drop DATABASE 数据库名 (或者右键删除)
  • 创建表:点击表右键新建
    • 字段名
    • 字段类型
      • bit:占1位,0或1,false或true
      • int:占32位,整数
      • decimal(M,N):能精确计算的实数,M是总的数字位数,N是小数位数
      • char(n):固定长度为n的字符
      • varchar(n):长度可变,最大长度位n的字符
      • text:大量的字符
      • date:仅日期
      • datetime:日期和时间
      • time:仅时间
    • 自增:AUTO_INCREMENT
    • 是不是null
  • 修改表:(右键->设计表->修改)
  • 删除表:右键删除或 drop table '数据库名'

主键和外键

  • 主键:根据设计原则,每张表都要有主键(为了避免重复的不能区分)
    • 唯一
    • 不能更改
    • 无业务含义
  • 外键:用于产生表关系的列,外键列会连接到另一张表(或自己)的主键

image.png

表的关系

  • 一对一:一个A对应一个B,一个B对应一个A,比如用户和用户信息(把任意一张表的主键同时设置为外键)
  • 一对多:一个A对应多个B,一个B对应一个A,A和B是一对多,B和A是多对一,例如班级和学生(在多一端的表上设置外键,对应到另一张表的主键上)
  • 多对多:一个A对应多个B,一个B对应多个A,例如学生和老师,(需要创建一张关系表,关系表至少包含两个外键,分别对应到两张表)

三大设计范式

  1. 要求数据库表的每一列都是不可分割的原子数据项
  2. 非主键列必须依赖于主键列
  3. 非主键列必须直接依赖主键列