内容导航

  • 前言
  • E-R模型
  • 创建数据库Sql
  • 数据库文件

前言

根据项目规划图、领域模型、用例模型和原型,我们设计出E-R模型,并生成或者编写创建数据库所需要的完整Sql脚本。

1、E-R模型


2、创建数据库Sql

建议为每个项目创建独立的表空间,以免产生表混淆。

2.1、创建表空间

--Action1:创建表空间
-----------------------------------------------------------------------------------------------------------Step1:创建独立的表空间-----------------------------------------------------------------------------------------------------CREATE TABLESPACE JOB DATAFILE 'D:\oraclexe\app\oracle\oradata\XE\Job.dbf' SIZE 10m;--Step2:查询表空间和数据文件-----------------------------------------------------------------------------------------------------SELECT * FROM v$tablespace;     --查询表空间SELECT * FROM v$datafile;       --查询数据文件--使用左联接查询所有的表空间对应的数据文件SELECT  ts.ts# ,ts.NAME ,df.NAME AS "filename"FROM v$tablespace tsLEFT JOIN v$datafile df ON ts.ts# = df.ts#; --Step3:删除表空间-----------------------------------------------------------------------------------------------------DROP TABLESPACE JOB INCLUDING CONTENTS AND DATAFILES;---------------------------------------------------------------------------------------------------------

2.2、创建用户和相关设置

为项目创建独立的用户,并做权限相关配置。


--Action2:创建用户及相关设置
-----------------------------------------------------------------------------------------------------------Step1:创建用户并指定表空间-----------------------------------------------------------------------------------------------------CREATE USER jobdeveloper IDENTIFIED BY admin DEFAULT TABLESPACE "JOB"TEMPORARY TABLESPACE "TEMP";--Step2:删除用户(可选)-----------------------------------------------------------------------------------------------------DROP USER jobdeveloper;--Step3:用户授权-----------------------------------------------------------------------------------------------------ALTER USER "jobdeveloper"ACCOUNT UNLOCK ;GRANT "DATAPUMP_EXP_FULL_DATABASE" TO jobdeveloper WITH ADMIN OPTION;GRANT "DBA" TO jobdeveloper WITH ADMIN OPTION;GRANT "HS_ADMIN_EXECUTE_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "ADM_PARALLEL_EXECUTE_TASK" TO jobdeveloper WITH ADMIN OPTION;GRANT "CTXAPP" TO jobdeveloper WITH ADMIN OPTION;GRANT "SELECT_CATALOG_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "CONNECT" TO jobdeveloper WITH ADMIN OPTION;GRANT "DATAPUMP_IMP_FULL_DATABASE" TO jobdeveloper WITH ADMIN OPTION;GRANT "OEM_MONITOR" TO jobdeveloper WITH ADMIN OPTION;GRANT "APEX_ADMINISTRATOR_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "AQ_USER_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "SCHEDULER_ADMIN" TO jobdeveloper WITH ADMIN OPTION;GRANT "XDB_SET_INVOKER" TO jobdeveloper WITH ADMIN OPTION;GRANT "RECOVERY_CATALOG_OWNER" TO jobdeveloper WITH ADMIN OPTION;GRANT "DBFS_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "XDB_WEBSERVICES_OVER_HTTP" TO jobdeveloper WITH ADMIN OPTION;GRANT "HS_ADMIN_SELECT_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "PLUSTRACE" TO jobdeveloper WITH ADMIN OPTION;GRANT "RESOURCE" TO jobdeveloper WITH ADMIN OPTION;GRANT "AQ_ADMINISTRATOR_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "DELETE_CATALOG_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "XDB_WEBSERVICES_WITH_PUBLIC" TO jobdeveloper WITH ADMIN OPTION;GRANT "XDB_WEBSERVICES" TO jobdeveloper WITH ADMIN OPTION;GRANT "EXECUTE_CATALOG_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "EXP_FULL_DATABASE" TO jobdeveloper WITH ADMIN OPTION;GRANT "GATHER_SYSTEM_STATISTICS" TO jobdeveloper WITH ADMIN OPTION;GRANT "LOGSTDBY_ADMINISTRATOR" TO jobdeveloper WITH ADMIN OPTION;GRANT "AUTHENTICATEDUSER" TO jobdeveloper WITH ADMIN OPTION;GRANT "OEM_ADVISOR" TO jobdeveloper WITH ADMIN OPTION;GRANT "HS_ADMIN_ROLE" TO jobdeveloper WITH ADMIN OPTION;GRANT "XDBADMIN" TO jobdeveloper WITH ADMIN OPTION;GRANT "IMP_FULL_DATABASE" TO jobdeveloper WITH ADMIN OPTION;---------------------------------------------------------------------------------------------------------

