文档库 最新最全的文档下载
当前位置:文档库 › Oracle数据库应用技术-实验指导书

Oracle数据库应用技术-实验指导书

Oracle数据库应用技术-实验指导书
Oracle数据库应用技术-实验指导书

Oracle数据应用技术实验指导书

湖南工程职业技术学院

(刘静)

2010年3月

实验1 Oracle入门(2学时)

一、目标

1.能够使用Oracle Enterprise Manager Console

2.能够创建表空间和用户账户

3.能够使用Oracle Net Configuration Assistant配置网络服务名

4.能够用SQL *Plus 连接Oracle服务器

二、实验内容及要求

1.实验内容

(1)使用Oracle Enterprise Manager Console

熟悉Oracle企业管理器控制台,能够通过图形化的用户界面查看Oracle 数据库的物理组件和逻辑组件,加深对Oracle体系结构的理解。

分析:要熟悉Oracle数据库,必须先安装Oracle服务器软件,或者安装客户端软件,再通过网络配置链接到一个远程的Oracle服务器。假定已经在本机上安装了Oracle数据库,用户可以使用Oracle Enterprise Manager Console 来管理数据库。使用企业管理器控制台可以执行各项任务,如管理Oracle实例、创建表空间、用户账户、表和同义词等。用户需要以管理员身份登陆到Oracle 数据库进行练习。

(2)创建表空间

GITM公司想要在数据库总存储员工信息、工资记录、部门信息和产品信息,这些信息将存储在不同的表中。为了与其他建立在此数据库上的应用系统实现存储空间的独立,需要建一个名为GITM的表空间,此应用系统的中的表都应该存储在此表空间中。

(3)创建用户账户

在数据库中已创建GITM表空间用于存储公司员工和部门信息表。现在需要一个特定用户,该用户能够访问相关信息,并可创建数据库对象,如表、视图和索引等。要求创建一个用户,并向其授予连接数据库、创建模式对象和使用表空

间的权限。

(4)使用Oracle Net Configuration Assistant

Oracle数据库服务器可以被多个用户访问以执行不同的操作。要求使用Oracle Net Configuration Assistant工具来配置网络组件,使用户能够访问远程数据库。

(5)使用SQL *Plus和iSQL *Plus连接Oracle服务器

Oracle数据库网络配置成功之后,就可以使用Oracle工具连接和使用数据库了。SQL *Plus是最常用的Oracle查询工具,要求用前面练习创建的用户登录数据库,以创建应用系统的表。

2.实验要求

根据实验内容指定的要去完成实训,并提交实训结果。

实验2 SQL查询和SQL函数(2学时)

一、目标

1.能够构造select语句

2.能够测试SQL操作符

3.能够使用SQL函数

二、实验内容及要求

1.实验内容

(1)测试ROWID和ROWNUM伪列

用户表因为没有建立主键约束而插入了重复的记录,为了解决数据冗余问题,必须删除表中重复的记录。用户应用程序只关心查询结果集中的一部分,需要限制查询返回的行数。

1)启动SQL *PLUS。

创建表myt_est:

CREATE TABLE my_test (

id NUMBER(3),

name V ARCHAR2(20) );

2)向表中插入5条完全相同的命令。

INSERT INTO my_test V ALUES (1, 'This is line 1');

INSERT INTO my_test V ALUES (1, 'This is line 1');

INSERT INTO my_test V ALUES (1, 'This is line 1');

INSERT INTO my_test V ALUES (1, 'This is line 1');

INSERT INTO my_test V ALUES (1, 'This is line 1');

COMMIT;

查看表中记录:SELECT * FROM my_test;

3)测试ROWID伪列。

要求查看伪列、id、name,并利用伪列删除第三行记录,再执行查询语句:SELECT ROWNUM, id, name FROM my_test; 查看第三行记录是否被删除。

4)测试ROWNUM伪列。

使用ROWNUM限制查询ROWNUM<3的行数。

(2)构造select语句

创建表employee:

CREATE TABLE employee (

empno V ARCHAR2(5) PRIMARY KEY,

ename V ARCHAR2(25),

designation V ARCHAR2(20),

dateofjoining DATE,

branchcode V ARCHAR2(15) REFERENCES Branch_Details (branchcode), deptcode V ARCHAR2(15) REFERENCES Dept_Details (deptcode) );

INSERT INTO employee V ALUES ('E001', 'John Smith' , 'Manager', '1-2月-1998', 'BH01', 'DP02');

插入多条记录:

INSERT INTO employee V ALUES ('E002', 'Jane', 'Sales Manager','1-6月-2001', 'BH02', 'DP02');

INSERT INTO employee V ALUES ('E003', 'Harry ', 'Accountant', '1-11月-2003', 'BH03', 'DP01');

INSERT INTO employee V ALUES ('E004', 'JOE', 'Accountant', '1-12月-2002', 'BH03', 'DP03');

INSERT INTO employee V ALUES ('E005', 'Michael', 'Manager', '1-1月-1999',

'BH03', 'DP02');

INSERT INTO employee V ALUES ('E006', 'Jack Aranck', 'Sales Manager', '1-2月-2003', 'BH05', 'DP01');

INSERT INTO employee V ALUES ('E007', 'George', 'Sr. Accountant', '1-11月-2004', 'BH05', 'DP03');

INSERT INTO employee V ALUES ('E008', 'John Aranck' , 'Sr. Accountant', '1-2月-2005', 'BH01', 'DP02');

职员表employee中的信息需要做较大的调整,在调整之前要先对表中的总要记录做一个副本。查询职员信息时需要指定各个列的别名,如以中文名称做标题等。(3)测试SQL操作符

检查表Salary_Records的描述:

CREATE TABLE Salary_Records (

empno V ARCHAR2(5) REFERENCES Employee(empno),

working_Days NUMBER,

empsal NUMBER );

公司的财务部需要检查员工的工资,请使用SQL操作符编写语句,检索工资在15000到20000元之间的职员的信息。

(4)使用连接操作符

创建表order_master:

CREATE TABLE ORDER_MASTER (

ORDERNO V ARCHAR2(5) PRIMARY KEY,

ODATE DA TE,

VENCODE V ARCHAR2(5),

OSTATUS CHAR(1),

DEL_DATE DATE );

INSERT INTO ORDER_MASTER V ALUES ('O001', '12-8月-08', 'V001','y','22-8月-08');

INSERT INTO ORDER_MASTER V ALUES ('O002', '5-7月-08', 'V008','n','6-7月-08');

INSERT INTO ORDER_MASTER V ALUES ('O003', '12-9月-08', 'V012','n','22-9月-08');

COMMIT;

销售经理想查看vencode为V008的供应商的订单状态,要求使用连接操作符编写查询语句,使ORDERNO、ODATE、DEL_DATE在同一列显示,而非分列显示。

(5)使用集合操作符

要求编写语句以显示vendor_master和order_master表中不重复的vencode 列值,只列出ostatus为“c”的vencode。

(6)使用SQL日期函数

公司决定提升2003年前半年之前就职的职员。要求显示职员的就职年度,如果日期晚于“01-7月-2003”,则四舍五入到下一年。编写语句以显示2003年7月1日之前就职职员的详细信息。

2.实验要求

根据实验内容指定的要去完成实训,并提交实训结果。

实验3 锁和表分区(2学时)

一、目标

1.能够理解锁定的概念

2.能够测试行级锁

3.能够测试共享锁和行共享锁

4.能够创建表分区

二、实验内容及要求

1.实验内容

(1)测试行级锁

先创建表空间GITM,再创建用户:ACCP,密码:ACCP,用ACCP登陆SQL *PLUS、

CREATE TABLE employee (

empno V ARCHAR2(5) PRIMARY KEY,

ename V ARCHAR2(25),

designation V ARCHAR2(20),

dateofjoining DATE,

branchcode V ARCHAR2(15),

deptcode V ARCHAR2(15) );

INSERT INTO employee V ALUES ('E001', 'John Smith' , 'Manager', '1-2月-1998', 'BH01', 'DP02');

