[b]采用前缀命名[/b]
如果多个表里有好多同一类型的字段(比如FirstName),你不妨用特定表的前缀(比如
CusLastName)来帮助你标识字段。
[b]提防大小写混用的对象名和特殊字符[/b]
过去最令我恼火的事情之一就是数据库里有大小写混用的对象名,比如CustomerData。这一问题从Access 到Oracle 数据库都存在。我不喜欢采用这种大小写混用的对象命名方法,结果还不得不手工修改名字。想想看,这种数据库/应用程序能混到采用更强大数据库的那一天吗?采用全部大写而且包含下划符的名字具有更好的可读性(CUSTOMER_DATA),绝对不要在对象名的字符之间留空格。
[b]列命名技巧[/b]
我们发现,假如你给每个表的列名都采用统一的前缀,那么在编写SQL 表达式的时候会得到大大的简化。这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列名同某些数据库联系起来,不过就连这些工具有时不也连接错误嘛。举个简单的例子,假设有两个表:Customer 和Order。Customer 表的前缀是cu_,所以该表内的子段名如下:cu_name_id、cu_surname、cu_initials 和cu_address 等。Order 表的前缀是or_,所以子段名是:or_order_id、or_cust_name_id、or_quantity 和or_description 等。
——摘自《数据库设计指南》
[b]总结:[/b]
在看了数据库设计指南之后,发现自己以前设计数据库的方式基本上是正确的,要注意的地方是数据库表的命名规范:1.给每个表的列名前都加统一前缀,这样当多个表有同样的字段比如status时可避免重名,以在查询的时候避免不必要的麻烦(冲突)。2.列名要大写,并且单词之间用下划线隔开,以前自己设计数据库时列名喜欢采用大小写混用是错误的,尤其对于Oracle来说,Oracle的列名本来就要求全部大写。
如果多个表里有好多同一类型的字段(比如FirstName),你不妨用特定表的前缀(比如
CusLastName)来帮助你标识字段。
[b]提防大小写混用的对象名和特殊字符[/b]
过去最令我恼火的事情之一就是数据库里有大小写混用的对象名,比如CustomerData。这一问题从Access 到Oracle 数据库都存在。我不喜欢采用这种大小写混用的对象命名方法,结果还不得不手工修改名字。想想看,这种数据库/应用程序能混到采用更强大数据库的那一天吗?采用全部大写而且包含下划符的名字具有更好的可读性(CUSTOMER_DATA),绝对不要在对象名的字符之间留空格。
[b]列命名技巧[/b]
我们发现,假如你给每个表的列名都采用统一的前缀,那么在编写SQL 表达式的时候会得到大大的简化。这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列名同某些数据库联系起来,不过就连这些工具有时不也连接错误嘛。举个简单的例子,假设有两个表:Customer 和Order。Customer 表的前缀是cu_,所以该表内的子段名如下:cu_name_id、cu_surname、cu_initials 和cu_address 等。Order 表的前缀是or_,所以子段名是:or_order_id、or_cust_name_id、or_quantity 和or_description 等。
——摘自《数据库设计指南》
[b]总结:[/b]
在看了数据库设计指南之后,发现自己以前设计数据库的方式基本上是正确的,要注意的地方是数据库表的命名规范:1.给每个表的列名前都加统一前缀,这样当多个表有同样的字段比如status时可避免重名,以在查询的时候避免不必要的麻烦(冲突)。2.列名要大写,并且单词之间用下划线隔开,以前自己设计数据库时列名喜欢采用大小写混用是错误的,尤其对于Oracle来说,Oracle的列名本来就要求全部大写。