mySQL:具有多列的表

标签 mysql database-design split

很抱歉,这个问题可能非常基本(甚至愚蠢),但我对 mySQL 不是很熟练。但是,我需要为我的硕士论文创建一个数据库,所以我想确保它是最“优雅”且尽可能正确的。

我有一个数据集,其中包含许多并购交易的相关信息(dealid + 12 列)。我需要添加有关交易行业的信息。然而,这些信息来自 3 个不同的数据库,适用于并购的子集:有些交易有一种分类,有些交易有另一种分类。

据我所知,我有两个选择:将所有内容整合到交易表中,或者将其分成 4 个具有 1-1 关系的表(一个用于交易,一个用于每个不同的分类)。在第一种情况下,我会有一个包含超过 50 列的表,但第二种方法看起来不太好。

这些方法之一有意义吗?或者还有其他我不知道的方法吗?

编辑:现在我有 4 个 Excel 表,我想将它们导入到 mySQL 中。主表是“deal”表:它具有主键“dealid”,然后是其他列,如“parentname”、“targetname”等。 到目前为止,我还有 3 个表,每个类别一个。主键仍然是“dealid”,但是每个表都有特定的列(大约 15 个),因为每个分类都有不同的特征(例如 NACE 代码、NACE 代码描述、行业部门、SIC 代码等)。

提前致谢。

最佳答案

一般来说,您的目标应该是拥有更小、不太复杂的表格,然后可以通过多种不同的方式进行组合。

https://en.wikipedia.org/wiki/Database_normalization

如果有必要,您可以使用 JOIN、VIEWS 和其他有趣的东西来汇总特定要求所需的信息。

关于mySQL:具有多列的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32921492/

相关文章:

mysql - 在数据库中存储多个产品选项

python - 如何将列表拆分为 n 个大小的 block ,其中 n 是一个可迭代的整数列表?

python - 拆分字符串并删除空格 Python

javascript - 从 attr() 获取值后对象没有方法 'spilt'

MySQL:计算不同表行中两个时间戳的差异

mysql - 用于跟踪和分摊费用的数据库设计

python - 使用 sqlalchemy 语句和表达式 api 生成多个连接

database-design - 在数据库中存储论坛线程和回复的最佳方法

mysql - 给MYSQL错误子查询返回多行

java - 如何使用Hibernate和JPA注释保存外键值