文档库 最新最全的文档下载
当前位置:文档库 › 大型数据库oracle实验报告

大型数据库oracle实验报告

大型数据库oracle实验报告
大型数据库oracle实验报告

实验报告

课程名称:大型数据库系统

实验项目:数据库实验

实验地点:逸夫楼502

专业班级:软件12xx 学号:201200xxxx 学生姓名:xx

指导教师:宋成明

2015年4月11日

实验1创建数据库和表及表数据的插入、修改和删除

一、实验目的和要求

1.学会使用SQL语句手工出创建数据库,创建表;

2.学会使用PL/SQL语句对数据库表进行插入、修改和删除数据的操作;

3.学会使用SQL DEVELOPER对数据库表进行插入、修改和删除数据的操作;

4.了解数据更新操作时要注意数据完整性;

5.了解PL/SQL语句对表数据操作的灵活控制功能。

二、实验内容和原理

分别使用SQL Developer和PL/SQL语句,在实验二建立的数据库YGGL或实验一随安装Oracle 11g时建立的数据库中所建立的三个表Employees, Departments和Salary中分别插入多行数据记录,然后修改和删除一些记录。使用PL/SQL进行有限制的修改和删除。表的内容如教材p311页所示。使用PL/SQL命令操作数据。内容如教材p312页所要求,给出相应语句段及结果截图。

三、主要仪器设备——系统运行的软硬件环境

1.HP 6470b笔记本win7 32位系统

2.Oracle 11g大型数据库及其相应的配套软件

四、实验结果与分析

1.在scott用户中创建表

(1)Employees(员工信息表)表

create table Employees

(

EmployeeID char(6) primary key,

Name char(10) not null,

Birthday date not null,

Sex number(1) not null,

Address char(20),

Zip char(6),

PhoneNumber char(12),

DepartmentID char(3) not null

);

查看创建后的Employees表

(2)Departments(部门信息)表

create table Departments

(

DepartmentID char(3) primary key,

DepartmentName char(20) not null,

Note varchar2(100)

);

查看创建后的Departments表

(3)Salary(员工薪水情况)表

create table Salary

(

EmployeeId char(6) primary key,

InCome number(8,2) not null,

OutCome number(8,2) not null

);

查看创建后的Salary表

2.向表中插入数据

(1)在Employees表中插入数据

insert into employees values('000001','王林',to_date('19960123','YYYYMMDD'),1,'中山路32',210003,83355668,2); insert into employees values('010008','吴荣华',to_date('19760123','YYYYMMDD'),1,'北京东路',210001,83321321,1); insert into employees values('020010','王向荣',to_date('19821209','YYYYMMDD'),1,'四牌楼',210006,83792361,1); insert into employees values('020018','李丽',to_date('19600730','YYYYMMDD'),0,'中山东路',210002,83413301,1); insert into employees values('102201','刘明',to_date('19721018','YYYYMMDD'),1,'虎踞路',210013,83606608,5); insert into employees values('102208','朱俊',to_date('19650928','YYYYMMDD'),1,'牌楼巷',210004,84708817,5); insert into employees values('108991','钟敏',to_date('19790810','YYYYMMDD'),0,'中山路10',210003,83346722,3); insert into employees values('111006','张石兵',to_date('19741001','YYYYMMDD'),1,'解放路',210010,84563418,5); insert into employees values('210678','林涛',to_date('19770402','YYYYMMDD'),1,'中山北路',210008,83467336,3); insert into employees values('302566','李玉珉',to_date('19680920','YYYYMMDD'),1,'热河路',210001,58765991,4); insert into employees values('308759','叶凡',to_date('19781118','YYYYMMDD'),1,'北京西路',210002,83308901,4); insert into employees values('504209','陈林琳',to_date('19690903','YYYYMMDD'),1,'汉中路',210018,84468158,4);查看插入数据后的Employees表

(2)在Departments表中插入数据

insert into Departments values('1','财务部','null');

insert into Departments values('2','人力资源部','null');

insert into Departments values('3','经理办公室','null');

insert into Departments values('4','研发部','null');

insert into Departments values('5','市场部','null');

查看插入数据后的Departments表

(3)在Salary表中插入数据

insert into Salary values('000001',2100.8,123.09);

insert into Salary values('010008',1582.62,88.03);

insert into Salary values('102201',2569.88,185.65);

insert into Salary values('111006',1987.01,79.58);

insert into Salary values('504209',2066.15,108.0);

insert into Salary values('302566',2980.7,210.2);

insert into Salary values('108991',3259.98,281.52);

insert into Salary values('020010',2860.0,198.0);

insert into Salary values('020018',2347.68,180.0);

insert into Salary values('308759',2531.98,199.08);

insert into Salary values('210678',2240.0,121.0);

insert into Salary values('102208',1980.0,100.0);

查看插入数据后的Salary表

3.在表中修改数据

