数据库原理与应用 第 14 章 · 第四节
课程第 14 章第四节 编号多长商品表供应表两张小表两张长表用户表两张联系表 版式
第 14 章 数据库物理结构设计、实施和运行维护 · 第四节

案例:十张表的物理结构

本 节 知 识 点
  1. 14供应商表:五位编号够不够
  2. 15六列六个决定
  3. 16联合主码加两个金额类型
  4. 17分类表与订单表
  5. 18物流表与地址表
  6. 19自增主码与一个笔误
  7. 20分类表与包含表
14
第 14 章 · 第四节

供应商表:五位编号够不够

前两位是省,后三位是序号,一个省最多一千家。

第 14 页课件

试一试这几位能编多少个号

看哪一个
按纯数字编号算,这几位能编出多少个
位数能编到够用吗

重 点

位数是估出来的,估小了将来加不上,估大了天天浪费。

上机做

上机三第 1 题 表名叫 Order

想一想

第一千零一家供应商来了怎么办?

15
第 14 章 · 第四节

六列六个决定

编号定长,名字变长,时间到秒,缩略图存路径。

第 15 页课件

试一试案例的六张表点着看

看哪张
字段名字段描述数据类型完整性约束

重 点

图片本身放磁盘上,表里只留一行路径,不然备份和查询都被拖垮。

知道更多

概述给到 500 字,比商品名的 40 字宽得多,变长类型不会因此浪费。

16
第 14 章 · 第四节

联合主码加两个金额类型

两个编号合起来做主码,单价用 DECIMAL(9,2)。

第 16 页课件

重 点

课件写着这个类型能存到 9999999.99,多一分就存不进去。

上机做

上机一第 5 题 验一验这个范围

练一练

DECIMAL(9,2) 里那两个数字各是什么意思?
  1. A整数 9 位加小数 2 位
  2. B一共 9 位,其中 2 位是小数
  3. C最小 9 最大 2
  4. D9 个字节 2 位小数
答案 B

前一个是总位数,后一个是小数位,整数位就是两数相减,所以最大 9999999.99。

17
第 14 章 · 第四节

分类表与订单表

分类编号两位,订单编号十七位,差着十五个数量级。

第 17 页课件

重 点

订单号通常是年月日加流水,十七位一天开一亿单也够。

知道更多更正

订单表名叫 Order,ORDER 是保留字,建表时必须加反引号。

18
第 14 章 · 第四节

物流表与地址表

物流五列,地址十列,两处位数值得再想想。

第 18 页课件

重 点

地址表最后一列是用户编号,它把地址挂到人身上。

知道更多更正

物流编号 char(3) 最多一千条,同表的订单编号却有 17 位。

打个比方

联系人 char(4) 只装得下四个字,名字长一点的人就录不进去。

想一想

这两处你会改成几位?

19
第 14 章 · 第四节

自增主码与一个笔误

用户编号自增,权限用 TINYINT 存 1 和 2。

第 19 页课件

重 点

自增主码交给数据库发号,不用自己想编码规则。

知道更多更正

登录密码那一行写的是 char(),括号里漏了数字,照抄报 1064。

上机做

上机三第 2 题 char() 那个坑

想一想

权限用 TINYINT 存数字,比存中文好在哪?

20
第 14 章 · 第四节

分类表与包含表

两张都是联合主码,两列各自又指向别的表。

第 20 页课件

重 点

上一章的三张联系表,到这一步全变成了带外码的真表。

知道更多更正

课件这三张联系表只标了主码,落地时两列都要加外码。

上机做

上机三第 6 题 三张联系表

保山学院·人工智能教研室·曹鼎鼎