INSERT INTO employee V ALUES ('E002', 'Jane', 'Sales Manager','1-6月-2001', 'BH02', 'DP02');

INSERT INTO employee V ALUES ('E003', 'Harry ', 'Accountant', '1-11月-2003', 'BH03', 'DP01');

INSERT INTO employee V ALUES ('E004', 'JOE', 'Accountant', '1-12月-2002', 'BH03', 'DP03');

INSERT INTO employee V ALUES ('E005', 'Michael', 'Manager', '1-1月-1999', 'BH03', 'DP02');

INSERT INTO employee V ALUES ('E006', 'Jack Aranck', 'Sales Manager', '1-2月-2003', 'BH05', 'DP01');

INSERT INTO employee V ALUES ('E007', 'George', 'Sr. Accountant', '1-11月-2004', 'BH05', 'DP03');

INSERT INTO employee V ALUES ('E008', 'John Aranck' , 'Sr. Accountant', '1-2月-2005', 'BH01', 'DP02');

授予SCOTT用户更新EMPLOYEE表的权限。

grant all on employee to scott;

ACCP用户执行下列命令:

select * from employee where empno=’E006’ for update;

update employee set designation=’Accountant’ where empno=’E006’;

打开SQL PLUS的另一个实例,以SCOTT身份登陆并更新employee表的E006行。

update ACCP.employee SET designation=’Accountant’where empno=’E006’;

这时候更新不成功,因为该行被ACCP用户锁定。需等ACCP用户释放该锁。

切换到ACCP用户,执行COMMIT命令。

再切回SCOTT用户,执行更新操作。

(2)测试共享锁

案例:GITM公司人力资源部的职员每个周末都要对employee表进行统计以形成周报表。因为统计报表需要较长的时间,为了保证表的一致性,不希望在统计的时间段里有记录的更新。使用什么方法能达到此效果?

分析:采用共享锁。共享锁锁定表,仅允许其他用户查询表中的行,但不允许插入、更新或删除行。多个用户可以同时在同一表中放置共享锁,即允许资源共享,因此得名“共享锁”。在此案例中,通过共享锁,人力资源部的职员读取表employee进行统计,那么其他用户无法更新该表。在统计完成之后释放锁定,其他用户就可以进行更新了。

1)启动SQL *PLUS,以ACCP身份登录,执行以下命令来锁定employee 表。

SQL> lock table employee in share mode;

2)打开SQL *PLUS的另一个实例,以SCOTT用户身份登录,执行下列语句。

SQL>delete from accp.employee where empno='E005';

此时,SQL *PLUS停止响应删除操作等待释放锁。

3)切换到第一个SQL *PLUS实例并提交事务。

SQL>COMMIT;

4)此时,SCOTT用户的删除操作得到响应,并成功返回。执行以下命令取消删除。

SQL>ROLLBACK;

5)以SCOTT用户身份锁定employee表。

SQL>LOCK TABLE accp.employee IN SHARE MODE;

6)再以ACCP用户身份锁定employee表。

SQL>LOCK TABLE employee IN SHARE MODE;

此时,表employee被两个用户同时锁定,所有用户都不能在此表上执行更新操作。当所有用户执行COMMIT命令或ROLLBACK命令结束事务时,所才会被释放。

(3)测试行共享锁

案例:GITM公司的多个部门都需要访问和更新employee表,这些用户都有权限更新表的行,但是有的用户使用了独占锁定表,使其他用户无法更新此表。如何避免这种情况?

分析:可以通过使用行共享锁来限制其他用户独占访问表。以行共享方式锁定表时,允许多个用户同时更新同一表中的不同行。

1)在ACCP模式中执行下列命令,以行共享模式来锁定employee表。SQL>LOCK TABLE employee IN ROW SHARE MODE;

2)通过输入下列命令来更新employee表。

SQL>UPDATE employee SET ename='pam' WHERE empno='E001';

3)打开SQL *PLUS的另一个实例SCOTT,然后更新employee表中的记录。

SQL>UPDATE employee SET ename='Sam' WHERE empno='E003';

4)执行以下语句,尝试独占锁定employee表。

SQL>LOCL TABLE ACCP.employee IN EXCLUSIVE MODE NOW AIT;

(4)创建范围分区

创建employee_details表,包含employee_id, ename, dateofjoining, deptname, branchname和branchcode等列,根据职员的就职日期对employee表进行分区。

create table employee_details(

emp_id varchar2(5),

ename varchar2(25),

job varchar2(20),

dateofjoining date )

partition by range(dateofjoining)

( partiton doj1 values less than(to_date('01/04/2001','DD/MM/YYYY')),

partiton doj2 values less than(to_date('01/07/2003','DD/MM/YYYY')),

partiton doj3 values less than(to_date('01/09/2004','DD/MM/YYYY')),

partiton doj4 values less than(to_date('01/10/2005','DD/MM/YYYY')) );

1)执行下列语句向分区表中插入测试记录。

SQL>INSERT INTO employee_details

SELECT empno,ename,designation,dateofjoining

FROM employee;

2)执行下列语句查询分区doj4中的记录。

SQL>SELECT * FROM employee_details partition(doj4);

(5)创建散列分区

问题:GITM公司的销售部需要根据产品编号分析每个月的销售记录。要求在monthly_sales表中创建散列分区快速完成次工作。

create table monthly_sales(

product_id varchar2(5) not null,

sales_date date not null,

sales_cost number )

partiton by hash(product_id)

( partiton pid1,

partiton pid2,

partiton pid3 );

2.实验要求

根据实验内容指定的要去完成实训,并提交实训结果。

实验4 数据库对象(2学时)

一、目标

1.能够创建和使用同义词

2.能够创建和使用序列

3.能够创建和使用视图

4.能够创建各种类型的索引

二、实验内容及要求

1.实验内容

(1)创建同义词

问题:为表“ticket_header”创建一个名为“tick”的同义词。

1)创建表空间GITM,创建用户ACCP,密码ACCP。以ACCP用户身份登陆SQL *PLUS。

2)在SQL提示符下执行语句:

create table ticket_header(

fleet_id number(5),

ticket_no varchar2(6),

origin varchar2(6),

destination varchar2(6),

adults number(1) );

3)执行语句:create synonym tick for ticket_header;

提示:create synonym为创建同义词的关键词。

(2)创建公有同义词

问题:要求所有用户都能够访问ticket_header表而不必知道该表属于哪个用户,请实现。

分析:oracle支持两种类型的同义词:私有同义词、公有同义词。私有同义词只能由创建它的用户所使用;公有同义词可以由数据库中所有的用户使用。练习1中创建的是私有同义词。要创建公有同义词必须拥有相应的权限。

1)在用户ACCP下执行语句:

create public synonym pub_tick for ticket_header;

提示:create public synonym为创建公有同义词的关键词。

执行上面语句,oracle将显示“权限不足”的提示消息。

2)再以system用户身份登陆到oracle数据库。执行语句:

create public synonym pub_tick for accp.ticket_header;

3)以ACCP用户登陆,执行语句:

select * from pub_tick;

(3)删除同义词

问题:将练习2中创建的同义词tick删除

1)以用户ACCP登陆,执行语句:drop public synonym pub_tick;

Oracle将提示“权限不足”。

提示:这是因为删除公有同义词必须拥有“drop public synonym”权限。而ACCP用户不具有该权限。

2)在ACCP用户下,执行语句:drop synonym tick;

(4)创建序列

问题:请创建一个名为“new_seq”的序列。要求:初始值为25,每次增加2,达到75时,又从25重新开始。

提示:初始值25—— start with 25

每次增加2—— increment by 2

达到75,也就是说最大值为75—— maxvalue 75

那么最小值就是25—— minvalue 25

达到75后,又从25重新开始,也就是说该序列可以循环计数—— cycle 执行下面语句:

create sequence new_seq

increment by 2

start with 25

maxvalue 75

minvalue 25

cycle

nocache ;

(5)访问序列

提示:Oracle提供了两个伪列,可以用来访问伪列的值—— currval和nextval

