第一题进入自己创建的用户下进行以下操作。(两个同学完成,1-2,3)
1、创建表student、course、grade,各个表的结构如下:(要求有基本的约束条件,例如外键和主键)
(1) student
学号 number(6),姓名varchar2(12)
入学时间 date,专业varchar2(20),性别 char(2),年龄 integer
(2) course
课程号 number(6),课程名称 varchar2(20),学时integer,学分integer
3) grade
学号 number(6),课程号 number(6),成绩 number(2)
2、向上面的三个表中分别插入5条纪录。
3. 查询出以下信息。
1)全部学生的学号学生姓名课程名称成绩 (成绩大于60显示及格,小于60显示不及格)
2)查询出课程超过1门以上学生的信息。
3)显示每科最高分的学生的学号学生姓名课程名称成绩。
第二题已知公司的员工表emp(eid, ename, bdate, sex, city),部门表dept(did, dname, dcity),工作表work(eid,did,startdate,salary)。各个字段说明如下:
eid——员工编号,最多6个字符。例如a00001(主键)
ename——员工姓名,最多10个字符。例如smith
bdate——出生日期,日期型。
sex——员工性别,单个字符。f或者m
city——员工居住的城市,最多20个字符。例如:上海。
did——部门编号,最多3个字符。例如 a01 (主键)
dname——部门名称,最多20个字符。例如:研发部门。
dcity——部门所在的城市,最多20个字符。例如:上海。
startdate——员工到部门上班的日期,日期型。
salary——员工的工资。整型。
进入自己创建的用户下进行以下操作,完成下列的操作(二个人完成,1-3,4-9)
1、 创建表emp,dept,work,并定义表的主键和外键。
2、 向每个表中插入适当的数据。例如:插入三条部门的数据,分别为每个部门插入两条员工数据。
3、 查询“研发”部门的所有员工的基本信息。
4、 查询拥有最多的员工的部门的基本信息(要求只取出一个部门的信息),如果有多个部门人数一样,那么取出部门编号最小的那个部门的基本信息。
5、 显示部门人数大于5的每个部门的编号,名称,人数。
6、 显示部门人数大于5的每个部门的最高工资,最低工资。
7、 列出员工编号以字母p至s开头的所有员工的基本信息。
8、 删除年龄超过60岁的员工。
9、 为工龄超过10年的职工增加10%的工资。
第三题。 编写函数在表查询指定编号雇员的名字、工资以及部门名称,要有相应的异常处理和提示信息。
第四题。表使用触发器实现业务规则:销售部的工资只增不减,且有提示信息。
第五题为雇员表emp创建一触发器,确保插入记录的工资列sal不小于0,同时新记录的sal列值不能高于已有记录最高工资的2倍。
第六题按年度基本工资额用游标修改emp表中记录的sal字段值,如年基本工资低于30000,sal增加20%,否则sal增加15%。
第七题建立名称为data_ts1的数据表空间,大小为50m,区间统一为128kb大小。
建立名称为temp_ts1的临时表空间,使用temp_文件存放临时数据。
创建10号部门经理用户emp_mgr10,指定该用户的数据表空间为data_ts1,临时表空间为temp_ts1。授权该用户可以查看scott用户下雇员表中的记录。
第八题创建一个表空间test,三个datafile
第一个10m,自增,每次增加20m,最大100m.
第二个20m,自增,每次增加10m,最大没有限制。
创建用户test,密码test,默认表空间test(上面那一个).
用test登陆,建表test1,表项:id 数字型,name 字符型。
并使用户scott能对该表操作。
第九题在表中通过雇员编号查询雇员工资,如果sal<800 显示低工资,sal.>5000 显示高工资,其他显示正常工资。
第十题创建一个过程,打印出表中各个工资级别的人数。备注:显示的格式为三种情况1、工资少于2000的人数为:
**工资在2000——3000的人数为***工资大于3000的人数为:**
第十一题创建表salary_change_record(empid,old_salary,new_salary,change_date),old_salary:用来纪录表中员工原来的工资,new_salary:用来纪录更新后的工资,change_date:
记录更新的系统时间。然后创建一个触发器,名称为 change_record,功能:每次更新员工工资之后,将更新纪录保存到表salary_change_record中。
第十二题编写一个函数以检查表中所指定雇员的薪水是否有效范围内。不同职位的薪水范围为: clerk 1500-2500,salesman 2501-3500,analyst 3501-4500
others 4501 and above. 如果薪水在此范围内,则显示消息"salary is ok",否则更新薪水为该范围内的最大值。
第十三题编写一个package,它有两个函数和两个过程以操作"emp"表。该数据包要执行的任务为:插入一个新雇员;删除一个现有雇员;显示指定雇员的整体薪水;显示指定雇员所在部门名称。
(由两个人完成,分别作一个函数和过程)
第十四题编写一个函数,当输入员工编号,可以修改该员工的工资。如果员工是经理,工资提高1000;如果是销售员,工资提高500;其他工资提高700。
第十五题创建一个存储过程,以部门号为参数,查询该部门的人数,并输出人数最多的那个部门的编号和部门名称。
第十六题用三种循环结构(简单循环,while循环,for循环)分别编写一个过程,能够统计并输出各个部门的最高工资。
第十七题利用触发器在数据表emp 中执行插入、更新和删除3种操作后给出相应的提示。
第十八题写两个过程,分别以部门号和部门名称为参数,查询相应部门的员工信息。
第十九题写两个函数,一个以员工号为参数,输出该员工信息;另一个以员工名为参数,输出员工信息。利用这两个函数分别查询员工号为7902以及员工名为smith,的员工信息
第二十题定义一个函数和一个过程。函数以部门号为参数返回该部门的平均工资;过程以部门号为参数,输出该部门中工资低于部门平均工资的员工的员工号、员工名。
第二十一题写一个存储过程,用于创建一个名为test的表,该表只有一个名字为coll的列,数据类型为整型。并用序列把1001-1100按序插入到表中。
第二十二题编写程序向dept表中插入一条记录,用户根据提示信息依次从键盘输入部门编号,名称以及所在地。
第二十三题按年度基本工资额用游标修改emp表中记录的sal字段值,如年基本工资低于30000,sal增加20%,否则sal增加15%
第二十四题编程向emp表中插入数据,要求使用异常出现以下提示:部门**为30的职员工资应高于2000 元。
前台工具可以是vb,vc++,vc#,j**a,php、delphi等,后台数据库用oracle数据库。要求:分析设计合理的功能要求,创建合理的数据库表,界面要求简单。
例如人事管理系统,要求可以录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。
员工基本信息表,员工工资信息表,员工请假信息表,管理员表。
管理员登录界面,增加人员基本信息,查询人员基本信息,员工请假信息,员工工资信息维护与管理,各个界面体现了人事管理系统的几个主要功能。
数据库课程设计选题及要求
数据库课程设计 选题及要求。一 设计要求。1 选择合适的数据库建模工具 数据库管理系统和相关的开发语言,为某部门或单位开发一个小型数据库应用系统。查阅资料,收集课题需求,设计 编码实现应用系统并完成课程设计报告 手写 2 每人写一份设计报告。设计报告格式为 1 封面上应有专业 班级 姓名 学号 题目...
07《数据库应用设计》课程设计选题课件
数据库课程设计。选题目录。2015年09月。数据库应用设计 课程设计选题目录。一 学生宿舍管理信息系统。1 背景资料 1 入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一个宿舍号,其入校时间就是他的入住时间。2 每间宿舍都有唯一的宿舍号,入校时,宿舍会装公用 机,相应地就...
数据库库课程设计
目录。引言11 开发环境1 1.1 硬件环境1 1.2 软件环境1 1.2.1 sql server 2005 delphi7简单介绍2 2 需求分析3 2.1 信息需求3 2.2 功能需求3 2.3 安全性与完整性要求3 3 概念结构设计3 4 逻辑结构设计4 5 数据库实现6 5.1 创建数据库...