sql反模式读书笔记

sql是一门声明式编程语言,像Lisp、Haskell或者XSLT,sql中使用集合作为根本的数据结构。

第一部分:逻辑型数据库设计反模式:

  1.乱穿马路

    乱穿马路指的是:在多对一的数据库设计中,将多的那个列类型设置为VARCHAR,将其中的多个字段用逗号分隔。这样设计的数据库在执行查询和更新的时候都会变的非常困难,而且会限制列中字段的数目。

  这种问题的解决方案是创建一张交叉表。

  交叉表的设计中,可以以另一张表中的合法数据为标准,使用外键约束来验证数据,还可以使用SQL的数据类型来约束条目。例如,设定字段中的条目应该是INTEGER或者DATE类型的,就可以确信所有条目都是合法的数据。

你可能感兴趣的:(数据库)