Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 我真的需要为这个案例设计两张桌子吗?_Mysql - Fatal编程技术网

Mysql 我真的需要为这个案例设计两张桌子吗?

Mysql 我真的需要为这个案例设计两张桌子吗?,mysql,Mysql,我计划在我的数据库中实时存储全局索引。 如本链接所示 为此,我提出了以下设计 CREATE TABLE regions( region_name varchar(100), ) CREATE TABLE index_values( region_name varchar(100), country_name varchar(50), symbol_name varchar(50), LastTradePrice varchar(20)

我计划在我的数据库中实时存储全局索引。 如本链接所示

为此,我提出了以下设计

CREATE TABLE regions(
    region_name varchar(100),
) 


CREATE TABLE index_values(
    region_name varchar(100),       
    country_name varchar(50),
    symbol_name varchar(50),
    LastTradePrice varchar(20),
    ChangeinPercent varchar(20),
    Changeinpoints varchar(20),
    LastTradeTime varchar(20),
    FOREIGN KEY reg_index(region_name)
    REFERENCES regions(region_name)
)
我的问题是,我真的不认为做两张桌子有什么用??
我是否可以继续使用一个表,或者我是否遗漏了任何内容???

这取决于您打算如何使用数据。如果您计划主要读取索引_值,并且读取性能很重要,那么将所有数据反规范化到这个表中是一种很好的方法,您可以删除“regions”表及其外键

另一方面,如果您预见到希望在某一点重命名某个区域,则最好将不同表中的区域分隔为“区域”,这样您只需更新一个区域记录,而不必使用该区域更新所有索引值记录。在这种情况下,您需要从index\u values表中删除region\u name字段

你可能想好好读一读

我会考虑一个不同的名字,因为索引是数据库的一个重要部分,它太混乱了。也许是“金融指数”