例如:修改表Salary中某个记录的字段值

update Salary set INCOME = 2890.5 where EmployeeID = '000001';

查看修改后的数据

4.在表中删除数据

例如:删除表Salary中一行记录

delete from Salary where EmployeeID = '000001';

查看删除后的数据

五、讨论、心得

通过本次实验,对oracle的PL/SQL数据库建立语句、建表语句以及数据操作语句DML有了更加熟练的掌握和操作。

实验2数据库的查询、视图、索引及完整性

一、实验目的和要求

1.掌握SELECT语句的基本语法;

2.掌握子查询的表示方法;掌握连接查询的表示方法;

3.掌握数据汇总的方法;掌握SELECT语句的GROUP BY子句的作用和使用方法;

4.掌握SELECT语句的ORDER BY子句的作用和使用方法;

5.掌握视图的使用方法。

6.掌握索引的使用方法。

7.掌握数据完整性的概念及分类。

8.掌握各种数据完整性的实现方法。

二、实验内容和原理

1、SELECT语句的基本使用

按照教材p313-p314的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。

2、子查询的使用

按照教材p314-p315的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。

3、连接查询的使用

按照教材p315的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。

4、数据汇总

按照教材p315-p316的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。

5、GROUP BY 和ORDER BY子句的使用

按照教材p316-p317的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。

6、使用视图

按照教材p317的内容和步骤完成实验内容。给出相应语句段和结果的对应截图。

教材中的思考与练习部分可略去。

三、主要仪器设备——系统运行的软硬件环境

1.HP 6470b笔记本win7 32位系统

2.Oracle 11g大型数据库及其相应的配套软件

四、实验结果与分析

1、select语句的基本使用

(1)查询Employees表

select * from Employees;

(2)查询每个雇员的的地址和电话

select Address,PhoneNumber from Employees;

(3)查询EmployeeID为000001的雇员地址和电话

select Address,PhoneNumber from Employees where EmployeeID = '000001';

(4)查询Employees表中所有女雇员的地址和电话

select Address 地址,PhoneNumber 电话from Employees where sex = 0;

(5)计算每个雇员的实际收入

select EmployeeID,InCome-OutCome 实际收入from Salary;

(6)找出所有姓王的雇员的部门号

select DepartmentID from Employees where Name like '王%';

(7)找出所有收入在2000元到3000元之间的雇员号码

select EmployeeID from Salary where InCome between 2000 and 3000;

2、子查询使用

查找在财务部工作的雇员情况

select * from Employees

where DepartmentID = (select DepartmentID from Departments

where DepartmentName = '财务部');

3、连接子查询的使用

查询每个雇员的情况以及薪水情况

select *from Employees e join Salary s on(e.EmployeeID = s.EmployeeID);

4、数据汇总

求财务部雇员的平均收入

select avg(InCome) 财务部平均工资from Salary

where EmployeeID in

( select EmployeeID from Employees

where DepartmentID =

( select DepartmentID from Departments

where DepartmentName = '财务部'

)

);

5、group by和order by子句的使用

(1)求各部门的雇员数

select count(DepartmentID) from Employees group by DepartmentID;

(2)将各雇员的情况按收入由低到高排序

select * from Employees e join Salary s on(e.EmployeeID = s.EmployeeID) order by InCome asc;

6、使用视图

(1)创建视图

限制查看雇员的某些情况

create or replace view cx_employees as

select EmployeeID,Name,Birthday,Sex,DepartmentID

from Employees;

查看创建好的视图

(2)使用视图

查询财务部雇员信息

select * from cx_employees;

7、建立索引

对数据库中Employees表的DepartmentID列建立索引

create index PK_XS_BAK on Employees(DepartmentID);

(1)实现域完整性

为Employees表的PhoneNumber列建立check约束.

alter table Employees

add(constraint CH_PHONE CHECK(PhoneNumber between'0' and '9' ));

(2)实现实体完整性

为Departments表的DepartmentName列建立唯一性索引

alter table Departments

add(constraint UN_Departments unique(DepartmentName));

(3)实现参照完整性

为Employees表中的DepartmentID列建立外键

alter table Employees

add(constraint FK_Employees FOREIGN KEY(DepartmentID)

references Departments(DepartmentID) );

五、讨论、心得

通过本次实验,对数据库的基本操作更加熟练,对其完整性约束的机理也有了更深入的理解。

实验3 PL/SQL编程及存储过程和触发器的使用

一、实验目的和要求

1.进一步巩固第二章到第四章所学内容;

2.掌握变量的分类极其使用;

3.掌握各种运算符的使用;

4.掌握各种控制语句的使用;

5.掌握系统函数及用户自定义函数的使用;

6.掌握存储过程的使用;

7.掌握触发器的使用;

二、实验内容和原理

1、条件结构、循环结构及选择和跳转语句的使用

