图3-6 公司要求E-R图
图3-7 总体E-R图
2.E-R图对应关系模型(主码用下划线标出)
用人公司(公司编号,公司名称,公司规模,联系方式) 属于(公司编号,所在地编号) 专业信息(专业编号,专业信息) 地区(地区编号,地区名称)
要求(公司编号,专业编号,年度,需求人数,专业名称,学历要求)
3.3数据库概念模型(CDM)设计
8
图3-8 系统概念模型CDM图
3.4 数据库物理模型(PDM)设计
图3-9 系统物理模型PDM图
9
第四章 系统数据库对象设计
4.1数据库表设计 CREATE TABLE `belong` (
`comid` int(11) NOT NULL COMMENT '用人单位号', `addrid` int(11) NOT NULL COMMENT '用人单位地区号', PRIMARY KEY (`comid`,`addrid`), KEY `addrid` (`addrid`),
CONSTRAINT `belong_ibfk_1` FOREIGN KEY (`comid`) REFERENCES `company` (`id`),
CONSTRAINT `belong_ibfk_3` FOREIGN KEY (`addrid`) REFERENCES `region` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
图4-1 belong表图示
CREATE TABLE `company` (
`id` int(11) NOT NULL COMMENT '公司编号',
`name` varchar(20) DEFAULT NULL COMMENT '公司名称', `size` varchar(10) DEFAULT NULL COMMENT '公司规模', `telephone` varchar(20) DEFAULT NULL COMMENT '联系方式', PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
图4-2 company表图示
10
CREATE TABLE `majorinfo` (
`id` int(11) NOT NULL COMMENT '专业编号', `info` varchar(20) NOT NULL COMMENT '专业信息', PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
图4-3 majorinfo表图示
CREATE TABLE `region` (
`id` int(11) NOT NULL COMMENT '地区编号', `name` varchar(20) NOT NULL COMMENT '地区名称', PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
图4-4 region表图示
CREATE TABLE `request` (
`comid` int(11) NOT NULL COMMENT '公司编号', `majorid` int(11) NOT NULL COMMENT '专业编号', `year` year(4) NOT NULL COMMENT '发布年份', `quantity` varchar(10) NOT NULL COMMENT '需求数量', `major` varchar(20) NOT NULL COMMENT '专业要求', `education` varchar(10) NOT NULL COMMENT '学历要求', PRIMARY KEY (`comid`), KEY `majorid` (`majorid`),
11
CONSTRAINT `request_ibfk_1` FOREIGN KEY (`comid`) REFERENCES `company` (`id`),
CONSTRAINT `request_ibfk_2` FOREIGN KEY (`majorid`) REFERENCES `majorinfo` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
图4-5 request表图示
4.2索引设计
CREATE PRIMARY INDEX PRIMARY ON belong; CREATE INDEX addrid ON belong;
CREATE PRIMARY INDEX PRIMARY ON company; CREATE PRIMARY INDEX PRIMARY ON majorinfo; CREATE PRIMARY INDEX PRIMARY ON region; CREATE PRIMARY INDEX PRIMARY ON request; CREATE majorid INDEX PRIMARY ON request;
4.3 视图设计
CREATE VIEW colstuvoccounsys.view_1 AS
SELECT company.id AS id_1, request.comid AS comid_1, majorinfo.id AS id_2, region.id AS id_3, belong.comid AS comid_2, belong.addrid FROM belong
INNER JOIN request ON belong.comid = request.comid
12