Anis LOUNIS aka AnixPasBesoin Asked: 2021-03-24 12:53:14 +0800 CST2021-03-24 12:53:14 +0800 CST 2021-03-24 12:53:14 +0800 CST 为什么元数据必须根据 Codd 的 12 条规则存储在表格单元格中 772 Codd为关系数据库管理系统制定的 12 条规则之一是规则 1,其中规定了以下内容: 规则 1:信息规则 所有信息(包括元数据)都将表示为表格单元格中的存储数据。行和列必须严格无序。 为什么将元数据存储在表中很重要? relational-theory metadata 2 个回答 Voted J.D. 2021-03-24T14:12:30+08:002021-03-24T14:12:30+08:00 在这种情况下,元数据并不比非元数据更重要。相反,他的规则只是想让读者意识到“所有信息”甚至包括有关数据库本身的元数据。这对于理解数据库的结构及其背后的关系模型很有用。这就是为什么信息模式是ANSI SQL标准的一部分。 Best Answer Lukas Eder 2021-03-26T07:02:00+08:002021-03-26T07:02:00+08:00 Codd 的所有规则都不是孤立存在的。他们一起工作,为您提供今天使用现代 RDBMS 的美妙体验,我们今天都认为这是理所当然的。因为在科德的规则之前,这个世界是一个可怕的可怕的地方,我们“年轻人”不知道,“长辈”拼命想忘记。 想象一下那个可怕的世界,对于每一项小任务,你都必须阅读不同的用户手册,使用不同的编程语言,应用不同的思维方式、范式等等。 每次我很惊讶我无法从我最喜欢的 SQL 编辑器中执行一些简单的管理任务时,我都会想到它(在我的例子中,Dbeaver,你可以使用任何其他你想要的工具,Codd 规则的另一个副作用!)。喜欢 创建用户。 给予该用户一些补助金。 创建数据库。 删除数据库。 导入数据 重命名事物。 迁移东西。 更新东西。 读东西。包括元数据的东西。 我可以使用一个工具来完成所有这些事情(当然,如果我有特权的话)。我不必去一些奇怪的命令行学习一些时髦的命令。我不必用地球上只有 3 个人能理解的语言编写脚本。不,都是 SQL(规则 5“综合数据子语言规则”)。 就规则 1 而言,与所有规则一样,它并不是孤立存在的。想象一下,为了检查您要添加的列是否已经存在。想象一下,您必须跳出美妙的 SQL 领域进行检查,然后再回来添加列。不,你没有。你快速运行: SELECT * FROM information_schema.columns WHERE table_schema = :table_schema AND table_name = :table_name AND column_name = :column_name 您可以再次使用 SQL 或作为 SQL 扩展的过程语言编写脚本。永远不要离开那个单一的生态系统,您可以在其中完成几乎所有需要在 RDBMS 中完成的任务。 顺便说一句,Codd 的规则不必严格地针对 RDBMS,即使它们是为此而设计的。如果允许从规则中删除政治,它们可以适用于所有 DBMS。
在这种情况下,元数据并不比非元数据更重要。相反,他的规则只是想让读者意识到“所有信息”甚至包括有关数据库本身的元数据。这对于理解数据库的结构及其背后的关系模型很有用。这就是为什么信息模式是ANSI SQL标准的一部分。
Codd 的所有规则都不是孤立存在的。他们一起工作,为您提供今天使用现代 RDBMS 的美妙体验,我们今天都认为这是理所当然的。因为在科德的规则之前,这个世界是一个可怕的可怕的地方,我们“年轻人”不知道,“长辈”拼命想忘记。
想象一下那个可怕的世界,对于每一项小任务,你都必须阅读不同的用户手册,使用不同的编程语言,应用不同的思维方式、范式等等。
每次我很惊讶我无法从我最喜欢的 SQL 编辑器中执行一些简单的管理任务时,我都会想到它(在我的例子中,Dbeaver,你可以使用任何其他你想要的工具,Codd 规则的另一个副作用!)。喜欢
我可以使用一个工具来完成所有这些事情(当然,如果我有特权的话)。我不必去一些奇怪的命令行学习一些时髦的命令。我不必用地球上只有 3 个人能理解的语言编写脚本。不,都是 SQL(规则 5“综合数据子语言规则”)。
就规则 1 而言,与所有规则一样,它并不是孤立存在的。想象一下,为了检查您要添加的列是否已经存在。想象一下,您必须跳出美妙的 SQL 领域进行检查,然后再回来添加列。不,你没有。你快速运行:
您可以再次使用 SQL 或作为 SQL 扩展的过程语言编写脚本。永远不要离开那个单一的生态系统,您可以在其中完成几乎所有需要在 RDBMS 中完成的任务。
顺便说一句,Codd 的规则不必严格地针对 RDBMS,即使它们是为此而设计的。如果允许从规则中删除政治,它们可以适用于所有 DBMS。