按照教材p319的要求在SQL*Plus窗口输入代码。数据库可用YGGL或实验一中创建的数据库。给出相应语句段和结果的对应截图。

2、自定义函数的使用

按照教材p319-p320的要求在SQL*Plus窗口输入代码。数据库可用YGGL或实验一中创建的数据库。给出相应语句段和结果的对应截图。

3、创建触发器

按照教材p321-p322的要求创建触发器。数据库可用YGGL或实验一中创建的数据库。给出相应语句段和结果的对应截图。

4、创建存储过程

按照教材p322-p323的要求创建存储过程。数据库可用YGGL或实验一中创建的数据库。给出相应语句段和结果的对应截图。

5、调用存储过程

按照教材p323的要求调用存储过程。数据库可用YGGL或实验一中创建的数据库。给出相应语句段和结果的对应截图。

三、主要仪器设备——系统运行的软硬件环境

1.HP 6470b笔记本win7 32位系统

2.Oracle 11g大型数据库及其相应的配套软件

四、实验结果与分析

1、自定义函数的使用

(1)定义一个函数实现如下功能。对于一个给定的DepartmentID值,查询该值在departments表中是否存在,若存在返回0,否则返回-1。

create or replace function check_id(department in char)

return number

as

num number;

x number;

begin

select count(*)into x

from departments

where DepartmentID=departmentid;

if x>0 then

num:=0;

else

num:=-1;

end if;

return(num);

end;

(2)写一段PL/SQL脚本程序调用上述函数。当向employees表插入一条记录时,首先调用函数CHECK_ID检索该记录的departmentid值在表departments的departmentid字段中是否存在对应的值,若存在,则该记录插入employees表。

declare

num number;

begin

num:=check_id('2');

if num=0 then

insert into employees values('990210','张文',to_date('19820324','YYYYMMDD'),0,'镇江路','210009','3497534',2);

end if;

end;

“张文”记录插入成功,如下:

2、触发器的使用

(1)创建触发器

向Employees表中插入或修改一条记录时,通过触发器检查记录的值在Departments表是否

数据库原理实验报告

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验一SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级:14软工5班 学号:14551204 14551206 姓名:花元凯罗文波 1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获得 所感兴趣的相关产品主题/技术文档。

