Mysql 设计新的桌子结构,需要创意

Mysql 设计新的桌子结构,需要创意,mysql,sql,join,Mysql,Sql,Join,在下表中,CUSIP、ISIN、SEDOL、LocalCode是与公司名称相对应的一些唯一标识符 table: description_master +-----------+-------------+-------+-----------+-------------------------------------+ | CUSIP | ISIN | SEDOL | LocalCode | Description | +--

在下表中,CUSIP、ISIN、SEDOL、LocalCode是与公司名称相对应的一些唯一标识符

table: description_master
+-----------+-------------+-------+-----------+-------------------------------------+
| CUSIP     | ISIN        | SEDOL | LocalCode | Description                         |
+-----------+-------------+-------+-----------+-------------------------------------+
| 594918104 | US594918104 | 8S104 | MSFT      |Microsoft Corp                       |
| 369604103 | US369604103 | 4D103 | IBM       |International Business Machines Corp.|
| G8770Z106 | US08770Z106 | Z1062 | GE        |General Electric Co.                 |
| M40184208 | US040184208 | 42082 | TSLA      |Tesla, Inc.                          |
| G3827X105 | FR03827X105 | X1053 | AAPL      |Apple Inc.                           |
| 01069SFS8 | CA01069SFS8 | 9SFS8 | GOGL      |Golden Ocean Group                   |
| 57584X7C9 | IE57584X7C9 | 4X7C9 | TNC       |The Tennant Company                  |
+-----------+-------------+-------+-----------+-------------------------------------+
假设有更多像上面这样的表,前4列始终是CUSIP、ISIN、SEDOL、LocalCode,然后是一些包含其他信息的额外列。 让我们把这些表命名为:表1、表2、表3

现在,用户希望从所有这些表(description_master,table1,table2,table3)中获取数据。对于cusip 594918104、cusip 369604103、ISIN US040184208、Localcode GOGL、Localcode TNC

我想设计一个名为“job_details”的表,在其中存储用户请求的输入,并将此表与我已经拥有的其他表连接起来,以获取请求的数据。有点像下面的结构

table: job_details
+-------+---------------------+-------------------+
| job_id| requested_identifier| identifier_type   | 
+-------+---------------------+-------------------+
| 1     | 594918104           | CUSIP             |
| 1     | 369604103           | CUSIP             |
| 1     | US040184208         | ISIN              |
| 1     | GOGL                | LocalCode         |
| 1     | TNC                 | LocalCode         |
+-------+---------------------+-------------------+
因为job_的细节完全是虚构的,所以它的结构可以像任何东西一样。 e、 g:

我关心的两个问题是:1)job_details表结构应该是什么。 2) 如何将job_details表连接到description_master表以获得类似以下内容:

从作业id=1和(某些其他条件)上的描述\u主内部联接作业\u详细信息中选择*

预期结果:

+-----------+-------------+-------+-----------+-------------------------------------+
| CUSIP     | ISIN        | SEDOL | LocalCode | Description                         |
+-----------+-------------+-------+-----------+-------------------------------------+
| 594918104 | US594918104 | 8S104 | MSFT      |Microsoft Corp                       |
| 369604103 | US369604103 | 4D103 | IBM       |International Business Machines Corp.|
| M40184208 | US040184208 | 42082 | TSLA      |Tesla, Inc.                          |
| 01069SFS8 | CA01069SFS8 | 9SFS8 | GOGL      |Golden Ocean Group                   |
| 57584X7C9 | IE57584X7C9 | 4X7C9 | TNC       |The Tennant Company                  |
+-----------+-------------+-------+-----------+-------------------------------------+

我不知道有多张桌子。为什么有多张桌子?这似乎是一个糟糕的设计选择。也许还有其他方法不涉及这么多表。实际上,听起来您只是希望主表中的JSON列为每一行存储灵活的属性。@GordonLinoff您好,谢谢您的回复。。表由不同的供应商维护,每个表提供cusip、isin、sedol和localcode组合的特定数据。因此,我有很多桌子。这就是为什么我想在这些表上加入一个my表(它将存储请求的数据信息)。新表维护的记录也将用于将来的参考。为什么不创建一个包含所有表中所有数据的单一视图,并让用户使用该视图呢?或者为每个用户创建单独的视图?@GordonLinoff我以前从未使用过这些视图。不过我以后一定会用的。目前,由于时间限制,加上我对mysql的所有知识(还是一名学习者),我能想到的解决这个问题的方法就是使用表。并将其与我现有的表连接。如果表中包含列名为表的值,则会使您的生活变得困难。很难。
+-----------+-------------+-------+-----------+-------------------------------------+
| CUSIP     | ISIN        | SEDOL | LocalCode | Description                         |
+-----------+-------------+-------+-----------+-------------------------------------+
| 594918104 | US594918104 | 8S104 | MSFT      |Microsoft Corp                       |
| 369604103 | US369604103 | 4D103 | IBM       |International Business Machines Corp.|
| M40184208 | US040184208 | 42082 | TSLA      |Tesla, Inc.                          |
| 01069SFS8 | CA01069SFS8 | 9SFS8 | GOGL      |Golden Ocean Group                   |
| 57584X7C9 | IE57584X7C9 | 4X7C9 | TNC       |The Tennant Company                  |
+-----------+-------------+-------+-----------+-------------------------------------+