如何使用多个表创建用户配置文件?

问题描述:

我做了一个公司,现在我想添加一个用户到我的数据库中。一张表跟踪用户知道的语言,另一张表用户使用的设计软件。如何使用多个表创建用户配置文件?

我会创建3个表(配置文件,语言,软件),每个都有一个I字段,当我添加一个用户向每个表添加一行时?

+1

您需要5个表格,因为您需要维护两个不同的多对多关系。我假设用户知道多种语言并使用多种软件工具。 –

+0

5是什么?我只是认为个人资料,语言,软件 – BBDev

当您开始添加多个多对多关系时,您需要更多的表将这些信息“链接”在一起。以下是我将如何解决问题的方法:

注意这些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快速解释。