(4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL查 询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。目前最新版本是SQL SERVER 2014。 1,SQL Server 2005学习版当保护和管理应用系统内外部的信息变得至关重要时,通过提供一套免费、易于使用和健壮的数据库,学习版帮助开发人员建立强健的和可靠的应用系统。

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环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了ORACLE数据库的优化调整方案。 对于ORACLE数据库的数据存取,主要有四个不同的调整级别,第一级调整是操作系统级 包括硬件平台,第二级调整是ORACLE RDBMS级的调整,第三级是数据库设计级的调整,最后一个调整级是SQL级。通常依此四级调整级别对数据库进行调整、优化,数据库的整体性能会得到很大的改善。下面从九个不 同方面介绍ORACLE数据库优化设计方案。 一.数据库优化自由结构OFA(Optimal flexible Architecture) 数据库的逻辑配置对数据库性能有很大的影响,为此,ORACLE公司对表空间设计提出了一种优化结构OFA。使用这种结构进行设计会大大简化物理设计中的数据管理。优化自由结构OFA,简单地讲就是在数据库中可以高效自由地分布逻辑数据对象,因此首先要对数据库中的逻辑对象根据他们的使用方式和物理结构对数据库的影响来进行分类,这种分类包括将系统数据和用户数据分开、一般数据和索引数据分开、低活动表和高活动表分开等等。数据库逻辑设计的结果应当符合下面的准则:(1)把以同样方式使用的段类型存储在一起; (2)按照标准使用来设计系统;(3)存在用于例外的分离区域;(4)最小化表空间冲突;(5)将数 据字典分离。 二、充分利用系统全局区域SGA(SYSTEM GLOBAL AREA) SGA是oracle数据库的心脏。用户的进程对这个内存区发送事务,并且以这里作为高速缓存读取命中的数据,以实现加速的目的。正确的SGA大小对数据库的性能至关重要。SGA 包括以下几个部分: 1、数据块缓冲区(data block buffer cache)是SGA中的一块高速缓存,占整个数据库大小 的1%-2%,用来存储从数据库重读取的数据块(表、索引、簇等),因此采用least recently used (LRU,最近最少使用)的方法进行空间管理。 2、字典缓冲区。该缓冲区内的信息包括用户账号数据、数据文件名、段名、盘区位置、表 说明和权限,它也采用LRU方式管理。 3、重做日志缓冲区。该缓冲区保存为数据库恢复过程中用于前滚操作。 4、SQL共享池。保存执行计划和运行数据库的SQL语句的语法分析树。也采用LRU算法 管理。如果设置过小,语句将被连续不断地再装入到库缓存,影响系统性能。 另外,SGA还包括大池、JAVA池、多缓冲池。但是主要是由上面4种缓冲区构成。对这

大数据实验报告

学生实验报告册 (理工类) 课程名称:大型数据库技术专业班级:12计算机科学与技术(1)学生学号:学生姓名: 所属院部:计算机工程学院指导教师:陈爱萍

2014——20 15学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:Oracle数据库安装与配置实验学时: 1 同组学生姓名:实验地点:1316 实验日期:2015/3/27 实验成绩: 批改教师:陈爱萍批改时间:

实验1:Oracle数据库安装与配置 一、实验目的和要求 (1)掌握Oracle数据库服务器的安装与配置。 (2)了解如何检查安装后的数据库服务器产品,验证安装是否成功。 (3)掌握Oracle数据库服务器安装过程中出现的问题的解决方法。 (4)完成Oracle 11g数据库客户端网路服务名的配置。 (5)检查安装后的数据库服务器产品可用性。 (6)解决Oracle数据库服务器安装过程中出现的问题。 二、实验设备、环境 设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版 三、实验步骤 (1)从Oracle官方网站下载与操作系统匹配的Oracle 11g数据库服务器和客户机安装程序。 (2)解压Oracle 11g数据库服务器安装程序,进行数据库服务器软件的安装。

数据库原理实验报告(1)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验一 SQL Server 2005常用服务与实用工具实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)了解Microsoft 关系数据库管理系统SQL Server的发展历史及其特性。 (2)了解SQL Server 2005的主要组件、常用服务和系统配置。 (3)掌握Microsoft SQL Server Management Studio 图形环境的基本操作方法。了解使用“SQL Server 2005 联机从书”获取帮助信息的方法;了解“查询编辑器”的使用方法;了解模板的使用方法。 2.实验要求 (1)收集整理Microsoft关系数据库管理系统SQL Server的相关资料,总结其发展历史及SQL Server 2005主要版本类别和主要功能特性。 (2)使用SQL Server配置管理器查看和管理SQL Server 2005服务。 (3)使用Microsoft SQL Server Management Studio连接数据库;使用SQL Server帮助系统获 得所感兴趣的相关产品主题/技术文档。 (4)使用Microsoft SQL Server Management Studio“查询编辑器”编辑并执行Transact-SQL 查询语句。 (5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。 (6)按要求完成实验报告。 3.实验步骤、结果和总结实验步骤/结果 (1) 简要总结SQL Server系统发展历史及SQL Server 2005主要版本类别与主要功能特性。

oracle大型数据库-电子商城管理系统-课程设计

目录 1 课程设计简介 (1) 1.1 课程设计的目的 (1) 1.2 课程设计内容 (1) 1.2.1 系统分析 (1) 1.2.2系统功能分析 (1) 1.2.3系统总体功能设计 (2) 1.2.4数据库的设计 (2) 2 数据结构的设计 (4) 2.1 Orale简介 (4) 2.2 数据库概念结构设计 (4) 2.2.1建立数据库的原则 (4) 2.2.2建立字段的原则 (4) 2.2.3数据库表的实体图 (5) 2.2.4数据库的E-R图 (6) 2.3 数据库逻辑结构设计 (7) 2.3.1数据库的表结构 (7) 2.3.2数据库表的实现 (8) 2.3.3存储过程 (9) 2.3.4触发器 (11) 2.3.5数据库的数据流图 (11) 2.4数据库物理结构设计 (13) 3 功能模块描述 (14) 3.1系统功能层次图 (14) 3.2主要功能描述 (14) 4 程序运行结果 (16) 4.1系统界面设计 (16) 4.1.1系统主界面 (16) 4.1.2商品信息管理 (16) 4.1.3商品管理-添加商品信息界面 (17) 4.1.4商品管理-商品类别管理 (18) 4.1.5员工信息管理主界面 (18) 4.1.6员工管理-添加员工信息 (19) 5 心得体会 (20) 6 参考文献 (21) 7 程序源代码 (22) 7.1商品信息管理模块主要源代码 (22) 7.2员工信息管理模块主要源代码 (25)

1 课程设计简介 1.1 课程设计的目的 将电子商城管理系统作为课程设计,目的是在学习数据库理论基础上,将所学的应用到实践中,以提高学习的质量,和提高知识的运用能力。而本次的课程设计中。重点是要掌握数据库的设计、数据查询的实现,并要求通过课程设计将理论向实践的转化、和对大型数据库理论的理解。以及要求达到熟练掌握对数据库的分析和设计、数据表的建立(绘画数据流图、E-R图)。以及利用面向对象的技术实现相应的增加数据,删除数据,修改数据,查询数据的基本功能。1.2 课程设计内容 1.2.1 系统分析 可行性分析:电子商城管理系统主要是能够方便有效地管理,客户在商城购物的商品信息,订单的管理。主要从以下方面进行可行性分析: (1) 技术可行性:目前,实体商城购物某些工作存在盲目性、随意性、和无效消耗,不能保证工作质量,影响商品的销售,从销售者角度考虑可能带来实际的和潜在的经济损失。若开发成功本系统,将有助于卖家更好地预测市场,更好的开发客户及时调整经营销售策略,在激烈的市场竞争中把握主动。因此,从长远利益考虑,本项目若能开发成功,它所带来的效益将远高于系统投入。 (2) 运行可行性:在实体店铺的业务方面,由于日常信息处理量大,耗费时间长,出错效率高,在系统投入运行后,可以实现业务中的信息集中处理、分析利用信息和信息的交流辅助市场的业务监管和重大决定。并且可以实现实体店铺进一步向网络服务发展,为信息工作打下良好的基础。 (3) 法律可行性:该平台是是自主开发设计,因此不会构成侵权,在法律上是可行的。 通过以上的研究和分析,认为系统开发所产生的效益是巨大的,所以开发本项目是可行的、必要的。 用户需求分析:根据对传统的商务模式的分析,同时调研了现有的一些电子商城系统后,得到“电子商城管理系统”的需求,主要包括系统功能需求和系统性能需求两方面。 1.2.2系统功能分析 电子商城管理系统的主要功能需求有: (1)系统用户管理:实现对商城管理用户的添加、密码的修改等操作; (2)会员信息管理:删除、查看会员信息;

黑大数据库实验报告资料

黑龙江大学 “数据库系统原理课程设计”总结报告 学院软件学院 年级2014级 专业软件工程 学号20143983 姓名陆芝浩 报告日期2016.11.9 成绩 黑龙江大学软件学院

1、开发环境 操作系统:Windows7 编程语言环境:VC++6.0 2、DBMS系统架构 3、DBMS主要功能模块 1、实现SQL语句中的Create Table建表语句,建立相应的数据库表,并生成相应的数据字典文件和数据文件。 2、实现alter table表模式的修改功能: ①能够为已建立的表添加属性。 ②能够从已建立的表中删除属性。

3、实现drop table删除表功能。 4、实现create index创建索引的功能。 5、实现drop index删除索引的功能。 6、实现insert可以向已经创建的表插入元组。 7、实现delete从已经创建的表中删除元组。 8、实现update修改表中的数据。 9、实现SELECT语句,包括: 实现单表全属性查询。 实现单表单属性查询。 实现多表的连接全属性查询。 实现多表的连接和选择条件的全属性查询。 实现多表的连接的单属性查询。 实现多表的连接和选择的单属性查询。 实现单表的选择的单属性查询。 实现单表的选择的全属性查询。 10、利用启发式关系代数优化算法进行查询优化。 11、建立访问权限,根据数据字典(DD)实现对数据库的安全性检查和完整性约束的机制。 3.1 SQL语言的词法和语法分析 (1)功能介绍 通过编译原理的知识对输入的SQL语句进行词法分析,将SQL语句拆分为若干个单词,对其进行语法分析,确定输入的SQL语句的含义. (2)相关理论 利用编译原理的相关知识,对输入的SQL语句进行模仿SQL语言的词法及语法结构的分析。

数据库原理实验报告(数据查询)

数据库原理实验报告 实验三数据查询 班级:××× 姓名:××× 学号:××× 数据查询 一、[实验目的] 1.掌握SQL的单表查询操作

2.掌握SQL的连接查询操作 3.掌握SQL的嵌套查询操作 4.掌握SQL的集合查询操作 二、[实验内容] 本实验的主要内容是: 1.简单查询操作。包括投影、选择条件表达,数据排序,使用临时表等。 2.连接查询操作。包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。 3.在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 4.组合查询与统计查询。 (1)分组查询实验。该实验包括分组条件表达、选择组条件的表达方法。 (2)使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。 (3)组合查询实验。 (4)计算和分组计算查询的实验。 三、[实验方法] 1.将查询需求用Transact-SQL语言表示。 2.在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。 3.设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。 4.发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。 5 查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。 图5- 错误!未定义书签。SQL Server 2000查询分析器 查询分析器的界面如图5- 错误!未定义书签。所示。在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查

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是赠菜。

Oracle大型数据库课后简答题

简述表空间和数据文件之间的关系。 答:每一个数据文件都必须隶属于某个表空间,但一个表空间可以由多个数据文件组合而成。tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。 概述Oracle数据库体系的物理结构。 答:Oracle数据库体系的物理结构是指数据库上实际的、可以从操作系统看到的文件,可以利用操作系统指令进行管理作业,物理存储结构组成文件如下所列:数据文件(Data File):实际存储数据的地方;在线重做日志文件(Online Redo Log File):记录曾经发生过的动作,当数据库受损时,可利用在线重做日志文件进行必要的恢复动作;控制文件(Control File):记录数据库必要的信息,以验证及维护数据库的完整性的信息;初始化参数文件(Parameter File):当数据库开启时,用来架构出Oracle内存结构的文件;密码文件(Password File):验证哪些帐号能开启、关闭Oracle数据库。 简要介绍表空间、段、区和数据块之间的关系。答:Oracle的逻辑存储单元从小到大依次为:数据块、区、段和表空间。表空间又由许多段组成,段由多个区组成,区又由多个数据块组成。 简述Oracle实例系统中各后台进程的作用。 答:(1)DBWRn(Database Writer)的主要工作是将数据缓冲区中被改过的数据写回到数据文件里。(2)LGWR(Log Writer)主要的工作是将Redo Log Buffer里的记录写到在线重做日志文件中。(3)SMON(System Monitor)有两个主要的功能。<1>执行Instance Recovery:当数据库不正常中断后再度开启时,SMON会自动执行Instance Recovery,也就是会将在线重做日志里面的数据回写到数据文件里面。<2>收集空间:将表空间内相邻的空间进行合并的动作。(4)PMON(Process Monitor):监视数据库的用户进程。若用户的进程不当而被中断,PMON 会负责清理任何遗留下来的资源,并释放失效的进程所保留的锁,然后从Process List中移除,以终止Process ID。(5)CKPT(Checkpoint)主要负责更新数据库的最新状态,CKPT当Checkpoint完成时,会更新控制文件和数据库文件的文件头。(6)ARCn(Archiver).当Oracle数据库设定为ARCHIVELOG Mode时,ARCn 会在Log Switch 时自动将Redo Log File复制一份到指定的目录下称为归档日志文件(Archivedredologs)。 共享和专用操作模式的工作过程有什么区别?在专用服务器操作模式中,Oracle为每个连接到数据库实例的用户进程启动一个专门的服务进程,其用户进程数与服务器进程数的比例为1:1因为在用户进程空闲期间,对应的服务器进程始终存在,数据库的效率比较低。共享服务器操作模式可以实现只运行少量的服务器进程,由少量的服务器进程为大量用户提供服务。在此模式下,数据库实例启动的同时也将启动一定数量的服务进程,在调度进程Dnnn的调度下位任意数量的用户进程提供服务。简述oracle的初始化参数文件? 答:在传统上,Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为PFILE)。 简述如何修改初始化参数文件? 答:如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。 简述启动数据库时的状态。 答:开启数据库分成4种状态。SHUTDOWN状态:数据库是关闭的。NOMOUNT状态:Instance被开启的状态,会去读取初始化参数文件。MOUNT状态:会去读取控制文件。数据库被装载。OPEN状态:读取数据文件、在线重做日志文件等,数据库开启。 简述数据库的各种关闭方式。 答:(1)正常关闭(SHUTDOWN NORMAL):不允许新的USER连进来。(2)事务关闭(SHUTDOWN TRANSACTIONAL):等待所有未提交的事务完成后再关闭数据库(3)立即关闭(SHUTDOWN IMMEDIATE):任何未提交的事务均被回退。(4)终止关闭(SHUTDOWN ABORT):立即终止当前正在执行的SQL语句,任何未提交的事务均不被回退。 简述Oracle数据库的特殊状态? 答:静默状态:只有具有管理员权限的用户(SYS、SYSTEM)才能在数据库中执行查询、更新操作和运行PL/SQL程序挂起状态:数据库所有的物理文件(控制文件、数据文件和重做日志文件)的I/O操作都被暂停,这样能够保证数据库在没有任何I/O 操作的情况下进行物理备份。利用这两种数据库状态,数据库管理员可以完成一些特殊的管理和维护操作。 如何设置SQL*Plus的运行环境?