currval返回的是序列的当前值;nextval返回的是下一个序列值

在练习4完成的基础上,执行语句:

1)select new_seq.nextvalue from dual;

2)select new_seq.currvalue from dual;

(6)更改序列

1)在SQL提示符下执行下列语句:

ALTER SEQUENCE new_seq INCREMENT BY 5;

2)执行下列语句查看所作的修改:

SELECT new_seq.NEXTV AL FROM dual;

(7)删除序列

DROP SEQUENCE new_seq;

(8)创建视图

问题:用户经常只需要显示“fleet_header”表的day列和route_id列,请给出解决方案。

1)先创建基表

CREATE TABLE fleet_header (

day date, name varchar2(20), route_id number(5) );

2)创建视图

CREATE VIEW fleet( day, route_id) AS SELECT day, route_id FROM fleet_header;

3)访问视图

SELECT * FROM fleet;

(9)修改视图定义

将练习8中所创建的视图,修改为显示“fleet_header”表中所有的列。

CREATE OR REPLACE VIEW fleet AS SELECT * FROM fleet_header;

(10)创建带有错误的视图

在并不存在的表“product”上创建错误视图:

CREATE FORCE VIEW myview AS SELECT * FROM produce; (11)删除视图

DROP VIEW myview;

(12)创建索引

问题:如何在ticket_header表(练习1中已经创建了该表,不需重复创建)的adults列上创建名为”a_index”的索引。

CREATE INDEX a_index ON ticket_header(adults);

(13)创建唯一索引

在表place_header的place_name列上创建名为“place_ind”的唯一索引。

CREATE TABLE place_header (

place_id number primary key,

place_name varchar2(20),

bus_station varchar2(20) );

CREATE UNIQUE INDEX place_ind ON place_header(place_name);

2.实验要求

根据实验内容指定的要去完成实训,并提交实训结果。

实验5 使用PL/SQL(2学时)

一、目标

1.理解逻辑比较的意义

2.能使用各种控制结构

3.能编写错误处理程序

二、实验内容及要求

1.实验内容

(1)使用条件控制

问题:由于工程取得巨大成功,GITM公司决定向员工发放奖金。奖金根据职员所在部门的代码来计算。如果部门代码为“DP01”,奖金为2000元;部门代码为“DP02”,奖金为1700元;部门代码为“DP03”,奖金为1500元,请设计解决方案。

reate table salary_records(

empcode varchar2(10),empname varchar2(30),deptcode varchar2(20),empsal number );

insert into salary_records values('E001','Jacica','DP01',1000);

insert into salary_records values('E002','Smith','DP02',1500);

insert into salary_records values('E003','Marke','DP03',2000);

SET SERVEROUTPUT ON

DECLARE

DPTCODE V ARCHAR2(15);

EMP_CODE V ARCHAR2(10);

SALARY NUMBER;

BEGIN

SELECT DEPTCODE, EMPCODE, EMPSAL INTO DPTCODE, EMP_CODE, SALARY FROM SALARY_RECORDS WHERE EMPCODE='&EMPID'

FOR UPDATE OF EMPSAL;

IF DPTCODE='DP01' THEN

UPDATE SALARY_RECORDS SET EMPSAL = SALARY + 2000 WHERE

EMPCODE= EMP_CODE ;

ELSIF DPTCODE = 'DP02' THEN

UPDATE SALARY_RECORDS SET EMPSAL = SALARY + 1700 WHERE EMPCODE = EMP_CODE;

ELSIF DPTCODE = 'DP03' THEN

UPDATE SALARY_RECORDS SET EMPSAL = SALARY + 1500 WHERE EMPCODE= EMP_CODE;

END IF;

COMMIT;

END;

(2)使用循环控制

请编写一个程序,用以接受用户输入的学生编号和课程。在course_details表中插入详细信息。在course_details表中插入由用户分5次输入的详细信息。每次在表中插入记录时,学生编号都应增加1。

DECLARE

courserec course_details%ROWTYPE;

counter NUMBER:=0;

BEGIN

courserec.sid:=&student_id;

courserec.course:='&Course_name';

WHILE counter < 5

LOOP

INSERT INTO course_details

values(courserec.sid,courserec.course);

counter:=counter+1;

courserec.sid:=courserec.sid+1;

END LOOP;

END;

/

(3)使用预定义异常

公司通过employee表维护员工记录,此表包含职员的信息,如职员编号、职员姓名和职员职称等。要求编写一段PL/SQL代码,用以接受职员编号并检索职员姓名。将职员姓名存储在变量empname中。如果代码引发V ALUE_ERROR异常,则向用户显示错误消息。

(4)引发应用程序错误

要求编写一个程序,用以接受用户输入的职员编号、工资和部门代码。如果部门代码为“DP01”且工资高于10000元,则更新职员的工资。如果工资低于10000元,则显示消息“工资低于10000元”。

2.实验要求

根据实验内容指定的要去完成实训,并提交实训结果。

实验6 游标管理(2学时)

一、目标

能够使用游标

二、实验内容及要求

(1)隐式游标的工作原理

问题:公司的经理想根据职员编号查看其所在部门的名称,部门名称存储在dept_details表中。请编写一段代码以接受职员编号并显示相应的部门名称。

假设职员表格employee如下所示,有8条记录:

create table employee

( empno varchar2(5),

ename varchar2(25),

designation varchar2(20),

dateofjoining date,

branchcode varchar2(15),

deptcode varchar2(15) );

insert into employee values ('e001', 'john smith' , 'manager', '1-2月-1998', 'bh01', 'dp02');

insert into employee values ('e002', 'jane', 'sales manager','1-6月-2001', 'bh02', 'dp02');

insert into employee values ('e003', 'harry ', 'accountant', '1-11月-2003', 'bh03', 'dp01');

insert into employee values ('e004', 'joe', 'accountant', '1-12月-2002', 'bh03', 'dp03'); insert into employee values ('e005', 'michael', 'manager', '1-1月-1999', 'bh03', 'dp02'); insert into employee values ('e006', 'jack aranck', 'sales manager', '1-2月-2003', 'bh05', 'dp01');

insert into employee values ('e007', 'george', 'sr. accountant', '1-11月-2004', 'bh05', 'dp03');

insert into employee values ('e008', 'john aranck' , 'sr. accountant', '1-2月-2005', 'bh01', 'dp02');

表格dept_details,有3条记录如下所示:

create table dept_details

(deptcode varchar2(15),

deptname char(15) ) ;

insert into dept_details values ('dp01','marketing');

insert into dept_details values ('dp02','sales');

insert into dept_details values ('dp03','accountants');

SET SERVEROUTPUT ON

DECLARE

deptnm V ARCHAR2(25);

dept_code V ARCHAR2(10);

BEGIN

SELECT deptcode INTO dept_code

FROM employee WHERE empno='&Employee_Number';

SELECT deptname INTO deptnm

FROM dept_details WHERE deptcode = dept_code;

DBMS_OUTPUT.PUT_LINE('部门名称:');

DBMS_OUTPUT.PUT_LINE('-------------');

DBMS_OUTPUT.PUT_LINE(deptnm);

EXCEPTION

WHEN NO_DATA_FOUND THEN

DBMS_OUTPUT.PUT_LINE('职员不存在');

END;

(2)显式游标的工作原理

问题:公司的助理销售经理想将总净价大于2000元项目的项目编号和总价值单独存储在totalworth表中。要求编写一段代码可以显示总净价大于2000元的项目编号和总价值。要求利用表格itemfile完成要求。

表格itemfile如下所示:

create table itemfile (

itemcode varchar2(4),

itemdesc varchar2(20),

p_category varchar2(20),

qty_hand number(5),

re_level number(5),

max_level number(5),

itemrate number(7,2) );

insert into itemfile values('i201','nuts','spares',100,50,250,20);

insert into itemfile values('i202','bolts','spares',95,125,300,16.5);

insert into itemfile values('i204','holders','spares',18,30,75,112);

insert into itemfile values('i205','covers','accessories',30,15,50,400);

