Database 数据库中的数据集总是以一种形式或另一种形式规范化吗

Database 数据库中的数据集总是以一种形式或另一种形式规范化吗,database,database-design,normalization,database-normalization,Database,Database Design,Normalization,Database Normalization,假设我有一组数据,给定数据和关系模式,我可以假设数据集以一种或另一种形式规范化。在我看来,原始数据必须规范化为某种形式。然而,与一位朋友的讨论导致我在这里问这个问题 为了更详细地阐述这个问题,我想说,给定一组关系或表的函数依赖关系,是否可以保证该表至少在1NF中?如果不是其他表,是否可以保证该表在1NF中?否,原始数据不一定在1NF中标准化。这取决于模式。可能存在1NF中甚至没有的模式设计 我举个例子,, 假设有一个表,其中存储了所有学期学生的分数。每学期有5名学生。假设标记的模式为 分数(学生

假设我有一组数据,给定数据和关系模式,我可以假设数据集以一种或另一种形式规范化。在我看来,原始数据必须规范化为某种形式。然而,与一位朋友的讨论导致我在这里问这个问题


为了更详细地阐述这个问题,我想说,给定一组关系或表的函数依赖关系,是否可以保证该表至少在1NF中?如果不是其他表,是否可以保证该表在1NF中?否,原始数据不一定在1NF中标准化。这取决于模式。可能存在1NF中甚至没有的模式设计

我举个例子,, 假设有一个表,其中存储了所有学期学生的分数。每学期有5名学生。假设标记的模式为

分数(学生ID,分数)

这张表不是1NF,因为它会有重复的值。

根据我的经验,在现实生活中,你会遇到跨越整个范围的数据库,从完全正常化到完全混乱的wierd内容,你永远不会想到在任何地方看到,更不用说在数据库中了

您当然不能期望找到1NF格式的数据(这被认为是最“基本”的标准化形式)


此外,这并不是说标准化数据应该是数据库设计的“目标”。您需要根据性能标准权衡干净的设计,完全标准化的数据库通常可以根据您的性能标准工作。

我会给您指出另一个等等


SQL模型允许完全不是真实关系的表(例如具有重复行的表)。因此,SQL数据库肯定不是总是规范化的。我希望大多数使用数据库的人都会遇到没有键的表的例子