大型数据库管理实验报告4

武汉轻工大学 经济与管理学院实验报告 实验课程名称大型数据库管理 实验起止日期2019.11.5至2019.12.10 实验指导教师程红莉 实验学生姓名学生班级学号物流管理1702 实 验 评 语 实验 评分 教师 签名 年月日

实验项目名称数据完整性实验日期2019.12.10 学生姓名班级学号物流管理1702 一、预习报告(请阐述本次实验的目的及意义) 1.熟悉通过SQL对数据进行完整性控制。 2.完成书本上习题的上机练习。 二、实验方案(请说明本次实验的步骤和进程) 1.用Constraint和Check建立完整性约束条件 教材164页例[7] Student表的ssex 只允许取‘男’或‘女’ create table student1 (sno char(9) primary key, sname char(8) not null, sex char(2) check(sex in('男','女')), sage smallint, sdept char(20) ); 教材164页例[8] create table sc1 (sno char(9), cno char(4), grade smallint check(grade>=0 and grade<=100), primary key(sno,cno), foreign key(sno)references student1(sno), foreign key(cno)references course(cno) ); 教材164页例[7]、例[8](给学生表的性别增加约束条件,即只允许“男”或“女”。可用语句: alter table student add constraint course1 check(sex in('男','女')) alter table sc add constraint course2 check (score>=0 and score<=100) go

数据库原理实验报告

数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号4080522 姓名龚敏 指导教师李爱英

一.概要设计 1.教学数据库各表的关系模式:(加下线的属性为主键) 学生 (学号,姓名,性别, 出生日期,所在系) 英文缩写对照:student(s_no,s_name,s_sex,s_age,s_birthday,s_department) 课程 (课程号,课程名,学分) 英文缩写对照:course(c_no,c_name,c_score) 教师 (职工号,姓名,性别,职称) 英文缩写对照:teacher(t_no,t_name,t_sex,t_duty) 选课 (学号,课程号,成绩) 英文缩写对照:choice(s_no,c_no,score) 讲授 (职工号,课程号) 英文缩写对照:teaching(t_no,c_no) 2.教学数据库E-R 图: 实体:课程,学生,选课 联系:选课(学生同课程之间多对多的联系m:n),讲授(教师同课程之间多对多的联系m:n)。 二.逻辑设计 代码: use master go create database stu go use stu go n m m n 课程 教师 讲授 选课 学号 姓名 性别 出生日期 成绩 职工号 姓名 性别 职称 学分 课程号 课程名 学生

create table student (s_no char(8) not null primary key, s_name char(8) not null , s_sex varchar(8) not null, s_birthday smalldatetime not null, s_department varchar(13) not null) drop table student use stu go create table teacher (t_no char(8) not null primary key, t_name char(8) not null, t_sex varchar(8) not null, t_duty char(8) not null) create table course (c_no char(8) not null primary key, c_name char(8) not null, c_score varchar not null) create table choice( s_no char(8) not null primary key, c_no char(8) not null primary key, score varchar not null) create table teaching( t_no char(8) not null primary key, c_no char(8) not null primary key) insert student values('101','袁敏','女','1982-2-3','机电') insert student values('102','李志强','男','1983-4-5','计算机') insert student values('103','张亮','男','1984-10-9','建筑') insert student values('104','李平','女','1984-5-6','计算机') insert student values('105','王丽','女','1983-2-1','机电') insert student values('106','刘明耀','男','1982-4-16','计算机') select* from student insert course values('1011','C语言','6') insert course values('1012','数据结构','4') insert course values('1013','微机原理','6') insert course values('1014','数字电路','5') insert course values('1015','高等数学','6') select* from course insert teacher values('0511','张大维','男','副教授') insert teacher values('0512','林楠','女','讲师') insert teacher values('0513','韩晓颖','女','副教授') insert teacher values('0514','李辉','男','讲师') insert teacher values('0515','孙丽','女','助教') select* from teacher insert choice values('101','1011','82.5') insert choice values('101','1012','79') insert choice values('102','1012','92.5') insert choice

数据库原理实验报告分析

2013级数据库原理实验报告 专业:_______计算机___ 班级:________________ 学号:______________ 姓名:_______________ 2015年5月

实验一 SQL Server 2005基本操作 一、实验目的 了解SQL Server 2005组件; 了解SQL Server数据库组成; 掌握SQL Server 2005界面基本操作。 二、实验内容 (1)开始->程序->Microsoft SQL Server 2005-> SQL Server Management Studio,打开后进入到SQL Server 2005主体界面 (2)点击?数据库?前面的?+?,可以展开查看数据库,并且可以继续展开下级目录,查看数据库中的表、视图等。 (3)了解SQL Server 2005菜单栏的一些主要工具的使用。 (4)学生动手操作SQL Server 2005,打开数据库,打开表,打开查询界面;查看数据库的属性、表的属性等。 三、实验总结 进行这次实验有遇到什么问题?怎么解决的? 答:此次实验我们一步一步按照实验内容操作的,基本上没有遇到问题。

实验二数据定义 一、实验目的 掌握SQL Server 2005的数据库创建; 掌握SQL Server数据定义语言; 掌握SQL Server 2005数据定义的SQL语言定义与管理器定义两种方式。 二、实验内容 (1)创建、修改、删除数据库。 创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。 修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最 大为25MB,以2MB速度增长。 (2)利用SQL创建人员表person、月薪表salary及部门表dept。 见上页图 要求:按表2-1、表2-2及表2-3中的字段说明创建。

四川师范大学《oracle》实验报告

声明:此文档只作为学习参考,不得用作它途! 实验一了解ORACLE环境,使用ORACLE数据库实用工具 1.目的要求: 了解ORACLE数据库的各个常用工具软件 2.实验内容: 在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer 工具,企业管理器等实用工具与Oracle交互。并在企业管理器中观察ORACLE的底层存储原理。在PL/SQL Developer中书写简单的SQL语言。 3.主要仪器设备及软件 1)PC 2)ORACLE数据库 实验二熟悉SQL语言 1.目的要求 在SQL*PLUS或PL/SQL Developer工具中编写SQL语句 2.实验内容

