SQL 使用DDL创建数据库&数据表时需要注意什么?
程序员文章站
2022-03-01 19:46:45
...
使用DDL创建数据库&数据表时需要注意什么?
- 了解 DDL 的基础语法;
- 使用 DDL 定义数据表时,都有哪些约束性。
- 使用 DDL 设计数据库时,都有哪些重要的原则。
DDL的基础语法及设计工具
DDL(Data Definition Language)数据定义语言。它定义了数据库的结构和数据表的结构。
DDL 中,我们常用的功能是增删改,分别对应命令是 create、drop 和 alter。需要注意的是,在执行 DDL 的时候,不需要 commit,就可以完成执行任务。
1. 对数据库进行定义
CREATE DATABASE mydb; // 创建一个名为 mydb 的数据库
DROP DATABASE mydb; // 删除一个名为 mydb 的数据库
2. 对数据表进行定义
CREATE TABLE table_name // 创建一个名为 table_name 的表结构
创建表结构
创建一个球员表,表名为 player,里面有两个字段:
- 一个是 player_id,它是 int 类型,自增长。
- 另一个是 player_name 字段是varchar(255)类型。两字段都不为空。
CREATE TABLE player (
player_id int(11) NOT NULL AUTO_INCREMENT,
player_name varchar(255) NOT NULL
);
- 字符集是 utf8
- 排序规则是 utf8_general_ci 代表对大小写不敏感
- 如果设置为 utf8_bin 代表对大小写敏感
修改表结构
- 添加字段
ALTER TABLE player ADD (age int(11));
- 修改字段名,将 age 字段改成 player_age
ALTER TABLE player RENAME COLUMN age to player_age
- 修改字段的数据类型,将player_age 的数据类型设置为 float(3,1)
ALTER TABLE player MODIFY (player_age float(3,1));
- 删除字段,删除刚添加的player_age字段
ALTER TABLE player DROP COLUMN player_age;
设计数据表的原则
三少一多的原则:
1.数据表的个数越少越好
RDBMS 的核心在于对实体和联系的定义,也就是E-R图(Entity Relationship Diagram),数据表越少,证明实体和联系设计得越简洁,既方便理解又方便操作。
2.数据表中的字段个数越少越好
字段个数越多,数据冗余的可能性越大。设置字段个数少的前提是各字段相互独立,而不是某个字段的取值可以由其它字段计算出来。
3.数据表中联合主键字段个数越少越好
设置主键是为了确定唯一性,当一个字段无法确定唯一性的时候,就需要采用联合主键的方式(也就是用多个字段来定义一个主键)。
联合主键中的字段越多,占用的索引空间越大,不仅会加大理解难度,还会增加运行时间和索引空间,因此联合主键的字段个数越少越好。
4.使用主键和外键越多越好
“三少一多”原则的核心就是“简单可复用”。
- 简单指的是用更少的表、更少的字段,更少的联合主键字段来完成数据表的设计。
- 可复用则是通过主键、外键的使用来增强数据表之间的复用率。