2.3、在SQL Developer中创建用户连接

在图形化客户端SQL Devloper中创建新用户连接,测试账号。


--Action3:在SQL Developer中创建用户连接
-----------------------------------------------------------------------------------------------------------Step1:打开SQL Developer-------------------------------------------------------------------------------------------------------双击桌面SQL Devloper快捷方式,启动软件至主窗口。如果是第一次启动,可能需要指定JAVA_HOME--路径,请选择JDK安装根目录即可。--Step2:新建连接-------------------------------------------------------------------------------------------------------连接名:jobdeveloper--用户名:jobdeveloper--密码:admin--保存口令:是--连接类型:基本--角色:默认值--主机名:localhost--端口号:1521--SID:XE--Step3:测试连接-------------------------------------------------------------------------------------------------------点击“测试”按钮,若窗口左下角出现“状态:成功”字样,说明上一步配置正确。--Step4:保存连接-------------------------------------------------------------------------------------------------------点击“保存”按钮,若窗口左侧列表新增一个连接条目,说明保存成功。--Step5:打开连接-------------------------------------------------------------------------------------------------------点击“连接”按钮,关闭“新建/选择数据库连接”对话框,在主窗口左侧的“连接”面板检查是否有新连接被--创建成功。如果该连接被成功创建,点击其名称左侧的“+”展开对象列表。---------------------------------------------------------------------------------------------------------

2.4、创建对象(表,视图,函数,过程)


