关系型数据库由哪三部分组成

关系数据库理论 (Theory of relational databases)

The foundations of the theory of relational database were laid by Edgar F. Codd in the 1960s and 1970s and in his work A Relational Model of Data for Large Shared Data Banks [described one]. Theoretically, all operations are based on the relational algebra.

关系数据库理论的基础由埃德加·科德(Edgar F. Codd)在1960年代和1970年代及其著作《大型共享数据库的数据关系模型》 [已描述]中奠定。 从理论上讲,所有运算都基于关系代数。

了解关系代数 (Understanding the relational algebra)

The relational algebra is an algebraic model that describes how data can be stored, queried and manipulated. The main operations from which all other are derived, are the following:

关系代数是一个代数模型,描述了如何存储,查询和操纵数据。 其他所有派生的主要操作如下:

  • Projection (English projection)投影(英文投影)
  • Selection (English selection)选择(英文选择)
  • Cross product or Cartesian Product (Data Sheet cross product, cross join or cartesian product)叉积或笛卡尔积(数据表叉积,叉联接或笛卡尔积)
  • Changes (English rename)更改(英文重命名)
  • Association (English union)协会(英国工会)
  • Difference (English set difference or minus)差异(英文设置的差异或减号)

All requests that are made using SQL on a relational database, the database management system shown on these operators, that is translated. In practice, there are other operators, such as the join operator, but is also only a combination of cross product, selection and projection.

使用关系数据库上SQL进行的所有请求(这些运算符上显示的数据库管理系统)均已翻译。 实际上,还有其他运算符,例如join运算符,但也只是叉积,选择和投影的组合。

关系代数的限制 (Restrictions on the relational algebra)

The relational algebra does not provide support for calculation of recursive queries (Transitive Closure). This means, for instance, that it is not possible in a query all ancestors of a person to calculate where they are stored in a relation person and connected by a relationship. The ancestors can only be determined through a series of questions.

关系代数不提供对递归查询(传递闭包)的计算的支持。 例如,这意味着不可能在查询中计算一个人的所有祖先在哪里存储他们在某个关系人中并通过关系连接的位置。 只能通过一系列问题来确定祖先。

With the introduction of SQL-99 but also an extended Relational Algebra was introduced, which allows an operation to calculate the transitive closure.

随着SQL-99的引入,还引入了扩展的关系代数,该关系代数允许操作来计算传递闭包。

数据库架构和建模 (Database schema and Modeling)

An important part of relational database is its schema. The schema defines what data is stored in the database and how these data are related to each other. The process for creating a schema is called data modeling.

关系数据库的重要部分是其架构。 该模式定义了哪些数据存储在数据库中以及这些数据如何相互关联。 创建模式的过程称为数据建模。

For modeling of relational databases and the Entity-Relationship model is used. It is used to design a conceptual schema, which is using a database management system (DBMS) can be implemented. This step is called the logical design or data model mapping and, as a result of a database schema in the implementation of the DBMS data model.

对于关系数据库的建模,使用了实体关系模型。 它用于设计概念性架构,该架构可使用数据库管理系统(DBMS)来实现。 此步骤被称为逻辑设计或数据模型映射,并且由于执行DBMS数据模型中的数据库模式而被称为。

An important step in the modeling process is normalization. This will reduce redundancies and prevent anomalies in order to simplify the maintenance of a database, and ensure the consistency of the data. , Edgar F. Codd has proposed along with four normal forms, thereafter in the relational database design used and were supplemented by another.

建模过程中的一个重要步骤是规范化。 这将减少冗余并防止异常,以简化数据库的维护并确保数据的一致性。 ,埃德加·科德(Edgar F. Codd)提出了四种范式,此后在所使用的关系数据库设计中加以补充。

对关系数据库模型的批评 : (Criticism of the relational database model:)

Segmentation

分割

In the relational representation is the storage of an object is segmented in many different relationships. The application objects are usually complex, there are so themselves back from objects, or lists of objects. Since the relational model only consisting of values, must use complex objects in a query by the DBMS are restored by means of numerous joins from the individual relations.

在关系表示中,对象的存储被划分为许多不同的关系。 应用程序对象通常很复杂,因此它们本身是从对象或对象列表中返回的。 由于关系模型仅由值组成,因此必须在DBMS的查询中使用复杂的对象,这是通过从各个关系中进行大量联接来恢复的。

This can lead to confusing queries that need to be reviewed each structural modification of the application object needs to adjust down. The use of joins, which are supported by each well-matching database indexes must, makes the object access expensive than, for example in an object database, both the resource requirements as well as the development effort.

这可能导致混淆的查询,需要对应用程序对象的每个结构修改进行下调。 每个完全匹配的数据库索引支持的联接必须使对象访问比例如对象数据库中的资源需求和开发工作都昂贵。

