为数据块表名,为字段名 外键按照FK___的规则命名,其中为⽗表名,为⼦表名,为序列号 数据库规范化设计的⼀些基本要求:⼀、表中应该避免可为空的列。虽然表中允许空列,但是,空字段是⼀种⽐较特殊的数据类型。数据库在处理的时候,需要进⾏特殊的处理。如此的话,就会增加数据库处理记录的复杂性。当表中有⽐较多的空字段时,在同等条件下,数据库处理的性能会降低许多。解决⽅法:⼀是通过设置默认值的形式,来避免空字段的产⽣。⼆是若⼀张表中,允许为空的列⽐较多,接近表全部列数的三分之⼀。⽽且,这些列在⼤部分情况下,都是可有可⽆的。若数据库管理员遇到这种情况,建议另外建⽴⼀张副表,以保存这些列。⼆、表不应该有重复的值或者列。三、表中记录应该有⼀个唯⼀的标识符。四、数据库对象要有统⼀的前缀名。五、尽量只存储单⼀实体类型的数据。六、尽量符合数据库的⼏个范式。设计规范所有字段在设计时,除以下数据类型timestamp、image、datetime、smalldatetime、uniqueidentifier、binary、sql_variant、binary、varbinary外,必须有默认值。字符型的默认值为⼀个空字符值串’’;数值型的默认值为数值0;逻辑型的默认值为数值0;其中:系统中所有逻辑型中数值0表⽰为“假”;数值1表⽰为“真”。datetime、smalldatetime类型的字段没有默认值,必须为NULL。当字段定义为字符串形时建议使⽤varchar⽽不⽤nvarchar。字段的描述数据库中每个字段的描述(Description)如下:表内的每⼀个值只能被表达⼀次表内的每⼀⾏都应当被唯⼀的标⽰表内不应该存储依赖于其他键的⾮键信息如果字段事实上是与其它表的关键字相关联⽽未设计为外键引⽤,需建索引。如果字段与其它表的字段相关联,需建索引。SQL 开发代码规范 我们规定sql语句编码的时候程序员需要遵循以下规范: a 所有的关键字的所有字母必须⼤写。如果⼀个常量由⼏个词组成,我们规定两个词之间使⽤下划线(_)来划分。表名、列名、视图名或它们的别名必须和它们的定义保持⼀致。 b 注释必须要规范。其他设计技巧1)避免使⽤触发器触发器的功能通常可以⽤其他⽅式实现。在调试程序时触发器可能成为⼲扰。假如你确实需要采⽤触发器,你最好集中对它⽂档化。2)使⽤常⽤英语(或者其他任何语⾔)⽽不要使⽤编码在创建下拉菜单、列表、报表时最好按照英语名排序。假如需要编码,可以在编码旁附上⽤户知道的英语。3)保存常⽤信息。让⼀个表专门存放⼀般数据库信息⾮常有⽤。在这个表⾥存放数据库当前版本、最近检查/修复、关联设计⽂档的名称、客户等信息。这样可以实现⼀种简单机制跟踪数据库,当客户抱怨他们的数据库没有达到希望的要求⽽与你联系时,这样做对⾮客户机/服务器环境特别有⽤。4)包含版本机制。在数据库中引⼊版本控制机制来确定使⽤中的数据库的版本。时间⼀长,⽤户的需求总是会改变的。最终可能会要求修改数据库结构。把版本信息直接存放到数据库中更为⽅便。5)编制⽂档。对所有的快捷⽅式、命名规范、限制和函数都要编制⽂档。采⽤给表、列、触发器等加注释的数据库⼯具。对开发、⽀持和跟踪修改⾮常有⽤。对数据库⽂档化,或者在数据库⾃⾝的内部或者单独建⽴⽂档。这样,当过了⼀年多时间后再回过头来做第2 个版本,犯错的机会将⼤⼤减少。6)测试、测试、反复测试。建⽴或者修订数据库之后,必须⽤⽤户新输⼊的数据测试数据字段。最重要的是,让⽤户进⾏测试并且同⽤户⼀道保证选择的数据类型满⾜商业要求。测试需要在把新数据库投⼊实际服务之前完成。7)检查设计。在开发期间检查数据库设计的常⽤技术是通过其所⽀持的应⽤程序原型检查数据库。换句话说,针对每⼀种最终表达数据的原型应⽤,保证你检查了数据模型并且查看如何取出数据。
评论列表(0条)