招聘网站.docx
《招聘网站.docx》由会员分享,可在线阅读,更多相关《招聘网站.docx(11页珍藏版)》请在冰豆网上搜索。
![招聘网站.docx](https://file1.bdocx.com/fileroot1/2023-1/25/3764790e-385c-4874-8e3c-3111fc7fce51/3764790e-385c-4874-8e3c-3111fc7fce511.gif)
招聘网站
招聘网站设计项目数据库设计
第一部分、引言
1.1编写目的
本文档说明了招聘网站设计项目的数据库的设计,用于指导该系统在数据库存储各方面的内容,为系统开发的程序员、系统分析员作为基准文档。
1.2背景
说明:
✧软件系统的名称:
招聘网站设计项目
✧任务提出者:
郑州大学信息工程学院
✧开发者:
Echo小组
1.3定义
IIS——MicrosoftInternetInformationServer;
1.4参考资料
✧相关的文件包括:
《招聘网站问题定义》
《招聘网站可行性研究报告》
《招聘网站需求分析说明书》
✧参考资料:
《JAVA语言程序设计》
《计算机网络》
《数据库理论》
《软件需求说明书》(GB856T——88)
第二部分、外部设计
2.1标识符和状态
数据库软件:
Oracle10g;
系统要求建立的数据库名称:
orcl;
2.3约定
1、括号内的文本是说明的信息,包括不适用的情况;
(可以在此说明使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、记录、数据项的命名约定等。
)
第三部分、结构设计
3.1概念结构设计
E-R图关系:
3.2逻辑结构设计
1、逻辑结构设计
数据库的逻辑结构图如下:
登录/私人信息表:
存储登录者的信息,因为系统要求只有登录后的成员才具有修改自己的信息的权限。
招聘/求职信息表:
存储求职者、招聘公司,提供网络数据查询的依据。
Date字段提供最近的修改日期的记录。
2、表设计
数据库对应的表设计如下(字段采用英文表示):
Personal_user(PID,identity,sex,degree,password,name,E-mail,birthday,specialty,telephone,address,hyperlink)个人用户表
Company_user(CID,identity,password,name,address,E-mail,telephone,hyperlink)
公司用户表
Resume(Runnum,PID,salary,extras,descriptor,date)
求职信息表
Employment(Runnum,CID,position,date,require,pay)
招聘信息表
Post(Runnum,title,visitsnum,ID,identity,date)
贴子表
Participate(Runnum,ID,identity,date,mark,content)
论坛访问表
Visit(PID,CID,date,mark,score)访问用户表
3、检查、默认约束对象设计:
1、登录/私人信息表
邮件:
邮件的字符信息之中,必须包含有@字符,否则为非法的输入;
密码:
最长10位,默认为000000;
2、招聘/求职信息表
邮件:
邮件的字符信息之中,必须包含有@字符,否则为非法的输入;
3.3物理结构设计
在数据库中,数据的存储如下:
Companytable:
Employmenttable:
Participatetable:
Personaltable:
Posttable:
Resumetable:
Visittable
第四部分、运用设计
4.1数据字典设计
1、数据库
数据库名称:
ORCL
中文名称或意义:
招聘网站数据库系统
创建日期:
2010.06.14
创建人:
Echo
数据文件大小:
100M
数据文件物理位置:
E:
\oracle\product\10.2.0
日志文件大小:
20M
日志文件物理位置:
E:
\oracle\product\10.2.0
(以上内容可以采用图表来进行说明。
)
2、表
以下不包括oracle为数据库提供的默认的系统表。
表名
存储实体描述
类型
全文索引键
主键
引用字段
Personal_user
个人信息
基础表
(无)
PID
Company_user
公司信息
基础表
(无)
CID
Resume
求职信息
基础表
(无)
Runnum
Employment
招聘信息
基础表
(无)
Runnum
Post
帖子信息
基础表
(无)
Runnum
Participate
论坛访问信息
基础表
(无)
Runnum,ID,identity,date
Visit
用户互访信息
基础表
(无)
PID,CID,date
3、表结构
表名:
Personal_user
字段名
中文描述
数据类型
长度
输入范围
是否为空
默认值
PID
个人ID
VarChar2
10
数字
NO
identity
身份
VarChar2
10
字符
NO
个人
sex
性别
VarChar2
2
字符
NO
男
degree
学历
VarChar2
10
字符、数字
YES
password
密码
VarChar2
20
字符、数字
NO
000000
name
姓名
VarChar2
10
字符
NO
E-mail
邮箱
VarChar2
50
字符、数字
YES
birthday
出生日期
DATE
NO
specialty
专业
VarChar2
50
字符、数字
YES
telephone
电话
VarChar2
15
数字
YES
address
地址
VarChar2
50
字符、数字
YES
hyperlink
个人主页
VarChar2
100
字符、数字
YES
···其余参照数据存储表。
4、触发器
在向Participate表中出入数据时,即有帖子被访问,所以应在相应帖子的visitsnum(访问量)上加一,因此适合用触发器!
代码如下:
createtriggervisnumtrigger
afterinsertonparticipate
foreachrow
begin
updatepost
setvisitsnum=visitsnum+1
wherepost.rumnum=:
new.rumnum;
endvisnumtrigger;
4.2安全保密设计
数据库被放置在独立的数据库服务器,只有IIS服务器具有对应的权限进行数据访问,仅仅提供了争取的密码和邮件信息的操作者本人,才能对本人的信息进行修改,其他人不能修改任何数据。
数据库服务器和数据的访问角配置分别为IIS服务器提供了安全限制,这些限制通过数据库和IIS自身的配置来完成,不进行相关的代码和开发工作。
其他方面数据库的安全策略,遵从SQLServer2000、IIS的安全策略事项但是由于是实验性数据库,保密设计未实现。
部分sql语句实现:
按要求查询在本网站注册的个人用户:
select*
frompersonal_user
wherespecialty='机械工程'
andaddresslike'上海市%'
按要求查询在本网站注册的公司用户:
select*
fromcompany_user
wherenamelike'%传播%'
查询招聘某一职位的招聘信息:
selectb.name,b.address,b.telephone,b.e_mail,b.hyperlink,a.position,a.pay
fromemploymenta,company_userb
wherea.cid=b.cidandposition='销售经理'andpaybetween5000and10000
查询求某一职务的求职信息
selectb.name,b.address,b.telephone,
b.e_mail,b.hyperlink,a.extras,a.salary,a.extras
fromresumea,personal_userb
wherea.pid=b.pidandextraslike'%医药化工%'andsalarybetween3000and5000
查询某个贴子的历史信息:
selecta.title,a.visitsnum,b.id,b.mark,b.time,b.content
fromposta,participateb
wherea.rumnum=b.rumnumanda.rumnum='0000000001'
orderbytitle,visitsnumdesc,timeasc
查询某个用户在论坛上的历史信息:
selectb.name,c.title,a.time,a.mark,a.content
fromparticipatea,personal_userb,postc
wherea.id='2010061601'andb.pid=a.idanda.rumnum=c.rumnum
查询某个用户访问其他用户信息的历史记录:
selectb.pid,b.name,a.time,c.cid,c.name,mark
fromvisita,personal_userb,company_userc
whereb.pid='2010061601'anda.pid=b.pidanda.cid=c.cid