高级数据库题目

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

存储过程题目:

有一个简化的项目管理数据库,主要管理部门、员工等信息,分别由基本表department,employee存放相关信息。其中一个员工属于一个部门,一个部门有多个员工。基本表的逻辑结构(各属性名和含义)和信息如下所示:department(dno,dname,dtel,daddress,dnumber,cname),其中dno表示部门号,dname表示部门名称,daddress表示部门地址,dnumber表示部门人数,cname表示部门领导的员工号,主码是dno,外码是cname,参照员工表中的主码员工号。

department

dno dname daddress dtel dnumber cname D1 厂部1-301 88922790 5 1001

D2 工程部2-106 88922791 12 1003

D3 技术部2-205 88922792 15 1004

D4 质监部1-202 88922793 6 1005

………………

employee(eno,ename,etitle,esex,essn,esalary,dno,eaddr,etel),其中,eno 表示员工号,ename表示员工姓名,etitle表示员工职称,esex表示性别,essn表示员工身份证号,esalary表示员工基本工资,dno表示员工所在部门,eaddr 表示员工家庭地址,etel表示员工家庭电话。

employee

Eno ename egrade esex essn esalar y dno eaddr etel 1001 李月助理工程师男***1978***1200 D1 *** *** 1002 魏兰工程师女***1975***1440 D3 *** *** 1003 赵希青技术员男***1969***1360 D2 *** ***

续表Eno ename egrade esex essn esalar y dno eaddr etel 1004 张明工程师男***1972***1600 D3 *** *** ………………………

一、编写修改工资存储过程,要求由用户指定员工号或者员工姓名或者

技术职称,以及增长幅度(比如增长10%,则该变量的值就为0.1),

存储过程完成对指定员工工资的修改,如果增长幅度是负的话,比

如-0.1,那么计算公式就是“原工资*(1-0.1)”。在存储过程中,

要注意参数值的检验,比如增长幅度是大于-1小于1的值。

二、项目管理数据库中,部门人数应该等于员工表中实际员工的人数,

由于在员工的调入、调出及内部调动(从一部门调到另一部门)时,

可能产生人数跟实际情况不符的问题。编写存储过程,检查所有部

门人数的正确性,如果不正确,则进行修改。

存储过程题目:

有一个简化的项目管理数据库,主要管理部门、员工等信息,分别由基本表department,employee存放相关信息。其中一个员工属于一个部门,一个部门有多个员工。基本表的逻辑结构(各属性名和含义)和信息如下所示:department(dno,dname,dtel,daddress,dnumber,cname),其中dno表示部门号,dname表示部门名称,daddress表示部门地址,dnumber表示部门人数,cname表示部门领导的员工号,主码是dno,外码是cname,参照员工表中的主码员工号。

department

dno dname daddress dtel dnumber cname D1 厂部1-301 88922790 5 1001

D2 工程部2-106 88922791 12 1003

D3 技术部2-205 88922792 15 1004

D4 质监部1-202 88922793 6 1005

………………

employee(eno,ename,etitle,esex,essn,esalary,dno,eaddr,etel),其中,eno 表示员工号,ename表示员工姓名,etitle表示员工职称,esex表示性别,essn表示员工身份证号,esalary表示员工基本工资,dno表示员工所在部门,eaddr 表示员工家庭地址,etel表示员工家庭电话。

employee

Eno ename egrade esex essn esalar y dno eaddr etel 1001 李月助理工程师男***1978***1200 D1 *** *** 1002 魏兰工程师女***1975***1440 D3 *** *** 1003 赵希青技术员男***1969***1360 D2 *** ***

续表Eno ename egrade esex essn esalar y dno eaddr etel 1004 张明工程师男***1972***1600 D3 *** *** ………………………

一、编写函数,收入小于1000的显示“低收入”,1000……2000的“中

低收入”,2000……5000为“中等收入”,5000……8000“中高收入”,

8000以上的“高收入”。

二、对低收入人群工资增加40%,中低收入者工资增加30%,中等收入增

工资20%,中高等收入增工资10%。

练习四:

有以下表格

1、employee 表,职工号ENO,姓名ENAME,身份证SFZ,年龄SAGE,岗位KIND,

级别ELEVEL

2、LEVELSALARY 表,kind 岗位,ELEVEL 级别,SALARY工资

3、MONSALARY 月工资表:日期MON(到月如201102 表示2011年2月),职工号ENO,

本月工资salary

要求

用触发器实现:

一、新增加人员时,在下月工资表中增加该个人的工资信息

二、职工岗位或级别调整时,修改该月和以后月份的月工资信息

三、职工离职时,删除相应的职工月工资信息

练习一:

1、STUDENT 表,学号SNO,姓名SNAME,身份证SFZ,年龄SAGE,系别SDEPT

2、COURSE 表,课程号CNO,课程名CNAME,课程类别KIND,先行课程号PCNO

3、SC 表(成绩),学号SNO,课程号CNO ,成绩GRADE

其中,

表一:1)SNO为主键

2)姓名长度最多5个汉字

3)身份证号为18位,除最后一位外,均为数字

4)年龄最大30岁,最小18岁,默认为19岁

表二:1)CNO为主键

2)课程类别为“基础”、“专业基础”、“专业”三类

3)先行课程号必须为已有课程编号

表三:1)SNO、CNO为外键,SNO+CNO为主键

2)GRADE为0……100之间整数

相关文档
最新文档