我目前正在开展一项新的计划来学习PHP和MySQL。我以前使用Access做了一些简单的数据库,但这个数据库是一个以网络为中心的数据库,用于跟踪包括联系人和项目信息在内的大量数据。我需要在各种关系中链接各种表格,我不确定最好的方法。由于我刚开始使用PHP / MySQL,我正在研究尽可能多的在线学习资源。如果有人对书籍或网站提出建议,我将不胜感激。
在设置表格时,我关注的一个主要领域是联系人。我将拥有各种联系人,包括:员工,客户,供应商,分包商等。单个联系人可以是多种类型,每种类型都有各种与其相关的附加字段。我的想法是有一个联系人表链接到各种联系人类型的其他表。我不确定哪种字段类型或表格选项设置最好...思考?
此方案可能会在数据库的其他区域以及项目和产品中发挥作用。
任何指针/方向都会受到赞赏。
WES
答案 0 :(得分:0)
在RDBMS中,比如MySQL,我会按如下方式设计数据库:
扩展 Contacts
的表格将保留其特定数据以及contact_id
列,从而创建关系。
顺便说一句,NoSQL解决方案原生解决了这个问题,因为它们没有严格的架构。这意味着您可以为每条记录保存各种数据。
答案 1 :(得分:0)
我会考虑一下你将如何使用这些扩展字段。当然可以为联系人创建一个表,你肯定可以为每个联系人类型(员工,客户等)创建一个表,其中一列将记录连接到联系表(因此员工将拥有employee_id,contact_id,propertyOne,propertyTwo等) 。
另一个选项虽然如果您的应用程序是以联系人为中心的,并且您真的只想将不同类型的信息与联系人关联起来,这可能会很方便,那就是有一个联系人表,包含扩展信息类型的表(例如“contactTypes”,它将具有供应商类型具有帐单地址的信息)和第三个表以实际保存所有数据(名称 - 值对)。这更加流畅,因为它可以让您添加新类型的联系人或向类型添加字段,而无需实际更改您的架构。第一个选项(Jason McCreary's)可能会更好地扩展,如果你有很多很多记录......
关于资源 - 那里有很多东西,我甚至无法开始为你缩小范围 - 看看php手册,只是google“php mysql tutorial” - 大量的东西。
答案 2 :(得分:0)
我推荐的一本帮助我很多的书是Beginning-PHP-MySQL-Novice-Professional
并确保您观看以下视频,但如果您不了解基本信息,可能会提高视频效果。 Bbuild-a-login-system-for-a-simple-website/
对于数据库关系以及介绍,请访问Coding HORROR
我希望这有帮助..