在ORACLE 数据库中定义用户,给用户赋权限,创建,修改和删除表格,视图等数据库对象,并向表格中插入,修改和删除数据。体会SQL语言中ORACLE的“方言”。 对自己建立的表做查询:包括单表查询,多表查询,嵌套查询,分组查询,相关查询 3.主要仪器设备及软件 1)PC 2)ORACLE数据库 自定义用户:create user taozi identified by taozi; 给用户赋DBA权限:grant dba to taozi; 创建表格 student,sc,course: Create table student (sno char(10) primary key, sname varchar(20) not null, sage smallint, ssex char(2), sdept varchar(20)); Create table course (cno char(10) primary key, cname varchar(50) not null, credit smallint); Create table sc (sno char(10), cno char(10), grade smallint, primary key(sno,cno)); 创建视图:create view oracle as (select sno,sname,sage from student); 删除视图:delete oracle; 为student 表增加一列 jiguan: alter table student add jiguan varchar(10); 删除jiguan 列:alter table student drop column jiguan; 删除student 表结构:drop table student; 插入数据:insert into student values('004','AA','21','f','MA'); insert into student values('005','BB','20','m','CS');

oracle数据库大作业

o r a c l e数据库大作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

2013-2014学年第二学期《大型数据库技术》考查报告课题名称:图书管理系统系统 班级: 11软工java2班 学号: 1115115020 姓名:戴春奇 成绩: 2014年5月

