一个职位搜索网站的数据库应该如何设计?

3

有人能指出一个网站或描述如何设计(数据库和Web设计和布局)基本的求职网站吗?

提前致谢。


2
你为什么不自己设计数据库呢? - ZippyV
我需要为教学目的创建一个职位搜索网站。但是我不知道数据库应该如何布局。感谢任何帮助。 - Frank
你对这个问题标题的编辑是无效的。 - Chris Bier
考虑提供更多的上下文,这样你会得到更好的答案。 - Kevin
请问您能否将招聘网站的架构图发送至我的电子邮件地址:thesmartphonecoder@gmail.com。或者,您也可以在此处发布以使我们所有人都受益。 - Muhammad Maqsoodur Rehman
5个回答

8

我刚开始开发一款求职/简历构建网站,并提出了这个数据库设计。需要完善,但希望这能对你有所帮助。

图片描述

8
除非你能自己构建一个结构,否则你永远无法真正理解你试图创建的应用程序背后的概念。我建议花一两天时间来规划你的项目。
最后再考虑设计。我很乐意帮忙,但像这里的其他人一样,我们有自己的项目要处理:P
祝你好运!!
编辑:
我来解释一下我是怎么做的。我主要使用PHP/MySQL进行编码。
步骤1: 想想你想让你的网站完成哪些事情。
步骤2: 考虑可能需要存储的信息。根据此计划您的数据库。列出字段,然后进入下一步。 例如 职位列表数据库,用户数据库等。
步骤3: 考虑您将需要的页面。例如员工登录、雇主登录、提交简历等,并考虑数据库如何将其信息发送到这些页面。在此步骤中完善您的数据库,确保您拥有完成所需任务的正确字段。
步骤4: 考虑您将使用的文件结构。许多人遵循传统的MVC格式。我现在正在开发自己的格式,它使事情更容易,更有组织性。了解更多关于MVC的信息 步骤5:注册SO!你最好拥有一个地方去从人们那里收集想法。有时您可能会遇到思维障碍!
再次祝你好运!
  • Chris

我完全同意。仅仅设计出数据库结构是不够的。一旦你的网站上线,你需要考虑优化、潜在的连接表、(重新)编写存储过程、基准测试以及许多其他繁琐的工作,以使你的网站对用户来说更加可接受。我建议你至少花一周时间了解你需要的所有内容,然后从那里开始工作。如果你计划让你的求职网站正常运行,你需要比一个数据库结构更多的东西。 - Mike B

2

首先,需要开展头脑风暴,确定项目中需要存储哪些数据。这可能包括:

  • 用户
  • 职位
  • 职位类别
  • 公司

当然,任何实际的Web应用程序都会有更多的表,但这是一个开始。我只是在编造示例。如果您想要包括特定功能或额外的业务逻辑,则现在应考虑这一点。

因此,以这三个为例,我们可以创建以下表:

users
==============
user_id (pk)
first_name
last_name
email_address
password
company (fk)

jobs
==============
job_id (pk)
user_id (fk)
title
description

job_categories
==============
job_category_id (pk)
name

companies
==============
company_id (pk)
name
street_address
country
province
postal_code
phone_number
website
  • pk = 主键。必须是唯一的。例如,user_id是一个示例,在系统中每个用户都将拥有一个唯一的标识符。
  • fk = 外键。例如,在“jobs”表中的user_id。假设您有一个用户“42”,他添加了一个工作,您可以使用他的user_id作为外键,以便将该用户与该工作岗位关联起来。

根据您使用的数据库类型,您可能需要一个job_to_categories表来存储工作和类别之间的关系。您还需要决定要为每个表字段使用哪种数据类型。对于ids,我建议使用无符号整数。'text'类型非常适合工作描述。其余部分可能可以使用'varchar'类型。由于我不知道您要使用哪种类型的数据库,因此不会进一步详述。

数据库设计是一个重要的主题,仅凭一个stackoverflow答案或阅读1-2个网站是无法涵盖的。

至于网站的布局和设计,则是非常主观的。


0
我建议首先制定一个良好的需求集,然后开始识别应用程序中的对象、这些对象的属性以及这些对象之间的关系。这些对象可以是用户、公司、简历、职位发布等。然后,您可以利用这些信息开始草拟实体关系(ER)图来描述这些对象和关系。
您还可以编写一些用例,以帮助您确定对象如何适应各种工作流程(例如,雇主注册、发布职位、申请人注册、提交简历、搜索职位、申请雇主注册的职位)。您可能还会发现其他对象/属性/关系。
此时,您可以开始在纸上原型界面(注册屏幕、搜索屏幕等)。
很难在第一次尝试中获得所有的需求/设计(这被认为是瀑布方法)。许多开发人员发现更迭代或“敏捷”方法更有效,其中您尝试首先提供最小的解决方案,然后在利益相关者定期审查的小增量上构建。
根据我的个人经验,我喜欢尽可能多地定义前期内容,而不必写一本书。然后我喜欢开始原型设计,并在这些原型的基础上构建,直到我们最终拥有满足请求解决方案的人/团体的解决方案。

0

假设您将使用类似于PHP的东西编写您的网站,我强烈推荐这本书使用PHP和MySQL构建自己的数据库驱动网站。该书将指导您创建一个简单的笑话网站,从编写PHP代码到设计与您的要求相匹配的数据库模式。

最终,需求将驱动您的设计。说创建一个“职位搜索网站”很容易,但您真正想要它做什么?用户希望从您的网站获得什么?每个部分的输入和输出是什么?企业如何与您的网站互动?谁来进行管理?

与其他评论不同,当您处理教程网站以帮助学习时,我不建议过于正式。至少,您需要确切地了解为什么要这样做以及为什么一切都是这样的。这不是项目管理或软件设计方法论的练习,而是您学习基本的Web开发和数据库管理的练习。

如果您想在自己的计算机上练习,可以下载XAMPP并开始编写一些PHP脚本,使用phpMyAdmin来访问您的数据库。通过在互联网上阅读示例并通过PHP连接、读写数据库一个星期后,您将学会欣赏数据库对您产生的真正作用。这就是为什么数据库管理员会因他们所做的工作而获得如此高的薪水的原因!
如果您想编写一款商业上可行的求职网站,我建议您也要学习一些数据库理论(谷歌数据库理论讲义笔记,您会发现有大量资源)。数据库是终身使用的,不仅仅是圣诞节,如果您希望您的网站运行顺畅,您需要保持数据库的正常运行。
祝您的求职网站好运!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接