数据库原理实验任务

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1数据库原理A实验任务说明实验平台操作系统:Windows7或Windows8或WindowsXP。数据库管理系统:Oracle11g或Oracle12c。注:各位同学自备笔记本电脑,在自己的电脑上完成全部实验任务;在安排的时间到指定的实验室进行实验。实验任务上机任务分为三大部分第一部分基本操作。(要求菜单式方式,命令方式两种方式都会))第二部分基于服务器端数据库系统实例练习。第三部分数据库连接。上机安排:上机前自行完成实验1Oracle11g或Oracle12c的安装和使用第一次:实验2SQL数据定义、数据更新和数据查询第二次:实验3SQL数据完整性控制实验4SQL数据安全性控制实验5存储过程第三次:实验6触发器实验7数据导入导出第四次:实验8基于服务器端开发的职工管理系统(用PL/SQL编程实现,提交电子档作为上机作业。)实验9数据库连接2第一部分基本操作实验1Oracle11g或Oracle12c的安装和使用(上机前自行完成)实验目的:1.通过安装某个数据库管理系统,初步了解Oracle11g或Oracle12c的运行环境。2.了解Oracle11g或Oracle12c交互界面、图形界面和系统管理工具的使用。3.搭建实验平台。实验内容和要求:1.根据某个Oracle版本的安装说明等文档,安装Oracle11g或Oracle12c。2.了解Oracle11g或Oracle12c的用户管理。3.熟悉交互界面的基本交互命令。4.熟悉图形界面的功能和操作。5.了解基本的Oracle11g或Oracle12c管理功能和操作。6.熟悉在线帮助系统的使用。实验2SQL数据定义和数据操纵等实验目的:1.掌握关系数据库语言SQL的使用。2.使所有的SQL作业都能上机通过。实验内容和要求:1.建立数据库和表。要求建立的数据库为SPJ数据库,S、P、J、SPJ个表,具体表中属性见教材第二章习题5。2.数据定义:表的建立/删除/修改;索引的建立/删除;视图的建立/删除3.数据更新:用insert/delete/update命令插入/删除/修改表数据。4.数据查询:单表查询,多表查询,嵌套子查询等。5.视图操作:通过视图的数据查询和数据修改6.所有的SQL例题、习题及作业都上机通过。表数据操作部分完成如下:插入:要求对建好的S、P表使用菜单的方式输入数据。对J、SPJ表使用插入命令输入数据。查询:第二章习题5、第三章习题5(1)到(8)。更新:第三章习题5(8)、(9)。3删除:第三章习题5(10)。视图的创建及使用部分完成:第三章习题11。索引的创建及使用部分完成:对S、P、J、SPJ表进行分析建立唯一值索引,以及删除索引。要求报告中给出菜单和命令两种实现方式。上机调试运行课本第三章有关SQL语句的习题,练习巩固课堂学习的内容。实验3SQL数据完整性控制实验目的:熟悉通过SQL进行数据完整性控制的方法。实验内容和要求:1.定义若干表,其中包括primarykey,foreignkey和check的定义。2.让表中插入数据,考察primarykey如何控制实体完整性。3.删除被引用表中的行,考察foreignkey中ondelete子句如何控制参照完整性。4.修改被引用表中的行的primarykey,考察foreignkey中onupdate子句如何控制参照完整性。5.修改或插入表中数据,考察check子句如何控制校验完整性。6.定义一个asseration,并通过修改表中数据考察断言如何控制数据完整性。7.*定义一个trigger,并通过修改表中数据考察触发器如何起作用。实验4SQL数据安全性控制实验目的:熟悉通过SQL进行数据完整性控制的方法。实验内容和要求:1.建立表,考察表的生成者拥有该表的哪些权限。2.使用SQL的grant和revoke命令对其他用户进行授权和权力回收,考察相应的作用。3.建立视图,并把该视图的查询权限授予其他用户,考察通过视图进行权限控制的作用。4实验5存储过程实验目的:学会利用SQL进行存储过程的建立及使用。实验内容和要求:1、上机完成课堂存储过程例题2、自行对学生、课程、选修表设计存储过程,如对S表设计一个存储过程,实现对S表插入数据。实验6触发器实验目的:学会利用SQL进行触发器的建立及使用。实验内容和要求:1、上机完成课堂触发器例题2、自行对学生、课程、选修表设计触发器,如对S表设计一个触发器。实验7数据的导入导出实验目的:学会基本的数据导入导出。实验内容和要求:将数据表的数据导出到文本文件或EXCEL文件,设计文本文件和EXCEL文件并导入到库中。5第二部分基于服务器端数据库系统实例练习(上机作业提交:将每小问的命令语句及运行结果截图整理成电子文档doc)题目:职工管理系统(PL/SQL编程实现)要求:(1)创建独立用户EMP,为其用户授权,使其具备管理员角色及创建表、序列等数据对象的权限。提示:创建用户要求当前用户必须具有SYSDBA或SYSOPER身份登录,不能以普通用户连接,否则会出现“权限不足”的错误提示。(2)创建基本表MYEMP,为简单起见,此处从SCOTT用户的EMP复制。复制表参见如下语句:CREATETABLEMYEMPASSELECTEMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNOFROMSCOTT.EMP也可以自己重新建立一遍并输入数据,上述命令是直接从SCOTT用户的EMP表复制过来相关列和数据。(3)根据职工编号查询姓名(创建存储过程EMP_PROC_SELECT)通过用户输入的职工编号查询该职工的姓名,一般来说,PL/SQL语句中将该功能以存储过程的形式提供,用户只需调用并指定编号参数即可。要求该过程通过DBMS_OUTPUT.PUT_LINE函数输出找到的对应编号的姓名,如果没有找到输出提示没有数据。创建完后请执行看效果。(4)根据用户输入插入记录要求创建一个存储过程EMP_PROC_INSERT,调用该存储过程后向MYEMP表插入一行新记录(7999,’Lily’)。完成后执行,然后查询该表看是否完成插入操作。(5)插入记录后返回提示信息要求用户向表中插入一行新记录后,返回“您插入了一行信息”的提示信息。提示:创建一个语句级触发器实现该功能,当执行插入操作后,该触发器被触发。(6)更新工资数据对比为避免用户的误操作,通常在用户修改某个数据后将修改前后的数据显示在系统中,用6以让用户确认该修改。在职工管理系统中,工资列是一个重要数据,因此有必要为其设计一个模块,当用户修改了某一职工的工资后,系统返回修改前后的工资提示信息。提示:创建一个行级触发器来实现更新前后对比数据的功能。(7)根据编号删除职工信息创建存储过程,接收用户调用时输入的职工编号,将该职工从数据表MYEMP中删除,同时返回删除信息。第三部分数据库连接(完成ODBC数据源配置,VC或VS连接数据库,该部分为课程设计奠定基础做准备。)要求实现与数据库的连接部分。数据库的连接分为两种方式:ODBC数据源和OLEDB的方式。上机以ODBC和VC为例实现数据库的连接和简单客户端数据库系统开发程序。主要是体会基于客户端开发系统时知道如何连接数据库,如何利用SQL与数据库进行交互。以邮件管理系统为例,步骤如下:(1)连接数据库(2)完成界面其他控件布局,最初风格显示。(3)完成数据库数据显示到界面控件,即列表控件中显示出数据。(4)对每部分设计添加、删除、修改功能。配置数据库连接数据库部分:ODBC配置数据源以oracle11g为例,oracle12c情况类似。利用配置和移植工具中的ODBC管理员配置,如下图1。7图1-ODBC管理员点击之后进入ODBC数据源管理员器,界面如图2。图2-ODBC数据源管理员器选择系统DSN选项卡,如图3,按“添加”按钮,得到图4的对话框。8图3-添加系统DSN图4为系统DSN添加数据源驱动程序在图4“创建新数据源”名称中移动滑块,找到oracleinoradb11g_home1,如果是12c对应的就是oradb12c…..,选择,再点击“完成”,出现图5。在图5所示对话框中完成用户数据源的配置。填写数据源名,TNS,用户信息,数据源名自己取,如orapm,数据源名在程序中连接数据库或者使用SQL-Dveloper开发工具连接数据库时都会用到。TNS即安装oracle时全局数据库名,一般是orcl。9用户名可以是sys,system,也可以是创建的某用户,如test用户。图5-配置ORACLE数据源填好后点击testConnection按钮,会要求输入用户名密码等,连接成功会弹出提示框。ODBC数据源配置结束。VC程序中连接数据库时利用ODBC连接实例:(1)创建如下界面:创建基于对话框的工程,工程名称为:EmailManagement。主界面创建一个组框,包括三个静态文本框,三个编辑框,两个命令按钮,如图6。三个编辑框分别添加三个变量对应,m_strDBSource,m_strUserName,m_strPassword。(2)如前所述配好ODBC数据源;配置成功后,在CEmailManagementDlg类中创建类CDatabase的对象m_db,在StdAfx.h文件中引入文件#includeafxdb.h。(3)连接按钮编写代码。10图6-应用程序中的对话框连接按钮代码:voidCEmailManagementDlg::OnBtnConn(){//TODO:Addyourcontrolnotificationhandlercodehereif(!UpdateData())return;if(m_db.IsOpen()){AfxMessageBox(数据库已经连接);return;}if(m_strDBSource.IsEmpty()||m_strUserName.IsEmpty()||m_strPassword.IsEmpty()){AfxMessageBox(数据库配置参数不能够为空);return;}CStringstrConnect;strConnect.Format(DSN=%s;UID=%s;PWD=%s,m_strDBSource,m_strUserName,m_strPassword);11TRY{m_db.OpenEx(strConnect,CDatabase::noOdbcDialog);}CATCH(CDBException,ex){AfxMessageBox(ex-m_strError);AfxMessageBox(ex-m_strStateNativeOrigin);}AND_CATCH(CMemoryException,pEx){pEx-ReportError();AfxMessageBox(memoryexception);}AND_CATCH(CException,e){TCHARszError[100];e-GetErrorMessage(szError,100);AfxMessageBox(szError);}END_CATCH}运行程序,数据库连接成功界面如图7。12图7-运行应用程序,成功连接数据库

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功