如何使用多个表创建用户配置文件?
问题描述:
我做了一个公司,现在我想添加一个用户到我的数据库中。一张表跟踪用户知道的语言,另一张表用户使用的设计软件。如何使用多个表创建用户配置文件?
我会创建3个表(配置文件,语言,软件),每个都有一个I字段,当我添加一个用户向每个表添加一行时?
答
当您开始添加多个多对多关系时,您需要更多的表将这些信息“链接”在一起。以下是我将如何解决问题的方法:
注意这些ID应该都是唯一索引列。考虑使用AUTO_INCREMENT
。
表1:包含用户的个人信息
| ProfileID |UserInfo |
|=======================|
| 0 | Info |
|-----------------------|
| 1 | Info2 |
|-----------------------|
表2:存储可能的语言
|LanguageID |LanguageName|
|========================|
| 50 | Python |
|------------------------|
| 51 | Java |
|------------------------|
等等...
表3:将配置文件链接存储到languag中es
|ProfileID |LanguageID |
|========================|
| 0 | 50 |
|------------------------|
| 0 | 51 |
|------------------------|
| 1 | 50 |
|------------------------|
每当您想要将语言添加到用户的配置文件中时,都需要在该表中创建一个条目。
您可以为用户知道的软件添加两个表格。一张表用于所有可能的软件类型,另一张表用于存储链接。
当你想要检索的信息,你会做的操作,如下面的一个:
SELECT * FROM Table3
LEFT JOIN Table2
ON Table3.LanguageID = Table2.LanguageID
WHERE ProfileID = [TheProfileIDToSearch]
该结构使用JOIN链接表结合在一起,同时从多个表返回信息。这里是关于SQL JOINS
的W3School快速解释。
您需要5个表格,因为您需要维护两个不同的多对多关系。我假设用户知道多种语言并使用多种软件工具。 –
5是什么?我只是认为个人资料,语言,软件 – BBDev