--Action4:创建对象(表,视图,函数,过程)
-----------------------------------------------------------------------------------------------------------Step01:用户表-----------------------------------------------------------------------------------------------------CREATE  TABLE  PlatUser(PlatUserID VARCHAR2(36),                          --用户ID,系统生成UserName   VARCHAR2(24),                          --用户名,填写项。注意,系统强制要求以手机号码作为用户名。Password   VARCHAR2(64) NOT NULL,                 --密码,填写项,在数据库中保存加密后的文本。WechatID   VARCHAR2(24),                          --微信号,填写项Email      VARCHAR2(32),                          --邮箱,填写项Portrait   VARCHAR2(100) DEFAULT '' NOT NULL,     --头像,图片项Sex        CHAR(1) DEFAULT 'O',                   --性别,选择项。O代表其他。RealName    varchar2(16) DEFAULT '',              --真名,填写项Birthday    DATE,                                 --生日,选择项IsLocked    CHAR(1) DEFAULT 'N' NOT NULL,         --isLocked,是否锁定,后台选择项。CreateTime Date DEFAULT sysdate NOT NULL,         --注册时间,系统生成CONSTRAINT pk_PlatUser PRIMARY KEY(PlatUserID),CONSTRAINT uk_PlatUser_UserName UNIQUE(UserName),CONSTRAINT uk_PlatUser_WechatID UNIQUE(WechatID),CONSTRAINT uk_PlatUser_Email UNIQUE(Email),CONSTRAINT ck_PlatUser_Sex CHECK(Sex = 'M' OR Sex = 'W' OR Sex = 'O'),CONSTRAINT ck_PlatUser_IsLocked CHECK(IsLocked = 'Y' OR IsLocked = 'N'));--删除表(可选)----------------------------------------DROP TABLE PlatUser;-------------------------------------------------------------------------------------------------------Step02:简历表-----------------------------------------------------------------------------------------------------CREATE  TABLE  Resume(ResumeID    VARCHAR2(36) ,                        --简历编号,值参照PlatUser.PlatUserID,基数关系为一对一。WorkingTime DATE NOT NULL,                        --参加工作时间,选择项Advantage   VARCHAR2(1024),                       --我的优势,填写项HomePage    VARCHAR2(100) ,                       --社交主页,填写项Accessory   VARCHAR2(100) ,                       --附件简历,选填项ResumeStatusID    VARCHAR(32) NOT NULL,           --简历/求职状态,字典选择项IsHide      CHAR(1) DEFAULT 'N',                  --隐藏简历CONSTRAINT pk_Resume PRIMARY KEY(ResumeID),CONSTRAINT ck_Resume_IsHide CHECK(IsHide = 'Y' OR IsHide = 'N'),CONSTRAINT fk_PlatUser_Resume FOREIGN KEY(ResumeiD) REFERENCES PlatUser(PlatUserID));----------------------------------------DROP  TABLE  RESUME;-------------------------------------------------------------------------------------------------------Step03:教育经历表-----------------------------------------------------------------------------------------------------CREATE TABLE EduExp(EduExpID VARCHAR2(36),        --教育经历编号ResumeID varchar2(36),        --简历编号,值参照Resume.ResumeID,基数关系为一对多。SchoolName varchar2(32),      --学校名称,填写项Major varchar2(50),           --专业,填写项DiplomalID varchar2(32),      --学历,字典选择项StartTime Date,               --开始时间,选择项EndTime Date,                 --截止时间,选择项Description varchar2(1024),   --在校经历描述CONSTRAINT pk_EduExp PRIMARY KEY(EduExpID),CONSTRAINT fk_Resume_EduExp FOREIGN KEY(ResumeID) References Resume(ResumeID));----------------------------------------DROP  TABLE  EduExp;-------------------------------------------------------------------------------------------------------Step04:求职意向表-----------------------------------------------------------------------------------------------------CREATE TABLE WorkPurpose(WorkPurposeID VARCHAR2(36),       --求职意向编号ResumeID varchar2(32),            --简历编号,值参照Resume.ResumeID,基数关系为一对多。JobTypeID varchar2(32),           --期望职位类型,字典选择项IndustryID varchar2(32),          --期望行业类型,字典选择项CityID varchar2(32),              --期望工作城市,字典选择项MaxSalary NUMBER,                 --薪资范围之上限,选择项MinSalary NUMBER,                 --薪资范围之下限,选择项CONSTRAINT pk_WorkPurpose PRIMARY key(WorkPurposeID),CONSTRAINT fk_Resume_WorkPurpose FOREIGN KEY(ResumeID) References Resume(ResumeID));----------------------------------------DROP TABLE  WorkPurpose;-------------------------------------------------------------------------------------------------------Step05:工作经历表-----------------------------------------------------------------------------------------------------CREATE TABLE  WorkExp(WorkExpID VARCHAR2(36),             --工作经历编号ResumeID varchar2(36),              --简历编号,值参照Resume.ResumeID,基数关系为一对多。JobTypeID varchar2(36),             --职位类型,字典选择项JobName varchar2(32),               --职位名称,填写项,选填CompanyName VARCHAR2(32),           --公司名称,填写项IndustryID varchar2(36),            --公司行业,字典选择项SkillID varchar2(108),               --技能标签/列表,字典选择项StartTime Date,                     --开始时间,选择项EndTime Date,                       --截止时间,选择项Department varchar2(32),            --所属部门,填写项,选填Achievement varchar2(32),           --工作业绩,填写项,选填Description varchar2(32),           --工作内容,填写项,选填IsHide varchar2(1),                 --对这家公司隐藏我的信息,默认开启状态Constraint pk_WorkExp PRIMARY KEY(WorkExpID),CONSTRAINT fk_Resume_WorkExp FOREIGN KEY(ResumeID) References Resume(ResumeID));----------------------------------------DROP  TABLE  WorkExp;-------------------------------------------------------------------------------------------------------Step06:项目经验表-----------------------------------------------------------------------------------------------------CREATE TABLE ProjectExp(ProjectExpID  VARCHAR2(36),           --项目经验编号ResumeID varchar2(36),                --简历编号,值参照Resume.ResumeID,基数关系为一对多。ProjectName varchar2(32),             --项目名称,填写项Url varchar2(100),                    --项目URL,填写项,选填Role varchar2(32),                    --项目角色,填写项StartTime  Date ,                     --开始时间,选择项EndTime Date,                         --截止时间,选择项Achievement varchar2(1024),           --项目业绩,填写项,选填Description varchar2(1024),           --项目描述,填写项CONSTRAINT pk_ProjectExp PRIMARY KEY(ProjectExpID),Constraint fk_Resume_ProjectExp FOREIGN KEY(ResumeID) References Resume(ResumeID));----------------------------------------Drop  table  ProjectExp;-------------------------------------------------------------------------------------------------------Step07:公司表-----------------------------------------------------------------------------------------------------CREATE TABLE Company(CompanyID      VARCHAR2(36),              --公司ID,值参照PlatUser.PlatUserID,基数关系为一对一。FullName       VARCHAR2(26) NOT NULL,     --公司全称,选择项ShortName      VARCHAR2(16) NOT NULL,     --公司简称,选择项Logo           VARCHAR2(100),             --公司Logo,图片项IndustryID     VARCHAR2(32),              --所属行业,字典选择项ScaleID        VARCHAR2(32),              --人员规模,字典选择项FinanceStageID VARCHAR2(32),              --融资阶段,字典选择项HomePage       VARCHAR2(100),             --公司官网,填写项,选填TeamIntro      VARCHAR2(300),             --团队介绍,填写项TeamAdvantage  VARCHAR2(300),             --团队亮点CurrentJob     VARCHAR2(32),              --我的职位(当前职位)CONSTRAINT pk_Commany PRIMARY KEY(CompanyID),CONSTRAINT fk_PlatUser_Commany FOREIGN KEY (CompanyID) REFERENCES PlatUser(PlatUserID));----------------------------------------DROP  TABLE Company;-------------------------------------------------------------------------------------------------------Step08:岗位表-----------------------------------------------------------------------------------------------------Create  table Job(JobID  varchar2(36),                  --岗位IDCompanyID varchar2(36),               --公司ID,值参照Company.CompanyID,基数关系为一对多。JobTypeID varchar2(32),               --职位类型,字典选择项JobName varchar2(32),                 --职位名称,填写项SkillID varchar2(32),                 --技能要求,字典选择项ExperienceID varchar2(32),            --经验要求,字典选择项EducationID varchar2(32),             --学历要求,字典选择项CityID varchar2(32),                  --工作城市,字典选择项WorkAddress varchar2(32),             --工作地点,填写项Description  varchar2(1024),          --职位描述,填写项IsClosed varchar2(1),                 --停止招聘,选择项MaxSalary number,                     --薪资范围之上限,选择项MinSalary number,                     --薪资范围之下限,选择项CONSTRAINT pk_Job  PRIMARY KEY(JobID),CONSTRAINT fk_Commany_Job FOREIGN KEY(CompanyID) REFERENCES Company(CompanyID));----------------------------------------DROP  TABLE  JOB;-------------------------------------------------------------------------------------------------------Step09:岗位统计表-----------------------------------------------------------------------------------------------------Create table JobStat(JobID varchar2(36),           --岗位ID,值参照Job.JobID,基数关系为一对一。BrowseCount number,           --浏览次数ShareCount number,            --分享次数ApplyCount number,            --投递/申请次数CONSTRAINT pk_JobStat  PRIMARY KEY(JobID),CONSTRAINT fk_Job_JobStat FOREIGN KEY(JobID) REFERENCES Job(JobID));----------------------------------------DROP  TABLE JobStat;-------------------------------------------------------------------------------------------------------Step10:应聘/投递/申请明细表-----------------------------------------------------------------------------------------------------CREATE TABLE ApplyDetail(ApplyDetailID VARCHAR2(36),       --应聘/投递/申请明细编号。注意,该列不进行PK约束,而是UK约束,方便其子表引用。JobID VARCHAR2(36),               --岗位编号ResumeID varchar2(36),            --简历编号CreateTime Date,                  --简历投递时间ApplyStatusID varchar2(36),       --应聘/投递/申请状态ID,字典选择项CONSTRAINT pk_ApplyDetail PRIMARY KEY(JobID,ResumeID),CONSTRAINT uk_ApplyDetail_ApplyDetailID UNIQUE(ApplyDetailID),CONSTRAINT fk_Job_ApplyDetail FOREIGN KEY(JobID) References Job(JobID),CONSTRAINT fk_Resume_ApplyDetail FOREIGN KEY(ResumeID) references Resume(ResumeID));----------------------------------------DROP  TABLE ApplyDetail;-------------------------------------------------------------------------------------------------------Step11:收藏夹表-----------------------------------------------------------------------------------------------------Create table  Favorite(FavoriteID varchar2(36),PlatUserID  VARCHAR2(36),             --用户ID,值参照PlatUser.PlatUserID,基数关系为一对多。TypeID VARCHAR2(16),                  --收藏类型,公司用company,简历用resume,岗位用jobCreateTime Date,                      --收藏时间CONSTRAINT pk_FavoriteID PRIMARY KEY(FavoriteID),CONSTRAINT fk_PlatUser_Favorite FOREIGN KEY(PlatUserID) references PlatUser(PlatUserID));----------------------------------------DROP TABLE Favorite;-------------------------------------------------------------------------------------------------------Step12:字典类型-----------------------------------------------------------------------------------------------------Create  table  DictType(DictTypeID varchar2(36),              --字典类型编号Name varchar2(32) not null,           --字典类型名称Description  varchar2(1024),          --字典类型描述Constraint pk_DictType Primary key(DictTypeID));----------------------------------------DROP  TABLE DictType;-------------------------------------------------------------------------------------------------------Step13:字典条目表-----------------------------------------------------------------------------------------------------Create table DictItem(DictItemID varchar2(36),              --字典条目编号DictTypeID VARCHAR2(36),              --字典类型编号,字典选择项FatherItemID varchar2(36),            --父级条目编号,实现无限层次结构NAME VARCHAR2(32) NOT NULL,           --字典条目名称HotLevel NUMBER DEFAULT 0 NOT NULL,   --热度值,实现字典条目排名,比如热门城市等Description  varchar2(1024),          --字典条目描述Constraint pk_DictItem Primary key(DictItemID),Constraint fk_DictType_DictItem  FOREIGN KEY(DictTypeID) References DictType(DictTypeID));----------------------------------------DROP TABLE DictItem;-------------------------------------------------------------------------------------------------------Step14:管理员表-----------------------------------------------------------------------------------------------------Create table SysAdmin(SysAdminID varchar2(36),Name varchar2(32) not null,Password varchar2(32) not null,CONSTRAINT pk_SysAdmin PRIMARY KEY(SysAdminID));----------------------------------------DROP  TABLE  SysAdmin;-------------------------------------------------------------------------------------------------------Step15:用户会话表-----------------------------------------------------------------------------------------------------CREATE TABLE PlatUserSession(SessionID VARCHAR2(36),           --会话IDPlatUserID VARCHAR2(36),          --用户IDStartTime DATE,                   --会话开始时间EndTime Date,                     --会话结束时间CONSTRAINT pk_PlatUserSession PRIMARY KEY(SessionID),Constraint fk_PlatUser_PlatUserSession FOREIGN KEY(PlatUserID) references PlatUser(PlatUserID));--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.5、创建备注