1.课题概述 1.1 课题简介 随着社会的发展,人们对知识的需求也不断的增长。在这种形式下,人们就要不断的学习,不断的给自己充电,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学的管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展。图书馆作为一种信息资源的集散地,用户借阅资料繁多,包含很多的信息数据的管理。现今,有很多的图书馆都是初步开始使用,有些甚至尚未使用计算机进行信息管理。数据信息处理工作量大,容易出错;用于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出。因此一个好的图书馆管理系统是非常重要的。 1.2 功能描述 1.登录模块 用户登录:用户在登陆页面登陆,登陆成功进入系统。 管理员登陆:用于管理员的登陆,在后台登陆页面登陆,登陆成功进入系统。图书管理员与系统管理员后台功能不一样。查询用户表,对应用户名、密码正确则进入系统,对应用户名密码不正确则显示相应信息。 2.图书管理模块 对图书进行添加、查询、修改、删除、添加。

将输入的图书信息添加到数据库图书表中,以方便进行各种查询及更新操作,根据输入的图书名称或作者,查询数据库图书表中的相应记录并显示相应图书信息,更新数据库图书表中对应记录并显示更新后的图书信息,删除数据库图书表中对应记录。 3.副本信息模块 对图书的副本信息进行添加、修改、删除。将输入的图书副本信息添加到副本表中,并分配一个独立的中南码根据输入的中南码或国际标准图书编码,查询图书副本表,显示副本信息更新副本表的数据库、删除副本表中所对应的图书信息、修改副本表中错误的信息并更新数据库。 4.用户管理模块 对用户进行添加、删除、修改。将输入的用户信息添加到用户表中,并分配一个独立的用户号根据输入的用户名的姓名或生日,查询用户表,显示用户信息更新用户表的数据库、删除用户表中所对应的、修改用户中错误的信息并更新数据库。 2、数据库设计及实现 2.1 数据库表清单 1、图书信息-----Books表