insert into itemfile values('i203','panels','accessories',75,30,150,4000);

insert into itemfile values('i206','brackets','spares',150,73,200,132);

commit;

create table totalworth

(

ITEMCODE V ARCHAR2(5),

TOTAL_WORTH NUMBER

);

DECLARE

itemrec itemfile%ROWTYPE;

CURSOR itemcursor IS SELECT * FROM itemfile;

BEGIN

OPEN itemcursor;

FETCH itemcursor INTO itemrec;

WHILE itemcursor%FOUND

LOOP

FETCH itemcursor INTO itemrec;

IF itemrec.ITEMRATE * itemrec.QTY_HAND > 2000 THEN

INSERT INTO totalworth V ALUES

(itemrec.itemcode,itemrec.ITEMRATE * itemrec.QTY_HAND);

END IF;

END LOOP;

CLOSE itemcursor;

END;

(3)循环游标工作原理

问题:公司的总经理想要查询各个部门的所有职员的姓名。要求编写一段代码以显示部门名称和此部门的所有职员姓名。用循环游标实现。

表格dept_details各个部门的信息:

create table dept_details

(deptcode varchar2(15) ,

deptname char(15) ) ;

insert into dept_details values ('dp01','marketing');

insert into dept_details values ('dp02','sales');

insert into dept_details values ('dp03','accountants');

表格employee存储职员的详细信息:

create table employee

( empno varchar2(5),

ename varchar2(25),

designation varchar2(20),

dateofjoining date,

branchcode varchar2(15) ,

deptcode varchar2(15) );

insert into employee values ('e001', 'john smith' , 'manager', '1-2月-1998', 'bh01', 'dp02');

insert into employee values ('e002', 'jane', 'sales manager','1-6月-2001', 'bh02', 'dp02');

insert into employee values ('e003', 'harry ', 'accountant', '1-11月-2003', 'bh03', 'dp01');

insert into employee values ('e004', 'joe', 'accountant', '1-12月-2002', 'bh03', 'dp03'); insert into employee values ('e005', 'michael', 'manager', '1-1月-1999', 'bh03', 'dp02'); insert into employee values ('e006', 'jack aranck', 'sales manager', '1-2月-2003', 'bh05', 'dp01');

insert into employee values ('e007', 'george', 'sr. accountant', '1-11月-2004', 'bh05', 'dp03');

insert into employee values ('e008', 'john aranck' , 'sr. accountant', '1-2月-2005', 'bh01', 'dp02');

SET SERVEROUTPUT ON

BEGIN

FOR dept_details IN (SELECT deptcode, deptname

FROM dept_details)

LOOP

DBMS_OUTPUT.PUT_LINE('部门');

DBMS_OUTPUT.PUT_LINE('-----------');

DBMS_OUTPUT.PUT_LINE(dept_details.DEPTNAME);

FOR employee in (SELECT empno, ename

FROM employee

WHERE DEPTCODE = DEPT_DETAILS.DEPTCODE)

LOOP

DBMS_OUTPUT.PUT_LINE('职员:'||employee.ENAME);

END LOOP;

END LOOP;

END;

Oracle实验报告

Oracle数据库实验报告 实验一:Oracle 10g安装卸载及相关工具配置 一、实验目标: 安装Oracle 10g,了解OEM,通过DBCA安装数据库,通过DBCA删除数据库,sqldeveloper连接数据库,卸载oracle 10g。 二、实验学时数 2学时 三、实验步骤和内容: 1、安装Oracle10g(默认安装数据库) 双击setup.exe, 选择基本安装,安装目录D:盘,标准版,默认数据库orcl,口令bhbh。 进入先决条件检查界面时:网络配置需求选项不用打勾,直接下一步,是。 直到安装成功。 2、登陆和了解OEM 主要是已网页的形式来对数据库进行管理。

http://主机IP:1158/em 用户名:sys 口令:bhbh 身份:sysdba 或者 用户名:system 口令:bhbh 身份:normal 3、通过DBCA删除已安装的默认数据库orcl 程序->Oracle - OraDb10g_home1->配置和移植工具->Database Configuration Assistant->删除数据库->…… 4、通过DBCA安装数据库xscj 程序->Oracle - OraDb10g_home1->配置和移植工具->Database Configuration Assistant->创建数据库->…… 5、sqldeveloper连接数据库 打开sqldeveloper,新建连接 连接名:system_ora 用户名:system 口令:bhbh 主机名:本机计算机名 SID:xscj 测试,显示成功,连接,保存。

6、卸载oracle 10g Windows下 1>停止所有Oracle服务,点Universal Installer卸载 2>删除注册表中的所有关于Oracle项 在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录 3>删除硬盘上所有Oracle文件。 (1)Oracle安装文件 (2)系统目录下,在Program files文件夹中的Oracle文件 四、上机作业 根据实验步骤完成逐个实验目标中的任务。 五、心得体会 通过这次的实验,我了解了oracle数据库的情况。懂得了数据库就是把数据存储在一个类似与仓库的地方,需要用时才从数据库里调出来。通过上机实践,知道了装数据库和卸载数据库,并且学会了怎样连数据库。 实验二:Oracle 10g手工建数据库 一、实验目标: 安装Oracle 10g数据库环境,手工建立数据库;通过Net Configuration Assistant建立监听,使用sqldeveloper连接数据库测试。 二、实验学时数 2学时 三、实验步骤和内容: 先安装好Oracle 10g数据库环境(不安装默认数据库)。 1.创建好相关的目录

ORACLE数据库结构与设计大实验指导书

ORACLE数据库结构与设计实验指导书 实验目的 本实验的目的在于巩固对ORACLE数据库管理系统的理解,掌握数据库应用系统设计开发的基本方法,进一步提高综合运用所学知识的能力。 实验的内容与要求 要求5-7人一组,自愿结合,每组完成oracle安装及从下列项目中选择一个项目,完成实验的相应内容,建议未曾使用过ORACLE数据库管理系统的同学选择oracle安装及项目C。 具体要求 根据选定的项目名称,每组最终提交一份规范的实验设计报告。实验设计报告不少于8000字。封面含:课程名称、实验题目、班级、姓名、学号、指导教师、设计日期。正文含:项目描述、设计与开发过程、本人(组)收获等。 各项目具体要求见下面: A 信息发展有限公司“工作任务督办”需求说明书 1背景与现状 1.1建设背景 目前总经理每季度下达各部门(事业部)的工作任务,由总经理助理进行监督落实。由于监督反馈过程未进行信息化管理,需要总经理助理反复提醒、催办才能得到各项工作任务的当前办理情况信息,其中沟通、协调的成本很高。本系统开发的目的就是要实现工作任务督办过程的动态跟踪管理,提高工作效率。 1.2本项目的系统环境 公司现有一套办公自动化系统,已正常运行2年,该系统采用J2EE技术开发,架构在A 公司系统管理平台之上。?工作任务督办?开发完成之后将作为办公自动化系统的一个模块嵌入在其中,因此需要实现两者的整合。

现有办公自动化系统采用Windows 2000 Server操作系统、Oracle9i数据库、Tomcat4.1应用服务器。为了有效实现新开发模块和现有系统的整合,要求?工作任务督办?采用和现有办公自动化系统相同的部署环境。 2功能需求 2.1流程分析 工作任务督办流程如下所示: 工作任务督办流程 2.2用户角色分析 本系统的用户为公司中高层管理人员,大致可以分成以下三种角色: 1.总经理助理:登记工作任务,并将其分配给部门(事业部)分管总监;并可以对所 有工作任务的办理情况进行汇总查询、输出报表; 2.分管总监:只能看到分配给自己的工作任务,既可以将工作任务进一步分配给下属 部门经理,也可以自己进行反馈,还可以对下属部门经理提交的反馈意见进行补充 修改;反馈之后提交给总经理助理; 3.部门经理:只能看到分配给自己的工作任务,并对任务的办理情况进行反馈;反馈 之后提交给分管总监。

实验2 Oracle数据库体系结构_V2013

