我正在创建一个简单的社交网络,在其中使用 xampp(以及 mysql 和 php)。
我面临着一个困境,即哪种是将对象列表包含为行元素的最佳方式。
我会更好地解释它:在我的项目中,其中包含学生和教授作为唯一用户,他们每个人都有一个他们正在参与的项目列表,每个项目都有一个正在融资或融资的行业/公司/公司列表只是观察项目;每个公司都有自己的简介。
我的困境是哪种方式是代表这种架构的最佳方式:
你在不知道的情况下问的是标准化的概念。值得研究一下。 您的系统的简单设计可能如下所示:
people(id, name, ... type)
projects(id, name, ... )
people_projects(project_id, people_id)
companies(id, name, ...)
company_projects(company_id, project_id)
每位教授或学生都是
people
表中的一行。每个项目都是 projects
表中的一行,项目上的每个人都是 people_projects
表中的一行。对于公司来说也是如此。
然后,您可以通过将表连接在一起来访问您的信息,例如,为了让项目中的所有学生都名为“Project X”,您可以执行简单的内部连接:
select *
from projects p
inner join project_people pp
on p.id = pp.project_id
inner join people pl
on pp.people_id = pl.id
where p.name = 'Project X'
and pl.type = 'student';
简单、强大的数据库架构和简单的数据访问。