Artificial key attributes

人工关键属性

To uniquely identify tuples in some cases, artificial keys are used. This, for example, helps to reduce the size of the key, if it is to be used as foreign keys, or to one-to-implement relations. There are therefore included in the relation attributes that have nothing to do with the abstract description of an application object nothing but “just” management information.

为了在某​​些情况下唯一地标识元组,使用了人工密钥。 例如,这将有助于减小密钥的大小(如果将其用作外键)或实现一对一的关系。 因此,在关系属性中包含了与应用程序对象的抽象描述无关的东西,只不过是“公正”的管理信息。

External API

外部API

Since in many relational databases only data manipulation languages are available with reduced thickness, is usually necessary to powerful programming interfaces. This link leads to an unfavorable handling if necessary, for example, if the quantity-SQL to process in the satzorientierten C + +, refer to impedance mismatch.

由于在许多关系数据库中,只有可用的数据操作语言才能减小厚度,因此对于强大的编程接口通常是必需的。 该链接在必要时导致不利的处理,例如,如果要在饱和C ++中处理的数量SQL表示阻抗不匹配。

However, there are also relational database with powerful languages such PL / SQL on Oracle or PL / pgSQL PostgreSQL, the latter turn enables the server programming with other languages such as PHP, Tcl or Python.

但是,也有关系数据库具有强大的语言,例如Oracle上的PL / SQL或PL / pgSQL PostgreSQL,后者使服务器能够使用其他语言(例如PHP,Tcl或Python)进行编程。

Object properties and behaviors are often not mapped

对象属性和行为通常不映射

In the relational database application type and the behavior of an object are not described. This description may therefore only take place outside the database in a software application. When multiple applications use the same data can lead to a redundant implementation.

在关系数据库应用程序中,未描述对象的类型和行为。 因此,此描述只能在软件应用程序中的数据库外部进行。 当多个应用程序使用相同的数据时,可能导致冗余的实现。

Relational Design Theory

关系设计理论

The relational design theory focuses on the basis of formal methods with the conceptual design of the schemas of relational databases. The relational design theory thus provides a theoretical basis for the design of a “good” relation “schemas”.

关系设计理论侧重于形式方法的基础,以及关系数据库模式的概念设计。 因此,关系设计理论为“良好”关系“方案”的设计提供了理论基础。

Basis for the design of a schema make it functional dependencies – more informal – are a generalization of the key concept, which aims to help make certain stored data clearly identified. Furthermore, the canonical cover of functional dependencies and multi-valued dependencies under investigation, the latter in turn are a generalization of functional dependencies.

模式设计的基础使功能依赖关系(更非正式)是关键概念的概括,其目的是帮助明确识别某些存储的数据。 此外,正在研究的功能依赖关系和多值依赖关系的规范覆盖,后者又是功能依赖关系的概括。

Using the functional dependencies are defined normal forms for relational schemas and are, in a “quality criterion is” is assessed on the basis of which the quality of relation schemes, quality is a collective term for properties such as manageability, comprehensibility, clarity, etc. try the relational design theory, this helps to formalize using the normal forms.

使用功能依赖关系为关系模式定义了标准形式,并在“质量标准被评估”的基础上评估了关系方案的质量,质量是诸如可管理性,可理解性,清晰度等属性的总称。尝试关系设计理论,这有助于规范形式的形式化。

A “good” relational schema is characterized for example by the fact that information is not stored implicitly, that information is not redundant and that there are no inconsistencies, induced by modification, deletion and addition. These undesirable properties of relation schemas are often caused by mixing, cutting, or repeated storing the identified information needs analysis in the entities.

“良好”的关系模式的特点是,信息不是隐式存储的,信息不是冗余的,并且不存在由于修改,删除和添加而引起的不一致。 关系模式的这些不希望有的属性通常是由于在实体中混合,剪切或重复存储已标识的信息需求分析而引起的。

A distinction in the relational design theory, two approaches:

关系设计理论有两种区别:

  • The normalization of relations will help to improve a given design: are not satisfied for a certain normal form relational schema, we can break this by using the appropriate normalization algorithms to several schemes that meet the desired normal form.关系的规范化将有助于改善给定的设计:对某种规范形式的关系方案不满意,我们可以通过对满足期望规范形式的几种方案使用适当的规范化算法来打破这种局面。
  • The synthesis of relations aims to design an optimal “Relationalschemas”.关系的综合旨在设计最佳的“关系方案”。

To be continued…

未完待续…

Study: From Wikipedia, the free encyclopedia. The text is available under the Creative Commons.

研究:来自维基百科,免费的百科全书。 该文本可在“ 知识共享”下找到 。

翻译自: https://www.eukhost.com/blog/webhosting/relational-database-part-2/

