mysql中的对象存储
我正在设计一个数据库,求职者必须列出他们以前的工作经验 工作经验是一门具有以下特点的课程:mysql中的对象存储,mysql,sql,list,object,database-design,Mysql,Sql,List,Object,Database Design,我正在设计一个数据库,求职者必须列出他们以前的工作经验 工作经验是一门具有以下特点的课程: 雇主 职位 我想对这些课程进行建模,展示求职者和他们以前的工作经验之间的联系 我想为以前的工作经验创建一个表格,并将其引用给求职者,但每个求职者都可以有多个工作经验条目,这可能会变得混乱 另一种方法是将用户的所有工作经验存储为求职者表中的列表 我不确定该选择哪一个,我希望得到一些建议,哪些是可以接受的,哪些不是。我们欢迎并要求提供任何其他替代方案。谢谢您最初的想法是处理这种“多对一”情况的常用方法 使
- 雇主
- 职位
我不确定该选择哪一个,我希望得到一些建议,哪些是可以接受的,哪些不是。我们欢迎并要求提供任何其他替代方案。谢谢您最初的想法是处理这种“多对一”情况的常用方法
使用一个表存储求职者,另一个表存储以前的工作经验,每个PWE都有求职者的外键。(例如“jobseekerId”字段。)我会使用类似的设置 这将保存所有用户过去的体验
CREATE TABLE `positions` (
`position_id` int(11) NOT NULL AUTO_INCREMENT,
`position_name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`position_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1
这将保存用户的个人数据
CREATE TABLE `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`user_firstname` varchar(20) NOT NULL,
`user_lastname` varchar(20) DEFAULT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
这将保存用户的工作经验-一个用于职位
和用户
的“中间”表格
CREATE TABLE `work_experience` (
`seeker_id` int(11) NOT NULL AUTO_INCREMENT,
`seeker_position` int(11) NOT NULL,
`seeker_employer` varchar(20) NOT NULL,
`seeker_user` int(11) NOT NULL,
PRIMARY KEY (`seeker_id`),
KEY `positon_id` (`seeker_position`),
KEY `user_id` (`seeker_user`),
CONSTRAINT `user_id` FOREIGN KEY (`seeker_user`) REFERENCES `users` (`user_id`),
CONSTRAINT `positon_id` FOREIGN KEY (`seeker_position`) REFERENCES `positions` (`position_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
然后它会像这样工作
SELECT users.* FROM users;
+---------+----------------+---------------+
| user_id | user_firstname | user_lastname |
+---------+----------------+---------------+
| 1 | bob | bob |
+---------+----------------+---------------+
1 row in set
SELECT positions.* FROM positions;
+-------------+-------------------+
| position_id | position_name |
+-------------+-------------------+
| 1 | stackoverflow guy |
+-------------+-------------------+
1 row in set
SELECT work_experience.* FROM work_experience;
+-----------+-----------------+-----------------+-------------+
| seeker_id | seeker_position | seeker_employer | seeker_user |
+-----------+-----------------+-----------------+-------------+
| 1 | 1 | StackExchange | 1 |
+-----------+-----------------+-----------------+-------------+
1 row in set
用户“1”(bob)曾在“StackExchange”担任“stackoverflow guy”的工作经验
参考工作经验。搜索者用户
用户。用户id
参考工作经验。求职者职位
职位。职位id