1 00:00:00,180 --> 00:00:03,990 回到第一和第二课动物园数据库中 2 00:00:03,990 --> 00:00:08,850 我们讨论过的一个表格是饮食表格 它描述每个物种吃的食物 3 00:00:08,850 --> 00:00:12,850 我们讨论了为一个物种存储多种食物数据的三种方法 4 00:00:12,850 --> 00:00:14,450 比如有多个食品列 5 00:00:14,450 --> 00:00:19,050 每个物种一行 比如单一的一列用逗号把食物种类分隔开 6 00:00:19,050 --> 00:00:22,410 比如分成不同的行 每种食物后面加逗号 然后是物种 7 00:00:22,410 --> 00:00:25,690 我提到过 这种形式相比另外两个拥有明显的优势 8 00:00:25,690 --> 00:00:29,440 在绘图和比较中用这种形式更好 9 00:00:29,440 --> 00:00:33,150 而且你不需要事先知道有多少种食物 我们还看到了 10 00:00:33,150 --> 00:00:37,390 这两个动物园捐赠人及其电话号码的表格 11 00:00:37,390 --> 00:00:40,380 为了避免重复 我们将一个对象 12 00:00:40,380 --> 00:00:44,120 或者一条记录中的信息拆分到两个单独的表格中 13 00:00:44,120 --> 00:00:47,340 在数据库术语中 这被称为规范化形式 14 00:00:47,340 --> 00:00:49,920 其它的被称为非规范化形式 15 00:00:49,920 --> 00:00:53,220 规范化是数据库设计中的核心理念 16 00:00:53,220 --> 00:00:56,100 规范化涉及在数据库的表格间建立关系 17 00:00:56,100 --> 00:00:59,390 对真正存在于不同数据记录之间 18 00:00:59,390 --> 00:01:00,910 的关系进行匹配 19 00:01:00,910 --> 00:01:03,640 这个理念背后有一堆数据库理论 20 00:01:03,640 --> 00:01:07,240 我在讲师注释中放了一篇论文的链接 里面有很多关于它的详细说明 21 00:01:07,240 --> 00:01:09,740 我只会给大家讲最有相关性的要点