--Action5:添加备注
-----------------------------------------------------------------------------------------------------------Step1:添加备注-----------------------------------------------------------------------------------------------------COMMENT ON COLUMN RESUME.RESUMEID IS '简历ID';--StepN:-------------------------------------------------------------------------------------------------------此处应该对所有的表及字段加备注。--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.6、添加初始化数据


--Action6:添加初始化数据
-----------------------------------------------------------------------------------------------------------表:SysAdmin-----------------------------------------------------------------------------------------------------INSERT INTO SysAdmin(SysAdminID , NAME ,PASSWORD) VALUES( '0001' ,'Admin', '123456');--表:PlatUser-----------------------------------------------------------------------------------------------------Insert into PlatUser( PlatUserID , UserName , Password , WechatID , Email , Portrait ,Sex) values('0001','test','testpass','testWID','test@chinasofti.com','--','M');--表:DictType-----------------------------------------------------------------------------------------------------INSERT INTO DictType(DictTypeID , NAME , Description) VALUES('JobTypeID' , 'JobTypeID' , '');INSERT INTO DictType(DictTypeID , NAME , Description) VALUES('SkillID' , 'SkillID' , '');INSERT INTO DictType(DictTypeID , NAME , Description) VALUES('ExperienceID' , 'ExperienceID' , '');INSERT INTO DictType(DictTypeID , NAME , Description) VALUES('CityID' , 'CityID' , '');INSERT INTO DictType(DictTypeID , NAME , Description) VALUES('DiplomalID' , 'DiplomalID' , '');INSERT INTO DictType(DictTypeID , NAME , Description) VALUES('ResumeStatusID' , 'ResumeStatusID' , '');INSERT INTO DictType(DictTypeID , NAME , Description) VALUES('IndustryID' , 'IndustryID' , '');--表:DictItem-----------------------------------------------------------------------------------------------------INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0001' , 'JobTypeID','技术' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0002' , 'JobTypeID','产品' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0003' , 'JobTypeID','设计' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0004' , 'JobTypeID','运营' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0005' , 'JobTypeID','市场' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0006' , 'JobTypeID','传媒' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0007' , 'JobTypeID','职能/高级管理' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0008' , 'JobTypeID','销售' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0009' , 'JobTypeID','金融' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0010' , 'JobTypeID','汽车' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0011' , 'JobTypeID','教育培训' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0012' , 'JobTypeID','医疗健康' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0013' , 'JobTypeID','采购/贸易' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0014' , 'JobTypeID','供应链/物流' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0015' , 'JobTypeID','房地产/建筑' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0016' , 'JobTypeID','咨询/翻译/法律' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0017' , 'JobTypeID','实习生/管培生' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'JT0018' , 'JobTypeID','其他' ,'');--SkillID,技能要求。暂且如此简略设计-----------------------------------------------------------------------------------------------------INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'SK0001' , 'SkillID','Java' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'SK0002' , 'SkillID','PHP' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'SK0003' , 'SkillID','C++' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'SK0004' , 'SkillID','.Net' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'SK0005' , 'SkillID','C' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'SK0006' , 'SkillID','HTML' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'SK0007' , 'SkillID','CSS' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'SK0008' , 'SkillID','JavaScript' ,'');--ExperienceID,经验要求。-----------------------------------------------------------------------------------------------------INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )VALUES( 'EX0001' , 'ExperienceID','应届生' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'EX0002' , 'ExperienceID','1年以内' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'EX0003' , 'ExperienceID','1-3年' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'EX0004' , 'ExperienceID','3-5年' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'EX0005' , 'ExperienceID','5-10年' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'EX0006' , 'ExperienceID','10年以上' ,'');--CityID,工作城市。-----------------------------------------------------------------------------------------------------INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'CT0001' ,'CityID','北京' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'CT0002' ,'CityID','天津' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'CT0003' ,'CityID','上海' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'CT0004' ,'CityID','广州' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description ) VALUES( 'CT0005' ,'CityID','西安' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'CT0006' ,'CityID','武汉' ,'');--DiplomalID,学历。-----------------------------------------------------------------------------------------------------INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'DL0001' , 'DiplomalID','不限' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'DL0002' , 'DiplomalID','大专' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'DL0003' , 'DiplomalID','本科' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'DL0004' , 'DiplomalID','硕士' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'DL0005' , 'DiplomalID','博士' ,'');--ResumeStatusID-----------------------------------------------------------------------------------------------------INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'RS0001' , 'ResumeStatusID','离职-随时到岗' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'RS0002' , 'ResumeStatusID','在职-月内到岗' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'RS0003' , 'ResumeStatusID','在职-考虑机会' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'RS0004' , 'ResumeStatusID','在职-暂不考虑' ,'');--IndustryID,期望行业。-----------------------------------------------------------------------------------------------------INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0001' ,'IndustryID','健康医疗' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0002' ,'IndustryID','生活服务' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0003' ,'IndustryID','旅游' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0004' ,'IndustryID','金融' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  values( 'ID0005' ,'IndustryID','信息安全' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0006' ,'IndustryID','广告营销' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0007' ,'IndustryID','数据服务' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0008' ,'IndustryID','智能硬件' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0009' ,'IndustryID','文化娱乐' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0010' ,'IndustryID','网络招聘' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0011' ,'IndustryID','分类信息' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  values( 'ID0012' ,'IndustryID','电子商务' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  values( 'ID0013' ,'IndustryID','移动互联网' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0014' ,'IndustryID','企业服务' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0015' ,'IndustryID','社交网络' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0016' ,'IndustryID','教育培训' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0017' ,'IndustryID','O2O' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0018' ,'IndustryID','游戏' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0019' ,'IndustryID','互联网' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  values( 'ID0020' ,'IndustryID','媒体' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0021' ,'IndustryID','IT软件' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0022' ,'IndustryID','通信' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0029' ,'IndustryID','公共会展' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0023' ,'IndustryID','房地产/建筑' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0024' ,'IndustryID','汽车' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0025' ,'IndustryID','供应链/物流' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0026' ,'IndustryID','咨询/翻译/法律' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0027' ,'IndustryID','采购/贸易' ,'');INSERT INTO DictItem(DictItemID , DictTypeID , NAME , Description )  VALUES( 'ID0028' ,'IndustryID','非互联网行业' ,'');---------------------------------------------------------------------------------------------------------