实验2 Oracle数据库体系结构 【实验目的与要求】 ?熟悉Oracle数据库的物理结构 ?理解Oracle的工作机制 ?理解Oracle的软件结构 【实验内容与步骤】 2.0 实验准备 以系统管理员身份登入到数据库。 2.1 物理存储结构 2.1.1 获取Oracle数据库各类物理文件信息 1.数据文件 数据文件的详细信息记录在数据字典视图V$DataFile中,可通过查询语句获取数据文件相关信息。 查看数据文件名称:可通过如下查询语句查看数据文件名称和存放位置 请给出运行结果截图:

练习:用desc命令查看V$datafile视图的结构,并试着查询更详细的信息。 2.操作数据文件 (1) 创建数据文件 Oracle中,创建数据文件即是借用Alter Tablespace…ADD…语句,将数据文件添加挂接到指定的表空间中。 为USERS表空间添加一个数据文件,名称为USERS_XX.DBF(XX为学号最后两位),大小为20MB。如: 请给出运行结果截图:

打开指定目录(即C:\),查看是否存在文件USERS_XX.DBF? 请给出结果截图: 查询V$datafile视图,获取数据文件USERS_XX.DBF大小、位置等相关信息。 请给出结果截图: (2) 创建数据文件 修改数据文件使用Alter Database Datafile…命令。 修改USERS表空间中的USERS_XX.DBF为自动扩展方式,每次扩展5MB,最大为100MB。如: 请给出结果截图: 查询V$datafile视图,获取数据文件USERS_XX.DBF大小、扩展方式、位置等相关信息。确定数据文件是否修改。 请给出结果截图: (3) 重命名数据文件: 重命名数据文件使用alter tablespace …Rename datafile…命令。 将表空间USERS中的数据文件USERS_XX.DBF更名为UserData_XX.dbf。

生物化学课程实验指导书

〈〈生物化学》实验指导书适用专业:生物技术、生物工程、食品科学与工程 生物与食品工程学院生物科学系

生物化学实验细则 为了保证生物化学实验的顺利进行,培养同学们掌握良好、规范的生物化学基本实验技能,特制定以下实验细则,请同学们严格遵守。 1. 实验前应提前预习实验指导书并复习相关知识。 2. 严格按照生物化学实验分组,分批进入实验室,不得迟到。非本实 验组的同学不准进入实验室。 3. 进入实验室必须穿实验服。各位同学进入各白实验小组实验台后, 保持安静,不得大声喧哗和嬉戏,不得无故离开本实验台随便走动。 绝对禁止用实验仪器或药物开玩笑。 4. 实验中应保持实验台的整洁,废液倒入废液桶中,用过的滤纸放入 垃圾桶中,禁止直接倒入水槽中或随地乱丢。 5. 实验中要注意节约药品与试剂,爱护仪器,使用前应了解使用方法, 使用时要严格遵守操作规程,不得擅白移动实验仪器。否则,因非实验性损坏,由损坏者赔还。 6. 使用水、火、电时,要做到人在使用,人走关水、断电、熄火。 7. 做完实验要清洗仪器、器皿,并放回原位,擦净桌面。 8. 实验后,要及时完成实验报告。 2006年1月

生物化学实验细则 (i) 目录 (2) 实验1蛋白质的沉淀、变性反应 (3) 实验2醋酸纤维素薄膜电泳分离血清蛋白 (6) 实验3 SDS-聚丙烯酰胺凝胶电泳测定蛋白质分子虽- --11实验4 凝胶过滤层析法测定蛋白质分子虽 (16) 实验5 DNA的琼脂糖凝胶电泳 (20) 实验6唾液淀粉酶的性质和活力测定 (24) 实验7 生物氧化与电子传递 (25) 实验8植物体内的转氨基作用 (27) 实验1 蛋白质的沉淀、变性反应 (3学时) 目的要求 1. 加深对蛋白质胶体溶液稳定因素的认识。 2. 了解沉淀蛋白质的几种方法及其实用意义。 3. 了解蛋白质变性与沉淀的关系。 4. 了解蛋白质两性性质 原理 在水溶液中,蛋白质分子表面形成水化层和双电层而成为稳定的胶体颗粒,所以蛋白质溶液和其他亲水胶体溶液相类似。但是,蛋白质胶体颗粒的稳定性是有条件的,相对的。在一定的物理化学因素影响下,蛋白质颗粒失去电荷,脱水,甚至变性,则以固态形式从溶液中析出,这个过程称为蛋白质的沉

Oracle 数据库上机试验指导2(答案)

实验二代码参考: 1.-- 创建学生表 create table student ( studid char(6) primary key, studname varchar2(16) not null, gender char(4) check(gender in('男','女')), addr varchar2(256) ); -- 创建课程表 create table course ( courseid char(6) primary key, coursename varchar2(32) not null unique, teacher varchar2(16) , score number check(score in (1,3,5)) ); -- 创建选课表 create table courSelc ( recid number(4) primary key, studid char(6), courseid char(6), score number(2) check(score >=0 and score <=100), constraint fk_stud foreign key(studid) references student(studid), constraint fk_cour foreign key(courseid) references course(courseid) ); 2. alter table student modify studName null; 3.1 alter table course modify courseName null; 3.2 alter table course add examdate date; 4.insert into course values('M1001','数学','奥巴马','3',to_date('2012-1- 1','yyyy-mm-dd')); insert into course values('J2002','军事理论','拿破仑','5',to_date('2012-1-1','yyyy-mm-dd'));

实验十一Oracle数据库备份与恢复

实验十一Oracle数据库备份与恢复 【实验目的与要求】 1. 常见数据备份与恢复的方法 2.学会Oracle备份方案的制定 【实验内容与步骤】 1. Oracle物理备份与恢复 准备工作: (1)查看数据库是否运行于归档模式下: 请给出查询的结果: (2)关闭数据库,做一个完全的冷备份。 提示: a.使用shutdown命令关闭数据库; b.复制数据文件、日志文件和控制文件到安全地方 (3) 把数据库改为归档模式 设置成自动归档 SQL> alter system set log_archive_start = true scope=spfile;

注意:本实验中的很多命令路径参数需根据自己的实现环境做出修改!! 实验11-1 数据库系统数据文件和回退段遭破坏的情况下的恢复。此时数据库的状态是关闭的。 (1)先启动数据库,创建新用户scott,并用scott用户建立test表,并插入两条数据。创建表空间的四个步骤: /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\ user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:创建数据表空间 */ create tablespace user_data logging datafile 'D:\ user_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第3步:创建用户并指定表空间 */ create user scott identified by tiger default tablespace user_data temporary tablespace user_temp; /*第4步:给用户授予权限 */ grant connect,resource,dba to scott; SQL> create table test (id int,name varchar2(10)); 表已创建。 SQL> insert into test values(1001,’zhangfei’); 已创建 1 行。 SQL> insert into test values(1002,’guanyu’); 已创建 1 行。 SQL> commit; 提交完成。 (2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。 SQL> shutdown abort

工业控制网络技术课程实验指导书2013

实 验 一 Automation Studio 的使用和基本程序编程及调试 一、实验目的 1、掌握Automation Studio 的基本使用技巧和方法 2、熟悉Automation Studio 的基本命令 3、学会和掌握Automation Studio 程序的调试方法 二、实验设备 PC机一台,装有Automation Studio编程软件;贝加莱PLC-2003一台; 各PC机与PLC-2003通过RS232电缆连接进行通信。 详见附录一。 三、实验内容 熟悉并练习Automation Studio的使用,用选定的编程语言编制、调试控制程序。Automation Studio是贝加莱公司为其自动化控制设备PLC(可编程计算机控制器)开发的一种可使用多种编程语言的PLC开发环境,如附录二所示。 1.PLC硬件配置: 根据所给实验装置,使用Automation Studio对系统硬件进行配置。 配置方法见本指导书附录B。 2.实验程序1: 使用Automation Basic或其它PLC编程语言,编制一段小控制程序,实现以下功能:利用实验装置上的第一个模拟量旋钮(电位器),来控制模拟量输

