Php mySQL中的表结构

Php mySQL中的表结构,php,mysql,database,database-design,Php,Mysql,Database,Database Design,我正在使用MySQL和PHP创建一个数据库的早期阶段,希望得到一些建议。我已经开始整理数据,并希望开始将其键入.csv文件,以便导入到我的表中。在此之前,我不确定如何正确布局结构化列和表 好的,我会尽力弄清楚我想创造什么。我有我的主页结构,你可以选择按赛季选择球员名单,也可以选择按a-Z名单选择所有球员。单击玩家列表中的特定玩家后,其玩家档案将显示如下内容: 我需要创建多少个表 带有playerID、playerName、playerDOB、playerBirthplace、playerPosi

我正在使用MySQL和PHP创建一个数据库的早期阶段,希望得到一些建议。我已经开始整理数据,并希望开始将其键入.csv文件,以便导入到我的表中。在此之前,我不确定如何正确布局结构化列和表

好的,我会尽力弄清楚我想创造什么。我有我的主页结构,你可以选择按赛季选择球员名单,也可以选择按a-Z名单选择所有球员。单击玩家列表中的特定玩家后,其玩家档案将显示如下内容:

我需要创建多少个表

带有playerID、playerName、playerDOB、playerBirthplace、playerPosition等的玩家表

包含团队ID、团队名称、团队昵称、teamGround、teamFounded等的团队表

带有季节ID、玩家ID、团队ID、玩家apps、玩家goals的季节表


或者有没有一种更快捷、更高效的方法,而不需要使用这么多的表来链接数据?任何建议都将不胜感激。先谢谢你

我需要创建多少个表

简而言之,每个“实体”类型对应一个表。实体可以定义为个人、地点、事物、概念或事件,可以唯一标识,是企业感兴趣的,并且我们可以存储有关的信息

数据库设计的一个关键是数据分析(Richard Perkinson,“数据分析:数据库设计的关键”,QED c.1993)

您已经确定了模型中的一些重要实体:球员、团队、赛季。可能还有其他一些关键实体丢失,稍后可能会发现

每个实体的属性都需要识别,并且应该依赖于实体的键,而不是其他键。(每个属性都应该依赖于键、整个键以及除键以外的所有属性,所以请帮助我使用Codd。)

您还需要确定实体之间存在的关系。一名球员可以是多个球队的成员吗?一个球员可以有多个位置吗?如果一名球员被交易(从一支球队转移到另一支球队),该如何在模型中表示

当我们遇到“多对多”关系时,这些关系在单独的关系表中表示。重复属性也会分解为单独的子表

在开始将多个实体合并到同一个表中之前,正确使用模型非常重要。优化通常会导致模型损坏;它通常不会修复不起作用的模型

当查询符合模型时,数据库被设计为高效地处理大量行。具有数十个表的数据库可以非常高效地运行,并且比具有较少表的数据库运行得更高效


我更关心的是得到一个有效的数据库设计,而不是优化一个无效的设计。

我需要创建多少个表

简而言之,每个“实体”类型对应一个表。实体可以定义为个人、地点、事物、概念或事件,可以唯一标识,是企业感兴趣的,并且我们可以存储有关的信息

数据库设计的一个关键是数据分析(Richard Perkinson,“数据分析:数据库设计的关键”,QED c.1993)

您已经确定了模型中的一些重要实体:球员、团队、赛季。可能还有其他一些关键实体丢失,稍后可能会发现

每个实体的属性都需要识别,并且应该依赖于实体的键,而不是其他键。(每个属性都应该依赖于键、整个键以及除键以外的所有属性,所以请帮助我使用Codd。)

您还需要确定实体之间存在的关系。一名球员可以是多个球队的成员吗?一个球员可以有多个位置吗?如果一名球员被交易(从一支球队转移到另一支球队),该如何在模型中表示

当我们遇到“多对多”关系时,这些关系在单独的关系表中表示。重复属性也会分解为单独的子表

在开始将多个实体合并到同一个表中之前,正确使用模型非常重要。优化通常会导致模型损坏;它通常不会修复不起作用的模型

当查询符合模型时,数据库被设计为高效地处理大量行。具有数十个表的数据库可以非常高效地运行,并且比具有较少表的数据库运行得更高效


我更关注数据库设计的工作,而不是关注优化一个不起作用的设计。

你有一个好的开始,但是你认为代码>玩家位置>代码可能会通过玩家的职业生涯或者甚至在一个赛季内改变。第一队的“中锋”,第二队的“守门员”,第三队的“替补队员”。@MarcB谢谢Marc.)撇开播放位置不谈,我只是想找出组合数据的最有效方法。理想情况下,在球员档案中应该有赛季|球队名称|应用程序|目标,但我不确定如何将数据存储在表格中。有这么多条目,它能高效运行吗?或者我需要为每个季度创建一个表吗?SQL数据库在包含数百万行的表上高效运行,所以不用担心“这么多条目”。重要的是,让数据结构正确。你有一个好的开始,但是你认为代码>玩家位置>代码可能会改变玩家的职业生涯,甚至在一个赛季内。第一队的“中锋”,第二队的“守门员”,第三队的“替补队员”。@MarcB谢谢Marc.)撇开播放位置不谈,我只是想找出组合数据的最有效方法。最理想的情况是球员教授