当前位置: 首页 > 编程笔记 >

SQL 设计良好的表的属性。

蔺敏达
2023-03-14
本文向大家介绍SQL 设计良好的表的属性。,包括了SQL 设计良好的表的属性。的使用技巧和注意事项,需要的朋友参考一下

示例

真正的关系数据库必须超越将数据扔到几个表中并编写一些SQL语句来提取数据的能力。
最好的一个错误设计的表结构将减慢查询的执行速度,并可能使数据库无法按预期运行。

一个数据库表不应被视为另一个表。它必须遵循一组规则才能被认为是真正的关系。从学术上讲,区分是一种“关系”。

关系表的五个规则是:

  1. 每个值是原子的; 每行每个字段中的值必须是一个值。

  2. 每个字段都包含相同数据类型的值。

  3. 每个字段标题都有一个唯一的名称。

  4. 表中的每一行必须至少具有一个值,以使其在表中的其他记录中唯一。

  5. 行和列的顺序没有意义。

符合以下五个规则的表:

ID 名称 DOB 经理
1 弗雷德 1971年11月2日 3
2 弗雷德 1971年11月2日 3
3 起诉 1975年8月7日 2
  • 规则1:每个值都是原子的。  Id,Name,DOB和Manager仅含有一个单一的值。

  • 规则2:Id仅包含整数,Name包含文本(我们可以添加为四个字符或更少的文本),DOB包含有效类型的日期,并Manager包含整数(我们可以添加对应于管理器表中主键字段的数字)。

  • 第3条:Id,Name,DOB和Manager在表格内唯一的标题名称。

  • 规则4:包含该Id字段可确保每个记录与表中的任何其他记录都不同。

设计不良的表格:

ID 名称 DOB 名称
1 弗雷德 1971年11月2日 3
1 弗雷德 1971年11月2日 3
3 起诉 1975年7月18日,星期五 2、1
  • 规则1:第二个名称字段包含两个值-2和1。

  • 规则2:DOB字段包含日期和文本。

  • 规则3:有两个字段称为“名称”。

  • 规则4:第一条记录和第二条记录完全相同。

  • 规则5:这条规则没有违反。

 类似资料:
  • 我正在创建一个UDP服务器,它需要从各种客户端接收UDP数据包,然后将它们转发给其他客户端。我使用C#,所以每个UDP套接字对我来说都是一个Udp客户端。我想我想要2个Udp客户端对象,一个用于接收,一个用于发送。接收套接字将绑定到已知端口,发送者根本不会绑定。 服务器将获取每个数据包,查找数据包数据中的用户名,然后根据服务器维护的路由列表,将数据包转发给1个或多个其他客户端。 我开始监听Udp客

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 2年前关闭。 改善这个问题 我正在寻找有关关系数据库设计,性能调整等最佳实践的书/站点/教程。有很多“这里是归一化,这是ER图,”,但在实际示例中却没有太多。有人有想法么? 问题答案: 图书:仅凡人的数据库设计

  • 我正面临着一个问题,即设计能够执行网络I/O的方法(用于可重用库)。我读过这个问题 API设计中C#5Await/Async模式 以及其他与我的问题更接近的问题。 所以,问题是,如果我想同时提供异步和非异步方法,我必须如何设计这些? 例如,要公开方法的非异步版本,我需要执行如下操作 我觉得这不是个好设计。我想要一个关于如何定义私有方法的建议(例如),这些私有方法可以包装在公共方法中以提供两个版本。

  • 我正在开发一个内置的应用程序。NET和Java。Java组件包含使用Redhat BRMS套件的完整规则库。这个NET客户端(UI和基于桌面的应用程序)将咨询Java规则引擎并发送/接收JSON数据。已经做出的决定是将规则引擎(使用Drools的Redhat BRMS 6.0.0)公开为基于REST的API。我提出了以下设计方法: 在Spring框架和服务类中编写一个REST控制器,用于调用BRM

  • 问题内容: 缩进SQL语句的公认做法是什么?例如,考虑以下SQL语句: 应该如何缩进?非常感谢。 问题答案: 我喜欢将所有的“,”放在前面,这样,当SQL编辑器在X行出现错误时,我就永远不会搜索它们。 对于那些不使用这种类型的编写SQL语句的人来说,这是一个示例。两者都包含缺少逗号的错误。 在第一个示例中,我发现更容易,更快捷。希望本示例向您展示更多我的观点。

  • 问题内容: 有一个只有一列的表可以吗?我知道从技术上来讲这不是非法的,但是它被认为是糟糕的设计吗? 编辑: 这里有一些例子: 您有一个带有50个有效美国州代码的表,但是您无需存储详细的州名。 电子邮件黑名单。 有人提到添加一个关键字段。以我的看法,这单列将是主键。 问题答案: 是的,以使表格效率最高的方式设计表格无疑是一个很好的设计。“不良RDBMS设计”通常以低效率为中心。 但是,我发现大多数单