出,当旋转该电位器时,第一个模拟量输出随之变化,旋钮逆时针旋到底时(模拟量输入为最小值0),要求模拟量输出为0(光柱无显示),当旋钮顺时针旋到底时(模拟量输入为最大值32767),要求模拟量输出为最大值(光柱全显示); 同时,第二个模拟量输出的状态正好与第一个模拟量输出相反。 3.实验程序2: 使用Automation Basic或其它PLC编程语言,编制一段小控制程序,实现以下功能:利用实验装置上的两个开关,来控制模拟量输出,当接通(合上)其中一个开关(另一个应处于断开状态)时,第一个模拟量输出从0开始随时间逐渐增大,达到其最大值后,再从0开始…,周而复始;当接通(合上)另一个开关时,第二个模拟量输出从0开始随时间逐渐增大,达到其最大值后,再从0开始…,同时,第二个模拟量输出从其最大值开始随时间逐渐减小,达到0后,再从其最大值开始…,周而复始。 四. 思考题 1.在Automation Studio中为什么要对PLC系统硬件进行配置? 2.为什么要为用户编制的控制程序命名? 3.为用户程序选择循环周期的原则是什么? 4.Automation Studio为用户提供多种编程语言有什么好处?

ORACLE实验指导书

ORACLE实验指导书 1 2020年4月19日

ORACLE数据库技术实验指导书 ORACLE数据库技术实验指导书 目录 实验一 SQL*PLUS用法及SQL语言中的简单查询语句 实验二 SQL语言中的分组查询和连接查询语句 实验三 SQL语言中的子查询及函数的使用 实验四 SQL语言中的数据操纵、事务控制和数据定义语句 实验五 SQL/PL块中SQL命令的使用 实验六 SQL/PL块中流程控制语句、游标、例外处理 实验七数据库触发器、存储过程和存储函数 实验一 SQL*PLUS用法及SQL语言中的简单查询语句 2 2020年4月19日

一、实验目的 1、熟悉SQL语言交互式使用工具SQL*PLUS的使用方法 2、熟悉SQL*PLUS常见命令的功能和使用方法 3、掌握SQL语言中简单查询语句的功能和使用方法 二、实验环境 1、硬件设备:计算机局域网,服务器1台,客户机100台 2、软件系统:Windows Server 网络操作系统,Windows /XP客户机操作系统; Oracle9i服务端数据库系统,客户端工具。 三、实验内容 1、SQL*PLUS的使用 (1) 进入(启动)SQL*PLUS 在Windows环境下,双击SQL*PLUS图标或从程序组找SQL*PLUS ,出现登录窗口 3 2020年4月19日

输入正确的数据库用户名、密码和连接字符串后,若连接数据库成功,则会出现如下提示符:SQL> (2) 退出 SQL*PLUS SQL>exit 则退回到Windows桌面。 (3) 创立表结构:Create table 创立部门登记表dept和雇员登记表emp的结构 SQL> Create table dept ( deptno number(2) not null, dname char(14), loc char(13)); SQL> Create table emp ( empno number(4) not null, ename char(9), 4 2020年4月19日

Oracle 实验4(实验报告)-PL_SQL程序设计

学期 Oracle数据库应用技术 实验报告 选课序号: 班级: 学号: 姓名: 指导教师:史金余 成绩: 2017年月日

目录 1.实验目的 (1) 2.实验内容 (1) 2.1 触发器设计 (2) 2.2 存储过程、自定义函数设计 (2) 2.3 程序包设计 (3) 3.实验步骤 (3) 3.1 创建表空间RESTAURANT,创建用户DINER (3) 3.2 创建餐饮系统数据库的所有表,并向各表插入演示数据 (4) 3.3 完成【实验内容】中的触发器、存储过程、函数和程序包等 功能设计,将程序脚本保存到文本文件Source.sql中 (7) 4.实验总结 (13)

PL/SQL程序设计 1.实验目的 ◆掌握PL/SQL程序设计基本技巧,包括基本数据类型、表类型、数组类 型、匿名程序块、控制语句、PL/SQL中使用SQL语句、游标、错误处 理等。 ◆熟悉和掌握PL/SQL中关于存储过程、函数、包和触发器程序设计技术。 2.实验内容 实验平台:PL/SQL Developer或Oracle的其它客户端管理工具。 某餐饮系统数据库(加粗字段为主键,斜体字段为外键),请创建如下各数据表,并实现如下存储过程、函数、包和触发器等功能设计,将程序脚本保存到文本文件Source.sql中: (1)菜肴类别表MK(菜肴类别编号MKid,菜肴类别名称MkName),菜肴类别名称:鱼类、蔬菜类、凉菜类、肉类、主食类和酒水类等。 (2)菜单信息表MList(菜肴编号Mid,菜肴名称Mname,菜肴类别MKid,菜肴单价Mprice,菜肴成本单价Mcost,更新日期Mdate)。 (3)餐台类别表DK(餐台类别编号DKid,餐台类别名称DkName),餐台类别:包间和散台等。 (4)餐台信息表Dinfo (餐台编号Did,餐台名称Dname,餐台类别DKid,座位数Dseats,更新日期Ddate)。 (5)消费单主表C (消费单号Cid,餐台编号Did,消费开始时间StartTime,结账时间EndTime,消费金额合计Smoney,盈利金额合计SPsum),其中,消费金额合计=消费单明细表CList中该消费单号的所有消费记录的消费金额的合计,即SUM(消费金额)或SUM(菜肴单价×消费数量),盈利金额合计=消费单明细表CList中该消费单号的所有消费记录的盈利合计,即SUM((菜肴单价- 菜肴成本单价)×消费数量)。 (6)消费单明细表CList (消费单号Cid,序号Sid,菜肴编号Mid,菜肴名称Mname,消费数量Cqty,菜肴单价Mprice,菜肴成本单价Mcost,消费金额Cmoney) ,消费金额=消费数量×菜肴单价;消费数量为正数是正常点菜,消费数量为负数是退菜,消费数量为0是赠菜。

数学实验课程实验指导书Word版

《数学实验》课程实验指导书 2006-4-29

目录 实验一、微积分基础 3实验二、怎样计算 5实验三、最佳分数近似值 6实验四、数列与级数 7实验五、素数 8实验六、概率 9实验七、几何变换 11实验八、天体运动 13实验九、迭代(一)——方程求解 15实验十、寻优 16实验十一、最速降线 18实验十二、迭代(二)——分形 20实验十三、迭代(三)——混沌 21实验十四、密码 22实验十五、初等几何定理的机器证明 23附表(实验报告) 24

实验一、微积分基础 一、实验目的及意义:1、熟悉Mathematic软件常见函数图形 2、通过作图,进一步加深对函数的理解,观察函数的性质 3、构造函数自变量与因变量的对应表,观察函数的变化。 二、实验内容: 1.1函数及其图象 1.2数e 1.3 积分与自然对数 1.4调和数列 1.5双曲函数 三、实验步骤 1.开启软件平台——Mathematics ,开启Mathematics编辑窗口; 2.根据各种问题编写程序文件 3.保存文件并运行; 4.观察运行结果(数值或图形); 5.根据观察到的结果写出实验报告,并浅谈学习心得体会 四、实验要求与任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→数学模型→算法与编程→计算结果→分析、检验和结论→心得体会) 1、1函数及图形 (1)在区间[-0.1,0.1]上作出 y = sin(x)/x 的图象,观察图象在 x = 0 附近的形状 (2)在同一坐标系内作出函数y = sin(x) 和它的展开式的前几构成的多项式函数y = x-x^3/3!,y = x-x^3/3!+x^5/5! . . . 的图象,观察这些多项式函数图象对 y = sin x 的图象逼近的情况. (3)分别取n =10,20,画出函数 y = sin(2k-1)x/(2k-1),k=1,2,...,n求和} 在区间[-3PI,3PI]上的图象.当N 趋向无穷时函数趋向什麽函数? (4)别取n = 5,10,15, 在同一坐标系内作出函数f(x) = sin x 与p(x) = x * (1-x^2/PI^2)*(1-x^2/(2^2*PI^2))*...*(1-x^2/n^2*PI^2))在区间[-2PI,2PI]上的图象,观察 p(x) 图象对 y = sin x的图象逼近的情况. 1、2数e 观察当n趋于无穷大时数列a n=(1+1/n)n和A n=(1+1/n)n+1的变化趋势: (1)n=10m,m=1,2,. . . ,7时的值,a n,A n观察变化趋势. (2)在同一坐标系内作出三个函数地图象y=(1+1/10x)10^x , y=(1+1/10x)10^x , y=e观察当 x 增大时

