这是我的数据库设计:
USER SKILLS
id idUser
email 1-------* description
name selfAssesedLevel
lastname yearsExperience
?skills? reference
Run Code Online (Sandbox Code Playgroud)
我怎么能处理这个?我有点迷失在我必须记下的东西上?技能?USER表的字段.
我的目的是让用户能够在他的个人资料中添加n项技能.
谢谢.
使用三个表,而你不需要三个表用于一对多关系,事情会发生变化,使数据库支持它,即使应用程序不会......
而且你确实有很多人,因为你的技能应该是他们自己的桌子,因为两个人将分享相同的技能,不同的是他们的SelfAssesedLevel,YearsExperience和Reference
Users
----
UserId
Email
Name
LastName
Skills
------
SkillId
Description
UserSkills
----------
UserId
SkillId
SelfAssesedLevel
YearsExperience
Reference
Run Code Online (Sandbox Code Playgroud)
那么你的SQL就可以获得用户和他们的技能
SELECT * FROM Users
JOIN UserSkills ON Users.UserId = UserSkills.UserId
JOIN Skills ON UserSkills.SkillId = Skills.SkillId
Run Code Online (Sandbox Code Playgroud)
您不需要USER表中的技能字段,因为您已经在用户和技能之间建立了链接:SKILLS.idUser字段.
因此,当您想为ID为666的用户添加技能时,您应该在SKILLS表中添加一个新条目,其idUser = 666
额外:我建议在SKILLS表中添加一个额外字段:'id'或'skillid',它可以是此表的主键.
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |