Oracle数据库综合实验

  • 格式:doc
  • 大小:121.50 KB
  • 文档页数:14

华北科技学院计算机系综合性实验

实 验 报 告

课程名称 Oracle数据库

实验学期 2010 至 2011 学年 第 2 学期

学生所在系部 基础部

年级 2008 专业班级 计算B082

学生姓名 范玉文 学号 200809014212

任课教师 郭慧

实验成绩

计算机系制

华北科技学院计算机系综合性实验报告

第 1 页

《 Oracle数据库 》课程综合性实验指导单

适用专业:计算机相关专业

一、 实验题目:

Oracle数据库的管理和应用程序的开发

二、 实验目的:

掌握Oracle数据库的对象的创建和管理方法,巩固对Oracle数据库基本原理和基础理论的理解。掌握使用ODBC开发Oracle数据库应用程序的技术,巩固对Oracle数据库基本原理和基础理论的理解。

三、 实验设备及环境:

硬件:多媒体计算机

软件:Windows 2003操作系统,Oracle 9i 数据库管理系统

四、 实验内容及要求:

1. 设计教务管理系统数据库,要求:

(1)建立不少于四个数据表,建立各表的主键和外键约束;

(2)建立至少一个视图;

(3)数据表和视图的名称和字段自行设定;

(4)各数据表和视图存储的表空间为Student,方案为Student

2. 开发应用程序

(1)使用ODBC或其他方法连接数据库

(2)通过应用程序向各数据表中插入若干条记录

(3)通过应用程序对各表和视图进行记录的查询和修改

五、 考核标准:

综合实验说明书一般不少于1500字,说明书除了在封面中应有题目、班级、姓名、学号和实验日期外,其正文一般包括需求分析、概念设计、逻辑设计、测试、用户使用说明,参考文献等,综合实验课程成绩占10%。

撰写人:杜杏菁

撰写时间: 2007.11.25华北科技学院计算机系综合性实验报告

第 2 页 《 Oracle数据库》课程综合性实验报告

开课实验室: 基础实验室一 2011年5 月18日

实验题目 Oracle数据库的管理和应用程序的开发

一、实验目的

掌握Oracle数据库的对象的创建和管理方法,巩固对Oracle数据库基本原理和基础理论的理解。掌握开发Oracle数据库应用程序的技术,巩固对Oracle数据库基本原理和基础理论的理解。

二、设备与环境

硬件:多媒体计算机

软件:Windows 2003操作系统,Oracle 9i 数据库管理系统,应用程序开发环境visual

c++ 6.0

三、实验内容

1. 设计教务管理系统数据库

(1)创建用户

CREATE USER "STUDENT" PROFILE "DEFAULT"

IDENTIFIED BY "student" DEFAULT TABLESPACE "USERS"

QUOTA UNLIMITED

ON "SYSTEM"

QUOTA UNLIMITED

ON "TEMP"

QUOTA UNLIMITED

ON "USERS"

QUOTA UNLIMITED

ON "XDB"

ACCOUNT UNLOCK;

GRANT "CONNECT" TO "STUDENT" WITH ADMIN OPTION;

GRANT "DBA" TO "STUDENT";

华北科技学院计算机系综合性实验报告

第 3 页 (2)创建表空间

CREATE TABLESPACE "STUDENT"

LOGGING

DATAFILE 'C:\ORACLE\ORADATA\DATABASE\STUDENT.ora' SIZE 5M

EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

(3)创建学生表

CREATE TABLE "STUDENT"."STU" ("SID" VARCHAR2(10) NOT NULL,

"SNAME" VARCHAR2(10) NOT NULL, "SSEX" VARCHAR2(10) NOT NULL,

"SPSW" VARCHAR2(10) NOT NULL,

CONSTRAINT "A1" PRIMARY KEY("SID"),

CONSTRAINT "A2" CHECK(SSEX IN('男','女')))

TABLESPACE "STUDENT"

STORAGE ( INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS

UNLIMITED PCTINCREASE 11)

修改一下

ALTER TABLE "STUDENT"."STU" MODIFY("SNAME" NULL, "SSEX" NULL,

"SPSW" NULL)

(4)创建老师表

CREATE TABLE "STUDENT"."TEA" ("TID" VARCHAR2(10) NOT NULL,

"TNAME" VARCHAR2(10) NOT NULL, "TSEX" VARCHAR2(4) NOT NULL,

"TPSW" VARCHAR2(10) NOT NULL,

CONSTRAINT "T1" PRIMARY KEY("TID"),

CONSTRAINT "T2" CHECK(TSEX IN ('男','女')))

TABLESPACE "STUDENT"

STORAGE ( INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS

UNLIMITED PCTINCREASE 11)

修改一下

ALTER TABLE "STUDENT"."STU" MODIFY("SNAME" NULL, "SSEX" NULL,

"SPSW" NULL)

(5)创建课程表

CREATE TABLE "STUDENT"."COU" ("CID" VARCHAR2(10) NOT NULL,

"CNAME" VARCHAR2(10) NOT NULL, "CGRADE" VARCHAR2(10) NOT

NULL,

CONSTRAINT "C1" PRIMARY KEY("CID")) 华北科技学院计算机系综合性实验报告

第 4 页 TABLESPACE "STUDENT"

STORAGE ( INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS

UNLIMITED PCTINCREASE 11)

修改一下

ALTER TABLE "STUDENT"."COU" MODIFY("CNAME" NULL, "CGRADE"

NULL)

(6)创建缺课表

CREATE TABLE STUDENT.ABS

(ATID VARCHAR2(10) NOT NULL,

ASID VARCHAR2(10) NOT NULL,

ATIME VARCHAR2(10) NOT NULL,

AKIND VARCHAR2(10) NOT NULL,

ACID VARCHAR2(10) NOT NULL,

CONSTRAINT "A11" PRIMARY KEY("ATID", "ASID", "ACID" ),

CONSTRAINT "A22" CHECK(AKIND IN('旷课','迟到','早退','请假')),

CONSTRAINT "A3" FOREIGN KEY(ATID) REFERENCES STUDENT.TEA(TID)

ON DELETE CASCADE,

CONSTRAINT "A4" FOREIGN KEY(ASID) REFERENCES STUDENT.STU(SID)

ON DELETE CASCADE,

CONSTRAINT "A5" FOREIGN KEY(ACID) REFERENCES STUDENT.COU(CID)

ON DELETE CASCADE

)

TABLESPACE STUDENT

修改一下缺课表

ALTER TABLE "STUDENT"."ABS" MODIFY("ATIME" VARCHAR2(10) NULL)

(7)迟到视图创建

CREATE VIEW "STUDENT"."LATE" AS

SELECT *

FROM ABS

WHERE AKIND='迟到' WITH READ ONLY

华北科技学院计算机系综合性实验报告

第 5 页 2.开发应用程序

(1)登录界面

代码:

void CFYWDlg::OnOK()

{

UpdateData(TRUE);

m_leixing="管理员";

if(m_leixing=="管理员"&&m_name=="sa"&&m_psw=="sa")

{

CManagermain Man;

Man.DoModal();

}

else{

MessageBox("用户名不存在,请重新输入!", "用户名错误",

MB_ICONINFORMATION);

m_name = "";

m_psw = "";

UpdateData(FALSE);//将空值赋给窗口中变量

GetDlgItem(IDC_EDIT1)->SetFocus();

return;

}

CDialog::OnOK();

}

(2)管理界面