Oracle实验指导书

实验一 Oracle查询工具的使用 一、目的和要求: 1.掌握SQL*Plus工具的使用 2.掌握iSQL*Plus工具的使用 二、实验内容: 1.点击“开始”->“运行”,输入cmd命令进入DOS环境,然后执行SQL PLUS命令登录 数据库,并使用CONNECT命令切换当前的连接用户,具体操作如下: (1) SQL PLUS system/密码 (2) Connect sys/密码 as sysdba (3) Alter user scott account unlock identified by tiger; (4) Connect scott/tiger@orcl (5) Exit 2.在浏览器中输入以下网址: http://localhost:5560/isqlplus 三、分析与思考

实验二 SQL语句基本查询语句 一、实验目的: 1.掌握select语句的基本语法 2.掌握常用函数的使用 3.了解格式化查询结果的常用命令 二、实验内容: 使用scott下的emp表和dept表,完成以下操作: 1.查询部门编号是20的员工信息。 2.查询工作为CLERK的员工的员工号、员工名和部门号。 3.查询奖金COMM高于工资sal的员工信息。 4.查询奖金高于工资20%的员工信息。 5.查询部门编号是10并且工作为MANAGER的员工和部门编号是20并且工作为CLERK 的员工的信息。 6.查询工作不是MANAGER和CLERK,并且工资大于或等于2000的员工信息。 7.查询有奖金的员工信息。 8.查询所有员工的人数和他们的平均工资。 9.查询没有奖金或奖金低于100的员工信息。 10.查询最近两年入职的员工信息。 11.查询工龄大于或等于10年的员工信息。 12.查询员工信息,要求以首字母大写的方式显示所有员工的姓名。 13.查询员工名正好为6个字母的员工信息。 14.查询员工名字中不包含字母S的员工。 15.查询员工姓名的第二个字母为M的员工信息。 16.查询所有员工姓名的前三个字符。 17.查询所有员工的姓名,如果包含字母s,则用S替换。 18.查询员工的的姓名和入职日期,并按入职日期从先到后进行排序。 19.显示所有员工的项目、工作、工资,按工作降序排序,若工作相同则按工资升序排序。 20.显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,若月份相同则 按入职的年份排序。 21.查询每个部门中的员工数量、平均工资和平均工作年限。 22.查询各个部门的人数及平均工资。 23.查询各种工作的最低工资,并输出最低工资低于3000的工作名称。 24.查询各个部门中不同工种的最高工资。 25.统计各个工种的员工人数与平均工资。 三、分析与思考

数据库sqlserver实验报告