3、特殊情况

3.1、自关联

注意,本案例中使用了自关联,我们需要通过额外的案例来强化本知识点。


--Demo:级联演示。此处用到了自关联。
-----------------------------------------------------------------------------------------------------------创建表-----------------------------------------------------------------------------------------------------Create  table  Region1(FatherID varchar2(32),ChildID varchar2(32),Name  varchar2(32),CONSTRAINT Pk_Region PRIMARY KEY(ChildID),CONSTRAINT fk_Father_Child Foreign key(FatherID) References Region1(ChildID));Drop  Table Region1;--插入测试数据-----------------------------------------------------------------------------------------------------INSERT INTO Region1(FatherID , ChildID , Name) VALUES('00' ,'00', '中国');INSERT INTO Region1(FatherID , ChildID , Name) VALUES('00','0001' , '北京');INSERT INTO Region1(FatherID , ChildID , Name) VALUES('00','0002' , '上海');INSERT INTO Region1(FatherID , ChildID , Name) VALUES('00','0003' , '广州');INSERT INTO Region1(FatherID , ChildID , Name) VALUES('00','0004' , '陕西');INSERT INTO Region1(FatherID , ChildID , Name) VALUES('0004','000401' , '西安');INSERT INTO Region1(FatherID , ChildID , Name) VALUES('0004','000402' , '咸阳');--限定列查询-----------------------------------------------------------------------------------------------------SELECT  FatherID ,ChildID ,NAME  FROM  Region1 WHERE FatherID = '00';--全列查询-----------------------------------------------------------------------------------------------------SELECT  *  FROM  Region1 WHERE FatherID = '0004';---------------------------------------------------------------------------------------------------------

