返回顶部
首页 > 资讯 > 数据库 >数据库之父Codd的12条法则
  • 872
分享到

数据库之父Codd的12条法则

摘要

数据库设计的指导性方针: 信息法则 关系数据库中的所有信息都用唯一的一种方式表示——表中的值。 保证访问法则 依靠表名、主键值和列名的组合,保证能访问每个数据项。 空值的系统化处理 支持空值(NULL),以系统化的方式处理空值,空值不依赖


	数据库之父Codd的12条法则
[数据库教程]

数据库设计的指导性方针:

  1. 信息法则 关系数据库中的所有信息都用唯一的一种方式表示——表中的值。
  2. 保证访问法则 依靠表名、主键值和列名的组合,保证能访问每个数据项。
  3. 空值的系统化处理 支持空值(NULL),以系统化的方式处理空值,空值不依赖于数据类型。
  4. 基于关系模型的动态联机目录 数据库的描述应该是自描述的,在逻辑级别上和普通数据采用同样的表示方式,即数据库必须含有描述该数据库结构的系统表或者数据库描述信息应该包含在用户可以访问的表中。
  5. 统一的数据子语言法则 一个关系数据库系统可以支持几种语言和多种终端使用方式,但必须至少有一种语言,它的语句能够一某种定义良好的语法表示为字符串,并能全面地支持以下所有规则:数据定义、视图定义、数据操作、约束、授权以及事务。(这种语言就是sql)
  6. 视图更新法则 所有理论上可以更新的视图也可以由系统更新。
  7. 高级的插入、更新和删除操作 把一个基础关系或派生关系作为单个操作对象处理的能力不仅适应于数据的检索,还适用于数据的插入、修改个删除,即在插入、修改和删除操作中数据行被视作集合
  8. 数据的物理独立性 不管数据库的数据在存储表示或访问方式上怎么变化,应用程序和终端活动都保持着逻辑上的不变性。
  9. 数据的逻辑独立性 当对表做了理论上不会损害信息的改变时,应用程序和终端活动都会保持逻辑上的不变性。
  10. 数据完整性的独立性 专用于某个关系型数据库的完整性约束必须可以用关系数据库子语言定义,而且可以存储在数据目录中,而非程序中。
  11. 分布独立性 不管数据在物理是否分布式存储,或者任何时候改变分布策略,RDBMS的数据操纵子语言必须能使应用程序和终端活动保持逻辑上的不变性。
  12. 非破坏性法则 如果一个关系数据库系统支持某种低级(一次处理单个记录)语言,那么这个低级语言不能违反或绕过更高级语言(一次处理多个记录)规定的完整性法则或约束,即用户不能以任何方式违反数据库的约束。

还有一些经验:

  • 降低对数据库功能的依赖 功能应该由程序实现,而非DB实现。原因在于,如果功能由DB实现时,一旦更换的DBMS不如之前的系统强大,不能实现某些功能,这时我们将不得不去修改代码。所以,为了杜绝此类情况的发生,功能应该有程序实现,数据库仅仅负责数据的存储,以达到最低的耦合。
  • 定义实体关系的原则 当定义一个实体与其他实体之间的关系时,需要考量如下:
    • 牵涉到的实体 识别出关系所涉及的所有实体。
    • 所有权 考虑一个实体“拥有”另一个实体的情况。
    • 基数 考量一个实体的实例和另一个实体实例关联的数量。
 

数据库之父Codd的12条法则

原文地址:https://www.cnblogs.com/Gotodsp/p/13424060.html

您可能感兴趣的文档:

--结束END--

本文标题: 数据库之父Codd的12条法则

