用PowerDesigner设计数据库物理图,包括多个对象,如表(Table)、字段(Column)、域(Domain)等。设计时主要在PowerDesigner的Dictionary和Database两个菜单中。
表(Table)
表是数据存储的一个逻辑对象,包括其它对象如字段(Column)、索引(Index)、触发器(Trigger)、存储过程(Procedure)等,表的优化设计有分割等技术,对于表的存储,如果访问数据量大,访问频率高则可考虑将表放在不同的存储(Storage)上。
在设计表时,应该估算表的大小和增长量,便于创建数据库时分配数据库空键,这样减少了磁盘碎片的产生。
在关系数据库中设计主键时,采用有意义的主键是致命的错误。如果用户决定改变字段的商业含义,则需要在所有使用到该信息的地方进行修改。主键的作用应是保持唯一性和作为外键使用。任何对主键的修改会导致巨大的数据库维护工作量,显然这是不合适宜的设计。就关系数据库而言,设计主键策略采用的是代理主键的方法。
设计主键时应该避免“热点”现象,但也需要分析具体的应用系统的并发用户而定。
字段(Column)
定义一个字段主要有字段名、字段类型及长度、是否主外键、是否空、约束、默认值、域等。
变长和定长的数据类型在数据库设计中讨论比较多,作为一般原则,如果预期某列中的数据范围变化很大,但变化并不频繁,那末对这样的列使用变长数据类型最为适宜。
决定行长时,既不能太浪费,又不能太吝惜。考虑到将来的需要,并且意识到,如果增加行长而没有改变一页中容纳的行数,那末增加的空间就等于免费使用。
设计时,字段尽量使用域,方便维护字段的类型。每个字段最好将默认值加上,因为在数据库查询中,有NULL值会影响查询的性能。
通过CHECK约束可限制字段的取值。
域(Domain)
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/