关系型数据库由哪三部分组成

关系型数据库由哪三部分组成_关系数据库| 第2部分相关推荐

  1. 关系型数据库由哪三部分组成_关系数据库| 第1部分

    关系型数据库由哪三部分组成 使用关系数据库 (Using The Relational Database) A relational database is used for electronic d ...

  2. 描述关系型数据库中的三种关系

    一对一:一条主表记录和一条从表记录相关联.同时一条从表记录也和一条主表记录相关联. 一对多:一条主表记录和多条从表记录相关联.一条从表记录只和一条主表记录相关联. 多对多:一条主表记录和多条从表记录相 ...

  3. mongodb数据库淘汰_MongoDB 等 NoSQL 与关系型数据库相比,有什么优缺点及适用场景?...

    利益相关:MongoDB 员工,开发 MongoDB 数据库 5 年.十年前,当 Dwight 和我开始这个后来成为 MongoDB 的项目的时候,我们绝对没有想到它今天的样子.我们只有一个信念:让开 ...

  4. 数据库知识 | 关系型数据库与非关系型数据库小记录

    用一句话来概括数据库作用--数据库用来组织.存储.管理数据.现在信息时代,可以说数据已经成为了一个十分重要的资源,对一家企业来说甚至可以称为最为核心的竞争力,管理好数据资源尤为重要. 文章目录 一.数 ...

  5. 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)

    Table of Contents 关系型数据库(Relational Database) 什么是关系数据库 什么是SQL? 关系数据库的结构 关系模型 关系数据库的好处 数据一致性 隔离性和原子性 ...

  6. 关系型数据库非关系型数据库概述

    关系型数据库&非关系型数据库概述 一.数据的储存方式 二. 关系型数据库 2.1 数据库管理系统 2.2 数据库管理系统.数据库和表的关系 2.3 关系型数据库的优势 三.非关系型数据库(No ...

  7. 关系型数据库的核心单元是_核中的数据关系

    关系型数据库的核心单元是 Nucleoid is an open source (Apache 2.0), a runtime environment that provides logical in ...

  8. mysql表中的多对多关系表_「一对多」关系型数据库中一对多,多对一,多对多关系(详细) - seo实验室...

    一对多 在关系型数据库中,通过外键将表跟表之间联系在了一起. 一个班级有很多学生,外键维护在学生的一方,也就是多的一方.(在做页面设计的时候,需要把两个表连接到一块查询信息) 建立一个student和 ...

  9. sqlite mysql pgsql_SQLite 、MySQL 与PostgreSQL三个关系型数据库的比较

    SQLite .MySQL 与PostgreSQL三个关系型数据库的比较 1970年埃德加·科德提出关系模型之后,关系型数据库便开始出现,经过40多年的演化,如今的关系型数据库不仅种类繁多,而且功能强 ...

最新文章

  1. 从电源问题出发,带你揭秘新体系结构范式 COA
  2. 【368天】跃迁之路——程序员高效学习方法论探索系列(实验阶段126-2018.02.08)...
  3. JAVA WEB框架的错误体系
  4. 15款提高表格操作的jQuery插件
  5. 智能会议系统(18)---如何进行视频电话
  6. 【亲测有效】装了双系统后在ubuntu下耳机没有声音的解决方法
  7. Bootstrap 2.2.2 发布,重要的 Bug 修复版本
  8. JMeter Exception: java.net.BindException: Address already in use: connect(转)
  9. WEB标准 基础(一) 到底是什么?
  10. css hack 笔记 for ie8,ie7
  11. Mongodb数据库安装
  12. 【node.js】GET/POST请求、Web 模块
  13. 神经网络建模的适用范围,常用神经网络模型
  14. 彻底解决 linux 下 buff/cache 占用过高的问题
  15. 天使投资喜欢什么样的商业计划书
  16. 至强CPU型号系列的变化
  17. ContOS中常用软件的安装
  18. 微信公众号教程(3)微信公众平台群发消息
  19. Tensorflow小白实战系列
  20. 2023电工杯数学建模A题思路模型代码

热门文章

  1. 基于 GitLab CI 的前端工程CI/CD实践
  2. EI 收录的出版物目录(EI检索目录表格官方下载)
  3. 韩版机泛泰A850framework去除漫游、本地化
  4. LoRa码元、码片、信号带宽、编码率等解析
  5. shell无限死循环
  6. java 控制台刷屏 dll_Java,用户刷屏检测\相似字符串检测
  7. 坎坎坷坷的深度学习之路(三)-Hello world(2)-------MNIST数据集1-MNIST格式
  8. 《这才是马云》读书笔记
  9. Action Unit到底是什么?
  10. 【Python学习 】Python实现的FTP上传和下载功能