本文链接: https://lsjlt.com/news/7660.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 数据库之父Codd的12条法则
    数据库设计的指导性方针: 信息法则 关系数据库中的所有信息都用唯一的一种方式表示——表中的值。 保证访问法则 依靠表名、主键值和列名的组合,保证能访问每个数据项。 空值的系统化处理 支持空值(NULL),以系统化的方式处理空值,空值不依赖...
    99+
    2020-06-07
    数据库之父Codd的12条法则 数据库入门 数据库基础教程 数据库 mysql
  • 挽救数据库性能的 30 条黄金法则
    1.优化查询,应尽量避免全表扫描,应该在用于检索数据和排序数据的字段上建立索引,如where子句用于搜索,order by子句用于排序,所以在这两个子句涉及到的字段上需要建立索引。 2. 应该尽量避免在where子句中...
    99+
    2014-09-27
    挽救数据库性能的 30 条黄金法则
  • postgresql 12 数据库分区表之 list
    os: centos 7.4db: postgresql 12.2 postgresql 12 的分区表已经比较完善。 版本 # cat /etc/centos-release CentOS Linux release 7.4.1708 (...
    99+
    2020-05-25
    postgresql 12 数据库分区表之 list 数据库入门 数据库基础教程 数据库 mysql
  • MySQL数据库开发的36条原则(小结)
    前言 这些原则都是经历过实战总结而成 每一条原则背后都是血淋淋的教训 这些原则主要是针对数据库开发人员,在开发过程中务必注意 一、核心原则 1.尽量不在数据库做运算 俗话说:别让脚趾头想事情,那是脑瓜子的职...
    99+
    2024-04-02
  • MySQL之父解读数据库最新亮点
    大家好,我是MariaDB的 Michael Widenius,我们今天来简单的聊下MariaDB10.5新特性和即将要做的事情。10.5已经是RC了,应该是下周四GA,所以非常近了。 Mon...
    99+
    2024-04-02
  • java查询数据库百万条数据,优化之:多线程+数据库
    java百万查询语句优化 业务需求 今天去面试时hr问了个关于大量数据查询的问题。 面试官:“我们公司是做数据分析的,每次需要从数据库中查询100万条数据进行分析,不能用分页,请问怎么优化sql或者java代码呢??” 如果用普通查询...
    99+
    2023-08-16
    java 数据库 servlet
  • SQL SERVER中如何查询数据库中第几条至第几条之间的数据
    本篇内容介绍了“SQL SERVER中如何查询数据库中第几条至第几条之间的数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅...
    99+
    2024-04-02
  • mysql数据库指定条数数据查询的主要方法
    本文主要给大家介绍mysql数据库指定条数数据查询的主要方法,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql数据库指定条数数据查询的主要方法...
    99+
    2024-04-02
  • MySQL数据库必备之条件查询语句
    目录1、基本语法2、按条件表达式筛选3、按逻辑表达式筛选4、模糊查询5、安全等于1、基本语法 SELECT 查询列表 FROM 表名 WHERE 筛选表达式...
    99+
    2024-04-02
  • 如何优化数据库的数据条件
    优化数据库的数据条件可以通过以下几种方式来实现: 建立索引:在数据库表中添加合适的索引,可以加快数据检索的速度。通过分析查询语句中经常使用的字段,并为这些字段建立索引,可以提高查询效率。 使用合适的数据类型:选择合适的数据类型可以节...
    99+
    2024-07-03
    数据库
  • 数据库数据加密的奥义:开启数据安全的黄金法则
    服务器端加密: 服务器端加密在数据库服务器级别进行加密。这确保了数据在传输或存储时都处于加密状态。它防止未经授权的访问,即使攻击者设法访问数据库服务器。 客户端端加密: 客户端端加密在客户端应用程序级别进行加密。这确保了数据在离开数据库服...
    99+
    2024-04-02
  • python数据可视化之条形图画法
    什么是条形图? 条形图(bar chart)是用宽度相同的条形的高度或长短来表示数据多少的图形。条形图可以横置或纵置,纵置时也称为柱形图(column chart)。此外,条形图有简...
    99+
    2024-04-02
  • mysql数据库之清空表中数据的方法
    mysql数据库之清空表中数据的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!在做数据迁移,数据清洗或者写web项目时...
    99+
    2024-04-02
  • PHP实现数据库读取前几条数据的方法详解
    PHP是一种广泛应用于web开发的脚本语言,它具有强大的数据库操作能力。在实际开发中,经常会遇到需要读取数据库中前几条数据的需求。本文将详细介绍PHP如何实现数据库读取前几条数据,并给...
    99+
    2024-04-02
  • PHP实现读取数据库前几条数据的高效方法
    PHP是一种常用的服务器端脚本语言,用于开发动态网站。在开发网站的过程中,经常会涉及到与数据库交互的操作,比如读取数据库中的数据。读取数据库中前几条数据是一个常见的需求,但如果数据量较...
    99+
    2024-04-02
  • 数据库访问优化法则是什么
    本篇文章为大家展示了数据库访问优化法则是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  在网上有很多文章介绍数据库优化知识,但是大部份文章只是对某个一个方面进...
    99+
    2024-04-02
  • 数据库排序规则的问题
    数据库的collation在安装使用默认就已经很好了。比如简体中文环境下,安装SQL Server时,默认是Chinese_PRC_CI_AS,英文环境下是SQL_Latin1_General_CP1_CI...
    99+
    2024-04-02
  • 宜信的105条数据库军规
    作为一家金融科技企业,宜信的大量业务都依赖于数据库。如何提高公司整体数据库应用水平,是对DBA的一大挑战,也非常具有现实意义。笔者在宜信的多年工作中,与团队一起总结整理了针对传统关系型数据库的使用规则,并借助自研的数据库审核平台落地,借此帮...
    99+
    2021-07-12
    宜信的105条数据库军规
  • 如何优化数据库的数据关联规则
    优化数据库的数据关联规则可以通过以下几种方法实现: 索引优化:为经常进行数据关联的字段创建索引,可以加快数据查询的速度,提高数据关联的效率。 数据库表结构优化:合理设计数据库表的结构,避免冗余字段和表,规范化设计可以减少数据冗余,提...
    99+
    2024-07-03
    数据库
  • Mysql数据库函数之函数的用法小结
    目录函数的使用一. 单行函数:可以理解为向函数传入一个参数,返回一个值。单行函数1.字符串函数(String,StringBuilder)2.数值函数(Math)3.日期和时间函数4.流程函数(IF SWITCH)5.j...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作