《Oracle Java EE编程自学与面试指南》20-05:数据库设计相关推荐

  1. 《Oracle Java EE编程自学和面试指南》09-02:HttpSession接口

    深入了解IT/互联网行业及岗位,请参阅通用IT/互联网岗位招聘计划(最新全岗版). 深入了解职业晋升及学习路线,请参阅最优职业晋升路线和课程学习指南(最新全栈版). 内容导航: 前言 1.HttpSe ...

  2. 《Oracle编程自学与面试指南》23:数据字典视图

    内容导航 数据字典视图主要可分为三类: dba - 所有方案包含的对象信息 所有用户的. all - 用户可以访问的对象信息 我有权访问的,包括自己所有的,及其他用户的. user - 用户方案的对象 ...

  3. 《Oracle编程自学与面试指南》17-03:多列子查询

    内容导航 多列子查询,即一个子查询中同时返回多个查询的列. 案例代码: /* 作者:AT阿宝哥 日期:2016年9月18日 愿景:参考官方资料,做最好的课程,成就更多职业人! 邮箱:12264104@ ...

  4. 《Oracle编程自学与面试指南》24-03:招聘领域数据库设计详解

    内容导航 3.招聘APP数据库试练 3.招聘APP数据库试练 此项目参照拉勾网.脉脉.BOSS直聘.智联卓聘.猎聘同道等知名互联网招聘应用而设计,在设计上着重突出"人人都是职业人,人人都是H ...

  5. 《Oracle编程自学与面试指南》12:条件(Conditions)

    内容导航 条件(Conditions)是一个或多个表达式和逻辑(布尔)运算符的组合,并返回一个值TRUE.FALSE或UNKNOWN. 本章包括以下内容: 比较条件(Comparison Condit ...

  6. 怎么用java ee编程_Java EE应用程序入门 - 编程入门网

    Java EE应用程序入门 时间:2011-07-06 netbeans.org 本文将详细介绍使用 EJB 3.0 技术开发企业应用程序的基础知识,而 EJB 3.0 是 Java EE 5 平台的 ...

  7. Java实现 “账本“ 小项目(一) 之数据库设计(源码+注解)

    声明: 本项目为HOW2J的一个付费项目:一本糊涂账.适合java新手进行一个项目练手,下面我将分模块把该项目的源码等资源分享给大家,供大家学习. 目录 声明: 功能展示: 消费一览: 记一笔: 消费 ...

  8. JAVA知识点-适合自学、面试

    1.Java的数据结构你用过那些?map与set的本质区别是什么 数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合. 依据逻辑关系,数据结构分为:线性和非线性数据结构. 线性和非线性数据结 ...

  9. Python编程自学入门学习指南

    对于初学者来说,入门很重要,这关系到初学者是从入门到精通还是从入门到放弃. 以下是结合Python的学习经验整理出来的学习路径,主要有四个阶段. NO.1新手入门阶段,学习基础知识. 一般来说,找一本 ...

最新文章

  1. c 远程编辑linux文件,makefile - 在远程Linux机器上编译C ++ - “检测到时钟偏差”警告...
  2. linux shell里面nohup的用法
  3. Python3.6 安装 statsmodels
  4. Ubuntu16.04安装ROS kinetic
  5. 无意中发现一个有趣的事情
  6. 在linux下赋予000权限,【linux】对于文件权限的理解
  7. c语言 手动实现sizeof,sizeof究竟是怎样实现的?
  8. Flex 4 NativeWindow 中添加Flex组件(问题很多,尚不完善)
  9. 从源代码解释Android事件分发机制
  10. [工作笔记之一] 转正答辩 2015-08-04 15:08
  11. word2016页眉横线删除不掉
  12. 优思学院|六西格玛管理的经典六步法
  13. 顺丰java_Java顺丰同城接口开发
  14. RPG Maker MV 计时器的用法
  15. 创业者、如何可以投资小,又可以依附互联网去创业?
  16. Fluent UDF 获取组分传输模型中的摩尔分数或分压力
  17. WIN32_FIND_DATA、FILETIME、FindFirstFile对文件的操作
  18. 送给八年以前两年以后的自己
  19. python3安装psycopg2
  20. 奥比中光网络深度摄像头——人脸活体检测

热门文章

  1. WD My Cloud安装迅雷远程下载固件
  2. mysql 安装 my.cnf配置错误_MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法...
  3. 毕老师讲Java--TreeSet
  4. 【Android App】物联网中指南针、计步器、感光器、陀螺仪的讲解及实战演示(附源码 超详细必看)
  5. 从入门到精通,7天轻松玩转云速搭CADT,所见即所得的云架构工具
  6. 【计算机毕业设计】在线招聘系统
  7. 基于SSM框架的课堂互动应答系统
  8. 为什么说社交电商崩塌倒计时?
  9. yolov5-5.0加入CBAM,SE,CA,ECA注意力机制
  10. 关于雷达的认识与理解