实验一熟悉常用的 DBMS:SQL SERVER2008、Oracle 试验内容及要求: (1)了解不同数据库管理系统及不同版本的相应功能特点 目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES。这些产品都支持多平台,如UNIX、VMS、Windows,但支持的程度不一样。IBM的DB2也是成熟的关系型数据库。但是,DB2是内嵌于IBM的AS/400系列机中,只支持OS/400操作系统。 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。 MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。与其他数据库管理系统相比,MySQL具有以下优势: (1)MySQL是一个关系数据库管理系统。 (2)MySQL是开源的。 (3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。 (4)MySQL服务器工作在客户/服务器或嵌入系统中。 (5)有大量的MySQL软件可以使用。 2.SQL Server SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。 目前最新版本是SQL Server2005,它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。 SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,

《Oracle数据库》实验报告

实验二Oracle数据库开发环境下PL/SQL编程(2学时) 【实验目的】 (1)掌握PL/SQL 的基本使用方法。 (2)在SQL*PLUS环境下运行PL/SQL的简单程序。 (3)应用PL/SQL 解决实际问题 【实验内容与步骤】 一、实验内容: 1、用PL/SQL实现:输入eno的值,显示emp表中对应记录的内容。 2、用PL/SQL完成:读入三个数,计算并输出它们的平均值及三个数的乘积。

3、对职工表emp中的雇员SCOTT提高奖金,若工种为MANAGER,则奖金提高其原来的20%;若工种为SALESMAN,则奖金提高其原来的15%;若工种为ANALYST,则奖金提高其原来的10%, 其它都按原来的7%提高。

4、用PL/SQL块实现下列操作 公司为每个职工增加奖金:若职工属于30号部门,则增加$150;若职工属于20号部门, 则增加$250;若职工属于10号部门,则增加$350。(提示:游标请自行阅读相关内容) DECLARE addcomm https://www.wendangku.net/doc/4312374498.html,m%type; CURSOR emp_cursor IS select deptno from emp; BEGIN

FOR emprec IN emp_cursor LOOP IF emprec.deptno=30 THEN addcomm:=150; ELSIF emprec.deptno=20 THEN addcomm:=250; ELSIF emprec.deptno=10 THEN addcomm:=350; END IF; Update emp set comm=comm+ addcomm where deptno= emprec.deptno; END LOOP; COMMIT WORK; END; 实验三PL/SQL触发器和存储过程(2学时) 【实验目的】 (1)了解触发器的类型。 (2)掌握PL/SQL触发器的使用方法。 (3)了解存储过程的使用方法。 (4)掌握存储过程的使用方法。 【实验内容】 实验内容: 1、编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp 表中删除该部门的所有雇员。(要求:emp表、dept表均为复制后的表) CREATE OR REPLACE TRIGGER del_emp_deptno BEFORE DELETE ON dept FOR EACH ROW BEGIN DELETE FROM emp WHERE deptno=:OLD.deptno; END;

操作系统_课程实验指导书

《—操作系统—》 实验指导书 洪朝群编写 适用专业:计算机(嵌入式) 厦门理工学院计算机科学与信息工程学院 2015年9 月

实验指导书前言内容要求 前言 本课程的基本内容介绍,通过学习学生需要掌握的基本知识。 为了使学生更好地理解和深刻地把握这些知识,并在此基础上,训练和培养哪些方面的技能,设置的具体实验项目,其中哪几项实验为综合性、设计性实验。 各项实验主要了解、掌握的具体知识,训练及培养的技能。 本指导书的特点。 对不同专业选修情况说明。

实验一:Linux操作系统的安装过程与界面 实验学时:4 实验类型:验证 实验要求:必修 一、实验目的 通过本实验的学习,使学生掌握Linux操作系统的安装方法,并且了解Linux 界面的基本使用方法。 二、实验内容 实验内容:用vmware workstation安装Ubuntu12.10系统。 三、实验原理、方法和手段 无 四、实验组织运行要求 以学生自主训练为主的开放模式组织教学 五、实验条件 无 六、实验步骤 1、下载Ubuntu12.10桌面版安装镜像, https://www.wendangku.net/doc/4312374498.html,/download/desktop 2、打开vmware,建立虚拟机镜像 3、安装过程参考(“VMWare8.0安装Ubuntu12.04教程.pdf”文件),注意使用虚拟机的时候把镜像文件放在最后一个盘。 4、(可选步骤)如果本机上的wmware版本在安装系统的过程中出现问题,可下载新版进行安装。https://www.wendangku.net/doc/4312374498.html,/d/FWACAQQFRTZQ?p=09122 七、思考题 Linux与Windows有何不同?

《计算机操作系统》实验指导书

《计算机操作系统》 实验指导书 (适合于计算机科学与技术专业) 湖南工业大学计算机与通信学院 二O一四年十月

前言 计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。 为了收到良好的实验效果,编写了这本实验指导书。在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。 实验成绩考核: 实验成绩占计算机操作系统课程总评成绩的20%。指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。有以下情形之一者,实验成绩为不及格: 1.迟到、早退、无故缺勤总共3次及以上者; 2.未按时完成实验达3次及以上者; 3.缺交实验报告2次及以上者。

《计算机应用基础》课程实训指导书(第三版)

广东轻工职业技术学院 《计算机应用基础》课程实训指导书 (第三版) 计算机基础教研室 2009年3月

《计算机应用基础》课程实训指导书 一、目的 通过为一周的实训,巩固本学期所学习的知识,强化的各种基于工作的过程的各种操作技能,进一步培养学生熟练处理Word文档的综合应用、Excel高级数据管理、PowerPoint演示文稿高级制作技巧及Internet网络综合应用能力,并为学生参加计算机水平考试及办公自动化考试作好准备。 二、实训内容提要 1.Word中文处理的综合应用 2.Excel电子表格的综合应用 3.PowerPoint演示文稿的综合应用 4.申请邮箱、收发邮件、Outlook Express的使用 5.信息检索与信息的综合应用 6.利用Serv-U 软件创建与配置FTP站点,实现文件的上传与下载。 7.Web 站点的创建与配置,网页的浏览(选) 三、考核 1.考核方式 操作部分由各部分指导老师现场打分,最后由负责指导老师汇总。 2.成绩评定标准 考核内容包括:成绩评定为100分制。Word 高级应用25%,电子表格综合应用25%,PPT综合应用 10%,Internet操作10%,实操报告(心得体会,遇到的问题,解决办法,收获等)20%(包括考勤),模拟题试题10%. 四、提交实训成果 1.实训成果(作业、作品等) 2.实训报告:按照实训报告模板的格式去写,包括实训中遇到的问题,解决办法,包含一些截图,一周实训的体会、收获及今后努力方向等,文字要在2500字以上。篇幅在4页左右(含截图)。

说明: 1.由于各个班级教学学时及专业的差异性相差很大,而实训内容丰富且有一定难度,而实训的时间较短且集中,因此实训指导老师根据班级实际情况与水平,在指训指导书中挑选实用性强且与计算机水平考试有一定关联的题目进行实训。 2.选择实训的原则: ●在1~10中选择8题 ●11~17中选择5至6题 ●18~21必选,22根据机房情况选择 ●模拟题选择一套 3.带实训的老师一定要认真负责,结束后及时登记实训成绩,收齐学生的实训成果,并写出该班的实训总结,记录成光盘交到计算机基础教研室。 第1部分实训内容 实训1 制作用户调查表 [操作要求] 按照下面的步骤编排出如图1样文所示,并以“实训一.doc”为文件名保存。 1.输入文字 ●在文档中,输入表格的标题及最后一行的文字。 2.插入表格 ●插入“样文”的表格及输入其中的字符; ●表格的前三行高固定值1厘米,各列宽3.5厘米,表格中的字符设为宋体、四号, 水平左对齐,垂直居中; 3.设置文本 ●表格标题设为黑体、二号字,居中对齐; ●表格末行设为幼圆、小四号字,其中,“回函请寄:”几字设为加粗; ●表格外边框的线宽为1.5磅。 4.编排格式 ●在文档头部插入一行由“剪刀”和“-”号组成的字符串; ●按“样文1”所示位置,插入艺术字库中第1行第2列式样的艺术字; ●艺术字设为隶书、36磅、红色,无环绕。

《数据库原理及应用》实验指导书

《数据库原理及应用》实验指导书 实验一数据库的建立 实验目的:掌握数据库的创建、基本表的创建和数据插入的方法 实验要求:使用Oracle 11g进行数据库的创建、基本表的创建和数据插入 实验条件:计算机,Oracle 11g 实验内容: 1、假设你是DBA,需要定义系统中的所有表。试根据下面给出的关系模式,用SQL 完成数据表的建立。 假设“阿里巴巴”酒店数据库中有如下的几个关系模式: (1)客户个人信息(身份证号,姓名,性别,年龄,工作单位) (2)客户入住信息(身份证号,客房号,入住时间,退房时间) (3)客房(客房号,客房类型号) (4)定价(客房类型号,客房类型名,单价) (5)订票(身份证号,机票号,订票时间) (6)机票(机票号,起始地,目的地,起飞时间,到达时间,机票价格,机票状态,航空公司号) 注:机票状态只有三种 0:未出票 1:已出票,但未被客户取走 2:已出票且已被客户取走 (7)航空公司(航空公司号,航空公司名,电话) (8)雇员(雇员号,姓名,雇员年龄,雇佣日期,被投诉次数) (9)打扫(雇员号,客房号) 说明:数据库表中各个字段的数据类型及宽度,请根据实际情况自定。数据库名、表名、字段名中英文均可,但需要有一定的实际含义。 2、试根据下面的完整性约束要求,用SQL对上面已经建立好的“阿里巴巴”酒店 数据库表进行完整性约束定义。 (1)雇员的年龄必须大于20岁小于55岁,被投诉次数不能超过10次。

(2)客户的性别只能是“男”或“女”。 (3)客户每次入住的客房号和入住时间不能为空。 (4)各种类型客房的定价不得低于100元,也不得高于2000元。(5)机票的状态只能有三种:0:未出票 1:已出票,但未被客户取走 2:已出票且已被客户取走

网络安全课程实验指导书

网络安全课程实验安排及指导书 2009-10-21

实验安排1、推荐必做实验 网络扫描 计算机病毒及恶意代码 防火墙实验 入侵检测系统 2、推荐选作实验 VPN配置 证书的申请和使用 windows安全配置实验

实验一:网络扫描实验 【实验目的】 了解扫描的基本原理,掌握基本方法,最终巩固主机安全 【实验内容】 1、学习使用Nmap的使用方法 2、学习使用漏洞扫描工具 【实验环境】 1、硬件PC机一台。 2、系统配置:操作系统windows XP以上。 【实验步骤】 1、端口扫描 1)解压并安装ipscan15.zip,扫描本局域网内的主机 2)解压nmap-4.00-win32.zip,安装WinPcap 运行cmd.exe,熟悉nmap命令(详见“Nmap详解.mht”)。 3)试图做以下扫描: 扫描局域网内存活主机, 扫描某一台主机或某一个网段的开放端口 扫描目标主机的操作系统 试图使用Nmap的其他扫描方式,伪源地址、隐蔽扫描等 2、漏洞扫描 解压X-Scan-v3.3-cn.rar,运行程序xscan_gui.exe,将所有模块选择扫描,扫描本机,或局域网内某一台主机的漏洞 【实验报告】 1、说明程序设计原理。 2、提交运行测试结果。 【实验背景知识】 1、扫描及漏洞扫描原理见第四章黑客攻击技术.ppt 2、NMAP使用方法 扫描器是帮助你了解自己系统的绝佳助手。象Windows 2K/XP这样复杂的操作系统支持应用软件打开数百个端口与其他客户程序或服务器通信,端口扫描是检测服务器上运行了哪些服务和应用、向Internet或其他网络开放了哪些联系通道的一种办法,不仅速度快,而且效果也很不错。 Nmap被开发用于允许系统管理员察看一个大的网络系统有哪些主机以及其上运行何种服务。它支持多种协议的扫描如UDP,TCP connect(),TCP SYN (half open), ftp proxy (bounce attack),Reverse-ident, ICMP (ping sweep), FIN, ACK sweep,X mas Tree, SYN sweep, 和Null扫描。你可以从SCAN TYPES一节中察看相关细节。nmap 还提供一些实用功能如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。 一、安装Nmap Nmap要用到一个称为“Windows包捕获库”的驱动程序WinPcap——如果你经常从网上下载流媒体电影,可能已经熟悉这个驱动程序——某些流媒体电影的地址是加密的,侦测这些电影的真实地址就要用到WinPcap。WinPcap的作用是帮助调用程序(即这

相关文档
相关文档 最新文档