Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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
Sql 为了保持简单的结构,我需要创建哪些表?_Sql - Fatal编程技术网

Sql 为了保持简单的结构,我需要创建哪些表?

Sql 为了保持简单的结构,我需要创建哪些表?,sql,Sql,我不太擅长SQL,请大家给我提建议,我需要哪些表,以及如何进行选择。我有一个recordId,它可能有几个标题,可能有几个字段。所有这些都只是Strings。通过选择recordId,我需要获取相关的标题及其字段 tbl_record recordId tbl_headers headerId tbl_fields fieldId tbl_record_to_headers id recordId headerId tbl_header_to_fields id headerId fie

我不太擅长SQL,请大家给我提建议,我需要哪些表,以及如何进行选择。我有一个
recordId
,它可能有几个
标题
,可能有几个
字段
。所有这些都只是
String
s。通过选择
recordId
,我需要获取相关的
标题
及其
字段

tbl_record
recordId

tbl_headers
headerId

tbl_fields
fieldId

tbl_record_to_headers
id
recordId
headerId

tbl_header_to_fields
id
headerId
fieldId

是吗?

您需要3张桌子

记录:记录id

标题:标题id、记录id、标题val


字段:field_id、Header_id、field_val

有单独的表,不需要在数据表中建立关系-对于那些多对多表
tbl_record_to_headers
tbl_Header_to_字段
你为什么这么认为?仅仅因为需要添加两个单独的表,您就将离开多对多?当PM来告诉您这样做时,您会怎么做?您将拥有带有关系列的大数据表,顺便说一句,没有
many-to-many
选项,这可能是将来需要的-相当硬的核心字段是否可以有多个标题?标题可以有多条记录吗?如果这两个问题的答案都是否定的,那么Yossi的解决方案就足够了。如果您对其中任何一个都回答是,那么您将需要FSou1所展示的多对多风格的解决方案。