已锁定 。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。
我有一些想法,随着时间的推移我已经积累了一些想法,但是我真的很想知道是什么使您在对数据库建模时使事情顺利进行:
将每个人的意见汇总到一个列表中。
命名标准
模式按功能区域(产品,订单,运输)命名
没有匈牙利语符号:对象名称中没有类型名称(没有strFirstName)
不要使用注册关键字作为对象名称
对象名称中没有空格或任何特殊字符(仅允许使用字母数字和下划线)
以自然方式命名对象(用FirstName代替NameFirst)
表名称应与主键名称和描述字段匹配(SalesType ― SalesTypeId,SalesTypeDescription)
不要以tbl_或sp_作为前缀
按对象名称的名称代码(CustomerSearch,CustomerGetBalance)
CamelCase数据库对象名称
列名应为单数
表名可以是复数
为所有限制提供公司名称(MustEnterFirstName)
资料类型
在表之间使用相同的变量类型(在一个表中使用邮政编码-数字,在另一个表中使用varchar并不是一个好主意)
使用nNVarChar获取客户信息(名称,地址)等,您永远不知道何时会跨国公司
在代码中
关键字始终大写
从不使用隐式联接(逗号语法)-始终使用显式的INNER JOIN / OUTER JOIN
每行一个JOIN
每行一个WHERE子句
没有循环-替换为基于集合的逻辑
对别名使用简短的表名形式,而不是A,B,C
除非没有追索权,否则避免触发
避免像瘟疫这样的游标(请阅读http://www.sqlservercentral.com/articles/T-SQL/66097/)
文献资料
创建数据库图
创建数据字典
规范化和参照完整性
尽可能使用单列主键。在需要时使用唯一约束。
参照完整性将始终得到执行
避免ON DELETE CASCADE
OLTP必须至少为4NF
将每个一对多关系评估为潜在的多对多关系
非用户生成的主键
构建基于插入的模型,而不是基于更新的模型
PK到FK的名称必须相同(Employee.EmployeeId与EmployeeSalary.EmployeeId相同的字段)
除非有双重联接(Person.PersonId联接到PersonRelation.PersonId_Parent和PersonRelation.PersonId_Child)
维护:运行定期脚本以查找
不含表的架构
孤记录
没有主键的表
没有索引的表
非确定性UDF
备份,备份,备份
做个好人
始终如一
修正错误, 现在
阅读Joe Celko的SQL编程样式(ISBN 978-0120887972)
本文向大家介绍什么是数据标准化,为什么要进行数据标准化?相关面试题,主要包含被问及什么是数据标准化,为什么要进行数据标准化?时的应答技巧和注意事项,需要的朋友参考一下 数据标准化是预处理步骤,将数据标准化到一个特定的范围能够在反向传播中保证更好的收敛。一般来说,是将该值将去平均值后再除以标准差。如果不进行数据标准化,有些特征(值很大)将会对损失函数影响更大(就算这个特别大的特征只是改变了1%,但是
我有一个存储库层,有许多方法组合,以匹配搜索标准…重用这个标准的最佳方法是什么?我认为像FindByNameAndidandBirthdayandAccouncAnumber这样的方法名称不是一个好主意!谢了! }
问题内容: 我知道有些人可能会回答这个问题,但是我的问题来自于您和您的答案。我正在阅读有关SQL注入以及如何保护数据库的过去两个小时的问答。我看到的大量网页和教程也是如此。 我发现有一半人声称prepare语句确实可以保护您的数据库,而另外50人则声称不是。 另一方面,我读到mysql_real_escape_string可以完成这项工作,而其他人则说不行。 我的问题是谁相信? 另外,这是适当的准
Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLite还在其它领域有广泛的应用,比如HTML5和移动端。Python标准库中的sqlite3提供该数据库的接口。 我将创建一个简单的关系型数据库,为一个书店存储书的分类和价格。数据库中包含两个表:category用于记录分类,b
问题内容: 我们有很多对象,我们希望为其实现简单的输出对象属性的对象。其中一些属性可能是复杂的对象本身。 是否有任何标准,或者仅仅是样式的最佳实践?我在想类似的东西: 在这种情况下,嵌套值将如下所示: 我们正在使用Java,但是我发现自己在大多数语言中都在问同样的问题! 问题答案: 就我个人而言,我发现混合使用它并不太容易立即获得层次结构的视图。 我喜欢这种格式(并且已经在很多地方看到它使用过):
问题内容: 您使用的最常见的SQL优化是什么? 问题答案: 通过仅返回所需的字段并仅返回所需的行来减少返回的数据量。这是最常见的情况,因为您对返回数据的每个查询都执行此操作。 添加索引。这样做的频率不高,因为某些表除了为主键创建的索引外,不需要任何其他索引。