我是SQL初学者,希望确保我正在接近我正在创建的数据库的正确架构设计。SQL Table设计风格:
我想出了一个简单的例子,我的整体设计。
说我有一个表:
mysql> create table Animals(name varchar(255), flags int);
其中标志保持真值用于动物的性质,如食肉动物,两栖动物,哺乳动物,等等。
因为int只是一个二进制数,所以我可以使用XOR来通过这些标记来筛选我想匹配的内容。
或者,我可以有一个这样的表:
mysql> create table Animals(name varchar(255), flag1 bit, flag2 bit, flag3 bit);
我给这家值得关注的是:
是位浪费使用这种方法,或者如果我有标志1 - flag8,一个字节将使用?
最后:
这甚至以适当的方式去这样做这类设计的?如果没有,一些指导将真正赞赏。
据我所知,我可以有一大堆食肉动物,两栖动物,哺乳动物等等的表格,它们在哺乳动物中会有相同的名称,这可以避免我想要使用标志,浪费给我。
您的表中只有一种可用类型(即动物只能是一种) – 2013-02-14 18:15:54