资源描述
课 程 设 计
设计题目: 软件行业人才需求信息检索数据库设计与实现
课程名称: 信息系统数据库技术(一)
学 期: 2010-2011学年第一学期
专业班级: 信管0902
学 号: 090310083
姓 名: 徐莉
任课老师: 蔡妙娴
软件行业人才需求信息检索数据库设计与实现
一、 系统开发目的
随着现代社会的发展和电脑的普及,人们可以不外出就可以找到自己想要的东西。当然,在网上求职求人才也不例外。因此建立一个网上人才需求信息检索系统是非常有必要的。
通过理论与实践教学,掌握关系型数据库的基本操作,理解关系型数据库的有关概念,具备一定的数据库结构设计的能力,并能综合运用所学知识,进行小型数据库应用系统的开发工作。本次课程设计是基于ACCESS 2003数据库进行的软件行业人才需求信息检索数据库系统设计与实现。
二、 系统概述
此系统是软件行业人才需求信息检索数据库应用系统,适用于对软件行业的公司职位和人才的信息查询与检索。用户主要为有意从事软件行业工作的人才、软件公司。实现该系统应完成以下的功能:
l 全面展示各个软件公司所要招聘的职位信息,并能对职位信息进行添加、删除、修改等操作;
l 为用户提供个人求职信息的展示,并能对个人求职信息进行添加、删除、修改等操作。
l 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为错误。
l 实现用户对各软件公司的查询和各招聘职位的检索,同时企业也可以搜索用户的个人求职信息。
三、 数据模型设计
由用户业务需求得出数据E_R模型。
1、原始数据
图1 百伯人才网
表1 用户个人求职信息表
用户个人求职信息表
用户ID(系统自动编号)
00905
姓名
徐若翎
性别
女
年龄
23
学历
大学本科
所学专业
信息管理
求职职位
技术支持工程师
职位薪金要求
4500以上
联系方式
电子邮箱
1115306124@
照片
其他说明
无
表2 公司信息表
软件公司基本信息表
企业名称
用友软件公司
公司性质
股份有限公司
公司规模
大型
公司简介
用友公司是中国最大的管理软件、ERP软件、集团管理软件、人力资源管理软件、客户关系管理软件及小型企业管理软件提供商。
招聘职位
软件工程师、产品经理
联系地址
北京市海淀区北清路68号
服务热线
4006-777-292
公司电子邮箱
Contact@
表3 招聘职位与标准信息表
----奥鹏远程教育中心有限公司
职位ID: 003 职位名称: 测试工程师
职位说明: 测试工程师事从事编写自动测试脚本程序并担任测试编程初期的领导工作的技术人员。
职位性质:全职(全职、兼职、实习)
职位类别:技术人员(技术人员、管理人员等)
职位任务: 编写测试计划和测试用例、搭建和维护测试环境、为业务部门提供相应的支持、确保软件质量指标。
招聘人数:6人
性别要求:男(有无特别限制。如果有,请特别说明。)
年龄要求: 20-30岁
品质要求:遵纪守法,无不良行为记录。
学历要求:大专
薪金要求: 3500左右
工作经验:从事计算机软件测试或编程工作两年以上。
2、整体E-R图
由原始数据可以得到:公司、用户、个人求职信息、招聘地区、招聘职位、招聘标准这个六个实体,并写出每个实体的属性。在根据业务规则可以确定每个实体之间的关系:公司与招聘地区之间使多对多关系;公司与用户之间是多对多关系;用户和个人求职信息之间是一对多的关系;招聘职位与用户之间是多对多关系;招聘职位与公司是多对多关系;招聘职位与个人求职信息之间是一对多的关系,招聘职位与标准信息之间是一对多的关系。
四、 数据库设计
1.将E-R图转化为关系,如下:(主键,外键)
COMPANY(CompanyID,CompanyName,CompanyProfile,CompanyProperties,CompanySize,ServiseHotline,CompanyE-mail,CompanyAddress)
CUSTOMER(CustomerID,CustomerName,Sex,Age,Degree,Major,Telephone,CustomerE-mail,SubmitTime)
PAPI(JobInformID,CustomerID,PositionID,Salary,Others,SubmitTime)
POSITION(PositionID,PositionName,PositionProfile,PositionTask,PositionProperties,PositionCategory,EndTime)
RECRUIT_INFORM(StandardID,PositionID,SexRequire,QualityRequire,SkillsRequire,AgeRequire,DegreeRequire,RecruitNum,SalaryRequire,WorkExper,PublishTime)
REGION(RegionID,RegionName,AdminCenter)
COMPANY_POSITION(CompanyID,PositionID)
COMPANY_REGION(CompanyID,RegionID)
COMPANY_CUSTOMER(CompanyID,CustomerID)
CUSTOMER_POSITION(CustomerID,PositionID)
2、最终关系模型
分析说明:关系模型是由E-R模型转化得到的,把其中实体之间的多对多关系转变为由一个联系表连接起来的一对多关系,并在实体中标明主键、外键等信息。同时,把中间存在的函数依赖关系规范化(如:公司实体中原本有招聘职位这一项,规范化以后就去掉这一属性,改用联系表联系公司实体和招聘职位),最后得出规范化后的关系模型。
五、数据库实现
1、SQL语句
(1)公司表
CREATE TABLE COMPANY(
CompanyID Text(6) PRIMARY KEY,
CompanyName Text(25) NOT NULL,
CompanyProfile Text(100) NULL,
CompanyProperties Text(50) NULL,
CompanySize Text(50) NULL,
ServiseHotline Text(25) NOT NULL,
CompanyE-mail Text(50) NULL,
CompanyAddress Text(75) NULL
);
修改公司表结构
INSERT INTO COMPANY
VALUES ('A03', '中兴通讯学院', '', '国营', '中小型', '07097374748', '', '');
查询语句
SELECT *
FROM COMPANY;
(2)用户表
CREATE TABLE CUSTOMER(
CustomerID Text(6) PRIMARY KEY,
CustomerName Text(15) NOT NULL,
Sex Text6) NULL,
Age Text(6) NULL,
Major Text(25) NULL,
Degree Text(15) NULL,
CustomerE-mail Text(50) NOT NULL,
Telephone Text(25) NULL,
SubmitTime DateTime NULL
);
修改用户表结构
ALTER TABLE CUSTOMER
ADD SubmitTime DateTime NULL;
查询语句
SELECT *
FROM CUSTOMER
WHERE CustomerID=’01001’;
(3)招聘职位表
CREATE TABLE POSITION(
PositionID Text(6) PRIMARY KEY,
PositionName Text(50) NOT NULL,
PositionProfile Text(100) NULL,
PositionTask Text(150) NULL,
PositionProperties Text(15) NULL,
PositionCategory Text(25) NULL,
EndTime DateTime NULL
);
修改招聘职位表结构
ALTER TABLE POSITION
ADD EndTime DateTime NULL;
查询语句
SELECT *
FROM POSITION;
(4)招聘地区表
CREATE TABLE REGION(
RegionID Text(6) PRIMARY KEY,
RegionName Text(25) NULL,
Admin Center Text(25) NULL
);
修改招聘地区表结构
ALTER TABLE REGION
ADD AdminCenter Text(25) NULL;
(5)招聘标准信息表
CREATE TABLE RECRUI_INFORM(
StandardID Text(6) NOT NULL,
RecruitNum Int(10) NULL,
SexRequire Text(6) NULL,
QualityRequire Text(150) NULL,
SkillsRequire Text(150) NULL,
AgeRequire Text(6) NULL,
DegreeRequire Text(15) NULL,
SalaryRequire Text(20) NULL,
WorkExper Text(150) NULL,
PositionID Text(6) NOT NULL,
PublishTime DateTime NULL,
CONSTRAINT RECRUITINFORM_PK PRIMARY(StandardID),
CONSTRAINT REC_POS_FK FOREIGN KEY(PositionID) REFERENCES POSITION(PositionID)
ON UPDATE CASCADE
ON DELETE NO ACTION
);
修改招聘标准信息表结构
ALTER TABLE RECRUI_INFORM
ADD PublishTime DateTime NULL;
查询语句
SELECT *
FROM RECRUI_INFORM
WHERE RecruitNum>6;
(6)个人求职信息表
CREATE TABLE PAPI(
JobInformID Text(6) NOT NULL,
CustomerID Text(6) NOT NULL,
PositionID Text(6) NOT NULL,
Salary Text(25) NULL,
Others Text(150) NULL,
SubmitTime DateTime NULL,
CONSTRAINT PAPI_PK PRIMARY(JobInformID),
CONSTRAINT PAPI_CUS_FK FOREIGN KEY(CustomerID) REFERENCES CUSTOMER(CustomerID)
ON UPDATE CASCADE,
CONSTRAINT PAPI_POS_FK FOREIGN KEY(PositionID) REFERENCES POSITION(PositionID)
ON UPDATE CASCADE,
ON DELETE NO ACTION,
CONSTRAINT PAPI_CUS_FK FOREIGN KEY(CustomerID) REFERENCES CUSTOMER(CustomerID)
ON UPDATE CASCADE
ON DELETE NO ACTION
);
修改个人求职信息表结构
ALTER TABLE PAPI
ADD SubmitTime DateTime NULL;
查询语句
SELECT *
FROM PAPI
WHERE CustomerID='01001';
(7)公司-用户联系表
CREATE TABLE COMPANY-CUSTOMER(
CustomerID Text(6) NOT NULL,
CompanyID Text(6) NOT NULL,
CONSTRAINT COMPANY_CUSTOMER_PK PRIMARYKEY(CustomerID,CompanyID),
CONSTRAINT COMPANY_CUSTOMER_FK FOREIGN KEY(CustomerID) REFERENCES CUSTOMER(CustomerID)
ON UPDATE CASCADE,
ON DELETE NO ACTION,
CONSTRAINT COMPANY_CUSTOMER_FK FOREIGN KEY(CompanyID) REFERENCES COMPANY(CompanyID)
ON UPDATE CASCADE
ON DELETE NO ACTION
);
(8)公司-职位联系表
CREATE TABLE COMPANY-POSITION(
PositionID Text(6) NOT NULL,
CompanyID Text(6) NOT NULL,
CONSTRAINT COMPANY_POSITION_PK PRIMARYKEY(PositionID,CompanyID),
CONSTRAINT COMPANY_POSITION_FK FOREIGN KEY(PositionID) REFERENCES POSITION(PositionID)
ON UPDATE CASCADE,
ON DELETE NO ACTION,
CONSTRAINT COMPANY_POSITION_FK FOREIGN KEY(CompanyID) REFERENCES COMPANY(CompanyID)
ON UPDATE CASCADE
ON DELETE NO ACTION
);
(9)公司-招聘地区联系表
CREATE TABLE COMPANY-REGION(
RegionID Text(6) NOT NULL,
CompanyID Text(6) NOT NULL,
CONSTRAINT COMPANY_REGION_PK PRIMARYKEY(RegionID,CompanyID),
CONSTRAINT COMPANY_REGION_FK FOREIGN KEY(RegionID) REFERENCES REGION(RegionID)
ON UPDATE CASCADE,
ON DELETE NO ACTION,
CONSTRAINT COMPANY_REGION_FK FOREIGN KEY(CompanyID) REFERENCES COMPANY(CompanyID)
ON UPDATE CASCADE
ON DELETE NO ACTION
);
(10)用户-职位联系表
CREATE TABLE CUTOMER_POSITION(
CustomerID Text(6) NOT NULL,
PositionID Text(6) NOT NULL,
CONSTRAINT CUTOMER_POSITION _PK PRIMARYKEY(CustomerID,PositionID),
CONSTRAINT CUTOMER_POSITION_FK FOREIGN KEY(CustomerID) REFERENCES CUSTOMER(CustomerID)
ON UPDATE CASCADE,
ON DELETE NO ACTION,
CONSTRAINT CUTOMER_POSITION_FK FOREIGN KEY(PositionID) REFERENCES POSITION(PositionID)
ON UPDATE CASCADE
ON DELETE NO ACTION
);
2、数据字典
表1 (COMPANY)公司表
COMPANY(公司)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
COMPANYID
公司注册ID
TEXT(6)
6
有(无重复)
COMPANYNAME
公司名称
TEXT(25)
25
COMPANYPROFILE
公司简介
TEXT(150)
150
是
COMPANYPROPERTIES
公司性质
TEXT(50)
50
是
COMPANYSIZE
公司规模
TEXT(50)
50
是
SERVISEHOTLINE
服务热线
TEXT(25)
25
COMPANYE-MAIL
公司电子邮箱
TEXT(50)
50
是
COMPANYADDRESS
公司地址
TEXT(75)
75
是
表2 CUSTOMER(用户表)
CUSTOMER(用户)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
CUSTOMERID
用户注册ID
TEXT(6)
6
有(无重复)
CUSTOMERNAME
姓名
TEXT(15)
15
SEX
性别
TEXT(6)
6
是
AGE
年龄
TEXT(6)
6
是
DEGREE
学历
TEXT(15)
15
是
MAJOR
所学专业
TEXT(25)
25
是
TELEPHONE
电话
TEXT(25)
25
是
CUSTOMERE-MAIL
用户电子邮箱
TEXT(50)
50
SUBMITTIME
提交时间
DATETIME
是
表3 PAPI(个人求职信息表)
PAPI(个人求职信息)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
JOBINFORMID
求职信息ID
TEXT(6)
6
有(有重复)
CUSTOMID
用户注册ID
TEXT(6)
6
有(有重复)
外键
POSITIONID
申请职位ID
TEXT(6)
6
是
有(有重复)
外键
SALARY
薪金
TEXT(25)
25
是
OTHERS
其他说明
TEXT(150)
150
是
SUBMITTIME
提交时间
DATETIME
是
表4 POSITION(招聘职位表)
POSITION(招聘职位)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
POSITIONID
职位ID
TEXT(6)
6
有(无重复)
POSITIONNAME
职位名称
TEXT(50)
50
POSITIONPROFILE
职位说明
TEXT(15)
15
是
POSITIONTASK
职位任务
TEXT(150)
150
是
POSITIONPROPERTIES
职位性质
TEXT(100)
100
是
POSITIONCATEGORY
职位类别
TEXT(25)
25
是
ENDTIME
截止时间
DATETIME
是
表5 RECRUITINFORM(招聘标准信息表)
RECRUITINFORM(招聘标准信息)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
STANDARDID
标准信息ID
TEXT(6)
6
有(有重复)
POSITIONID
职位ID
TEXT(6)
6
有(有重复)
外键
SEXREQUIRE
性别要求
TEXT(6)
6
是
QUALITYREQUIRE
品质要求
TEXT(150)
150
是
SKILLSREQUIRE
技能要求
TEXT(150)
150
是
AGEREQUIRE
年龄要求
TEXT(6)
6
是
DEGREEREQUIRE
学历要求
TEXT(6)
6
是
RECRUITNUM
招聘人数
INTEGER
是
SALARYREQUIRE
薪金要求
TEXT(25)
25
是
WORKEXPER
工作经验
TEXT(150)
150
是
PUBLISHTIME
发布时间
DATETIME
是
表6 REGION(招聘地区表)
REGION(招聘地区)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
REGIONID
地区ID
CHAR(6)
6
有(无重复)
REGIONNAME
地区名称
CHAR(25)
25
是
AdminCenter
行政中心
TEXT(25)
25
是
表7 COMPANY_POSITION表
COMPANY-POSITION(公司-职位)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
COMPANYID
公司ID
TEXT(6)
6
有(有重复)
外键
是
POSITIONID
职位ID
TEXY(6)
6
有(有重复)
外键
表8 COMPANY_REGION表
COMPANY-REGION(公司-招聘地区)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
COMPANYID
公司注册ID
TEXT(6)
6
有(有重复)
外键
是
REGIONID
地区ID
CHAR(6)
6
有(有重复)
外键
表9 COMPANY_CUSTOMER表
COMPANY-CUSTOMER(公司-用户)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
COMPANYID
公司注册ID
TEXT(6)
6
有(有重复)
外键
是
CUSTOMERID
用户注册ID
TEXT(6)
6
有(有重复)
外键
表10 CUSTOMER_POSITION表
CUSTMER-POSITION(用户-职位)
是否主键
字段名
字段描述
数据类型
长度
可空
索引
缺省值
备注
是
CUSTOMERID
用户注册ID
TEXT(6)
6
有(有重复)
外键
是
POSITIONID
职位ID
TEXY(6)
6
有(有重复)
外键
3、表间关系
六、调试运行说明
1、调试运行问题一
在COMPANY表中输入一个记录时,忘记输入CompanyID,这时就会提示一个警告框,如下图:
解决方法:因为CompanyID是主键,不能为空,所以在输入记录是必须填写数据,在此处添加一个数据值就可以了。
2、调试运行问题二
在准备保存数据表的时候,如果数据表中有错误或者输入数据不完全就会提示警告,如下图:
解决方法:检查数据表里是否存在必填字段但是漏填的现象,并把必填字段填上。
3、调试运行问题三
在输入日期时间类型的数据时,如果写成2011年一月一日或者20110101时,会出现以下的警告提示:
解决方法:把日期时间型的数据输入为标准格式:2011-1-1,问题就会解决。
七、总结
通过本次数据库设计让我懂得了更多的数据库知识与技能。在进行E-R模型建立前,把数据库书认认真真的看了一遍,并且在网上查了大量的资料,最后才确定了系统的六个实体。然后在PowerDesign上画出E-R模型,并通过转化生成了关系模型图。然后再根据E-R模型图在Acess数据库中创建表,并进行规范化。最后是编写SQL语句,完成课程设计文档。
在整个过程中,不可能是一帆风顺的。刚开始是不知道怎么用PD软件画E-R图,摸索了一个上午后,才大概了解到怎么操作;后来是在建立数据库中的表的时候,没有规范化,在建立表间关系的时候才发现有很多错误,又重新做了一遍;最后是在编写SQL语句时,不知道怎么编写公司-用户表的语句,通过与老师网上交流最终把语句写出来了。尽管遇到了困难,但是学到了很多东西,数据库SQL语言、E-R模型、关系模型、数据字典、Acess数据库等等,这些知识对一个小型系统的设计与开发有着重要的意义。
成绩评定表
题目:软件行业人才需求信息检索系统数据库设计与实现
学号姓名:090310083 徐莉
优秀
良好
中等
及格
不及格
报告
文档
1.完全按照课程设计文档规范要求。
2.内容充实、设计合理。
1.完全按照课程设计文档规范要求。
2内容较充实、设计较合理。
1.基本按照课程设计文档规范要求。
2.内容较充实、设计较合理。
1.基本按照课程设计文档规范要求。
2.内容欠充实、设计欠合理。
1.没有按照课程设计文档规范要求。
2.内容不充实、设计不合理。
E_R模型设计
1.业务分析很全面。
2.E_R模型设计合理。
3.E_R模型描述很清晰。
1.业务分析较全面。
2.E_R模型设计合理。
3.E_R模型描述清晰。
1.业务分析较全面。
2.E_R模型设计较合理。
3.E_R模型描述较清晰。
1.业务分析不够全面。
2.E_R模型设计较合理。
3.E_R模型描述较清晰。
1.业务分析不够全面。
2.E_R模型设计不合理。
3.E_R模型描述不清晰。
数据库设计
1.表结构设计合理
2.表间关系正确
3.符合4NF
4.约束合理
1.表结构设计较合理。
2.表间关系正确
3.符合4NF
4.约束较合理
1.表结构设计合理性一般。
2.表间关系正确
3.基本符合4NF
4.约束较合理
1.表结构设计欠合理。
2.表间关系基本正确
3.基本符合4NF
4.约束较合理
1.表结构设计不合理。
2.表间关系不正确
3.不符合4NF
4.约束不合理
数据库实现
1.数据库正确实现
2.验证数据丰富。
1.数据库正确实现
2.验证数据较丰富。
1.数据库基本正确实现
2.验证数据较丰富。
1.数据库基本正确实现
2.验证数据较少。
1.数据库未正确实现
2.验证数据少。
平时
作业
1.作业无缺交、迟交。
2.作业完成度好
1.作业无缺交、迟交。
2.作业完成度较好
1.作业无缺交。
2.作业完成度较好
1.作业无缺交。
2.作业完成度一般
1.作业有缺交或迟交。
2.作业完成度较差
综合成绩评定:
评阅老师(签章):
年 月 日
3、通过活动,使学生养成博览群书的好习惯。
B比率分析法和比较分析法不能测算出各因素的影响程度。√
C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。X
C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错
C产品的实际生产成本包括废品损失和停工损失。√
C成本报表是对外报告的会计报表。×
C成本分析的首要程序是发现问题、分析原因。×
C成本会计的对象是指成本核算。×
C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。√
C成本计算方法中的最基本的方法是分步法。X
D当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品成本
中。×
D定额法是为了简化成本计算而采用的一种成本计算方法。×
F“废品损失”账户月末没有余额。√
F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。X
F分步法的一个重要特点是各步骤之间要进行成本结转。(√)
G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错
G工资费用就是成本项目。(×)
G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对
J计算计时工资费用,应以考勤记录中的工作时间记录为依据。(√)
J简化的分批法就是不计算在产品成本的分批法。(×)
J简化分批法是不分批计算在产品成本的方法。对
J加班加点工资既可能是直接计人费用,又可能是间接计人费用。√
J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,X
K可修复废品是指技术上可以修复使用的废品。错
K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废品。X
P品种法只适用于大量大
展开阅读全文