大型数据库实验报告

中南大学大型数据库实验报告 课程名称大型数据库技术指导教师 姓名 学号 专业班级

《大型数据库技术》实验三 1.写一个PROC程序,查询并显示表Agents的所有记录。要求定义一个数组类型的宿主变量,一次性把所有记录从服务器端传送到客户端,然后逐行显示。 Java代码如下: public void selectAgents() throws Exception { Connection conn = this.getConnection(); Statement stmnt = conn.createStatement(); ResultSet set = stmnt.executeQuery("select * from Agents"); System.out.println("查询结果如下:\n"); while (set.next()) { String id = set.getString("AID"); String name = set.getString("ANAME"); String city = set.getString("CITY"); int percent = set.getInt("PERCENT"); System.out.println("aid:"+ id + " aname:"+ name + " city:" + city + " percent:" + percent); } set.close(); stmnt.close(); conn.close(); } 测试代码: public static void main(String[] args) throws Exception { String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "jelly"; String pwd = "csusoft"; DBOpers db = new DBOpers(url, user, pwd); db.selectAgents(); } 测试结果: 2.写一个PROC程序,根据用户输入的城市,查询并逐行显示该城市所有顾客的编号、名称和折扣。如果该城市中不存在任何顾客,则调用一个错误处理函数,函数中显示错误信息:“该城市中不存在顾客”。 Java代码如下:

相关文档