繁体   English   中英

MySQL中的表结构

[英]Table structure in mySQL

我正处于使用MySQL和PHP创建数据库的初期阶段,请提供一些建议。 我已经开始整理数据,并想开始将其键入.csv文件中,以准备导入到我的表中。 在此之前,我不确定如何正确安排结构化的列和表。

好的,我会尽力弄清楚我要创建的内容。 我将拥有主页结构,您可以选择按季节选择球员列表,也可以按历史球员的AZ列表选择球员列表。 从玩家列表中单击特定玩家后,其玩家个人资料将显示以下内容: http : //stats.touch-line.com/playerdet.asp?playerid=41472&cust=2&lang=0&FromSTR=TRUE&compid=&teamid = 1&H2H =

我需要创建多少张表?

包含玩家ID,玩家名称,玩家DOB,玩家出生地,玩家位置等的玩家表。

具有teamID,teamName,teamNickname,teamGround,teamFounded等的团队表。

一个带有seasonID,playerID,teamID,playerApps,playerGoals的赛季表?

还是有一种更快,更有效的方法而无需使用太多表来链接数据? 任何建议将不胜感激。 提前致谢。 ;)

我需要创建多少张表?

简短的答案是:每种“实体”类型都有一张表。 实体可以定义为可以被唯一标识的,对企业有利的人,地点,事物,概念或事件,并且我们可以存储有关的信息。

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

您已经确定了模型中的一些重要实体:球员,球队,赛季。 可能还缺少其他一些关键实体,以后可能会发现。

每个实体的属性都需要标识,并且应取决于实体的键,而不是其他键。 (每个属性都应依赖于键,整个键,除了键外别无其他,请帮我Codd。)

您还需要确定实体之间存在的关系。 一名球员可以加入多个团队吗? 玩家可以担任多个职位吗? 如果交易员被交易(从一支球队转移到另一支球队),该交易将如何在模型中表示?

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

在开始将多个实体组合到同一张表中之前,确保模型正确非常重要。 优化通常会导致模型损坏; 通常无法修复无法正常工作的模型。

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

我更关心的是获得一个可行的数据库设计,而不是关注优化不起作用的设计。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM