Php 如何在联系人数据库中设置关系

Php 如何在联系人数据库中设置关系,php,mysql,Php,Mysql,我目前正在进行一项新的冒险,学习PHP和MySQL。我过去使用Access做过一些简单的数据库,但这是一个以web为中心的数据库,用于跟踪大量数据,包括联系人和项目信息。我需要在不同的关系中链接不同的表,我不确定这样做的最佳方式。因为我刚刚开始使用PHP/MySQL,所以我正在尽可能多地研究在线学习资源。如果有人对书籍或网站有任何建议,我将不胜感激 在设置表格时,我关注的一个主要领域是联系人。我将有各种各样的联系人,包括:员工、客户、供应商、分包商等。。一个联系人可以有多种类型,每种类型都有与之

我目前正在进行一项新的冒险,学习PHP和MySQL。我过去使用Access做过一些简单的数据库,但这是一个以web为中心的数据库,用于跟踪大量数据,包括联系人和项目信息。我需要在不同的关系中链接不同的表,我不确定这样做的最佳方式。因为我刚刚开始使用PHP/MySQL,所以我正在尽可能多地研究在线学习资源。如果有人对书籍或网站有任何建议,我将不胜感激

在设置表格时,我关注的一个主要领域是联系人。我将有各种各样的联系人,包括:员工、客户、供应商、分包商等。。一个联系人可以有多种类型,每种类型都有与之相关的各种附加字段。我的想法是有一个contacts表,可以链接到不同联系人类型的其他表。我不确定哪种字段类型或表格选项的设置是最好的。。。想法

这种情况可能会在数据库的其他领域以及项目和产品中出现

如有任何指示,将不胜感激

你熟悉什么

在RDBMS(如MySQL)中,我将按如下方式设计数据库:

  • 联系人(名字、姓氏等)
    • 雇员
    • 卖主
    • 客户
扩展联系人的表将保存其特定数据以及创建关系的联系人id列


另一方面,解决方案本身解决了这个问题,因为它们没有僵化的模式。这意味着您可以为每条记录保存各种数据。

我会稍微考虑一下如何使用这些扩展字段。当然,您可以为联系人创建一个表,并且您可以为每种联系人类型(员工、客户等)创建一个表,其中有一列将记录连接到联系人表(因此员工将具有员工id、联系人id、propertyOne、propertyTwo等)

但是,如果您的应用程序是以联系人为中心的,并且您真的希望能够将不同类型的信息与联系人关联,那么另一种选择可能会很方便,那就是有一个联系人表,一个包含扩展信息类型的表(比如“contactTypes”)它将包含这样的信息:一个供应商类型有一个账单地址(例如)和第三个表来实际保存所有数据(名称-值对)。这是一个更流畅的方法,它允许您添加新类型的联系人或向类型添加字段,而不会实际更改您的模式。第一种选择(杰森·麦克里里的)如果你想要有很多很多记录,那么它的规模可能会更好


关于资源-有这么多,我甚至不能开始缩小它为您-看看php手册和谷歌“php mysql教程”-吨的东西

我想推荐一本对我有很大帮助的书

并确保您观看了以下视频,但如果您不了解基本知识,则可能是高级视频

数据库关系以及介绍访问


我希望这能有所帮助。

谢谢-这是我希望得到的。另一个是PHP和MySQL Web开发(第四版)Luke Welling/Laura Thomson。现在我正在收集信息,并查看大量在线教程。谢谢-目前我无法理解。您在上面说的是“联系人”是一个带有联系人姓名数据的表,而其他缩进项是带有每个类别详细信息的附加表,并且都通过联系人id链接到“联系人”吗?我喜欢这样的想法,即无需重新创建控制盘即可进行添加。我现在有相当数量的联系人类型,但有些人可能想添加更多。