数据库系统原理课程设计_第1页
数据库系统原理课程设计_第2页
数据库系统原理课程设计_第3页
数据库系统原理课程设计_第4页
数据库系统原理课程设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1部分Oracle管理技术

实验1数据库管理

目的和要求

(1)了解Oracle数据库的逻辑结构和物理结构;

(2)了解OracleEnterpriseManager的使用情况;

(3)学习关闭和启动数据库实例的方法;

(4)学习使用SQL语句创建数据库的方法;

(5)学习使用SQL语句删除数据库的方法。

实验准备

首先要了解Oracle数据库的逻辑结构,包括方案(schema)对象、数据块(datablock).

区间(extent)、段(segment)和表空间(tablespace)等。数据库由若干个表空间组成,表

空间由表组成,段由区间组成,区间则由数据块组成。Oracle数据库的物理结构由构成数据

库的操作系统文件所决定,每个Oracle数据库都由3种类型的文件组成:数据文件、日志

文件和控制文件。这些数据库文件为数据库信息提供真正的物理存储。

EnterpriseManager9i是Oracle9i提供的新的管理工具,简称EM。使用它可以完成启

动、关闭数据库,创建、删除数据库等功能。只有系统管理员或拥有CREATEDATABASE

权限的用户才能创建数据库。可以在EnterpriseManager中通过图形界面创建数据库,也可

以使用CREATEDATABASE语句仓”建数据库。

实验内容

本实验主要包括以下内容。

(1)练习使用不同方法启动和关闭数据库实例。

(2)练习使用不同方法创建和删除数据库,要使操作的数据库为用户管理数据库

UserMan«

1.使用SHUTDOWN命令关闭数据库实例

练习使用SHUTDOWN命令关闭数据库实例,分别按以下方式启动数据库实例。

(I)正常关闭。等待当前所有已连接的用户断开与数据库的连接,然后关闭数据库。

正常关闭的语句如下:

SHUTDOWNNORMAL

第1部分Oracle管理技术

K}:\DocunentsandSettingsXAdfiinistrator>sqlplus/nolog

SQL*Plus:Release9.2.0.1.0-Productionon星期二2月2114:16:002012

Copyright<c>1982,2002,OracleCorporation.Allrightsreserued.

SQL>connect/assysdba

日连接。

SQL>

SQL>shutdownnormal

数据库己经关闭。

己”卸载数嘉库。

ORACLE刷鹤经关闭

(2)立即关闭。回退活动事务处理并断开所有已连接的用户,然后关闭数据库。立即

关闭的语句如下:

SHUTDOWNIMMEDIATE

SQL>shutdownimmediate

数居库己经关闭。

己角卸载数谓库。

ORACLE例程白经关闭。

(3)事务处理关闭。完成事务处理后断开所有己连接的用户,然后关闭数据库。事务

处理关闭的语句如下:

SHUTDOWNTRANSACTIONAL

SQL>shutdowntransactional

数据库己经关闭。

己经卸载期据库。

ORACLE御鳄经关闭

(4)中止关闭。中止数据库实例,立即关闭数据库。中止关闭的语句如下:

SHUTDOWNABORT

SQL>shutdownabort

ORACLE例和已经关闭。

每次执行SHUTDOWN语句关闭数据库实例之前,请执行STARTUP命令启动数据库。

2.使用STARTUP命令启动数据库实例

练习使用STARTUP命令启动数据库实例,分别按以下方式启动数据库实例。

(1)启动数据库实例时不装载数据库。执行此操作的命令如下:

STARTUPNOMOUNT

SQL>startupnomount

ORACLE例程己经点才。

TotalSystemGlobalArea126950220bytes

FixedSize453452bytes

UariableSize109051904bytes

DatabaseBuffers16777216bytes

RedoBuffers667648bytes

(2)后动数据库实例,装载数据库,但不打开数据库。通常在数据库维护时执行此操

作,对应的命令如下:

STARTUPMOUNT

第1部分Oracle管理技术

SQL>startupmount

ORACLE例程已经启双

TotalSystemGlobalArea126950220bytes

FixedSize453452bytes

UariableSize109051904bytes

DatabaseBuffers16777216bytes

RedoBuffers667648bytes

数据库装载完毕。

(3)启动数据库实例,装载数据库,打开数据库。执行此操作的命令如下:

STARTUPOPEN

SQL>startupopen

ORACLE例程己经启动。

rotalSystemGlobalArea126950220bytes

FixedSize453452bytes

UariableSize109051904bytes

DatabaseBuffers16777216bytes

RedoBuffers667648bytes

数痹库装载完毕。

数根库已经打开。

(4)强制实例启动。在遇到特殊异常的情况时,可以强制启动实例。强制启动实例的

语句如下;

STARTUPFORCE

SQL>startupforce

ORACLE例程己经启动。

FotalSystemGlobalArea126950220bytes

FixedSize453452bytes

UariableSize109051904bytes

DatabaseBuffers16777216bytes

RedoBuffers667648bytes

数痹库装载完毕。

数揖库己经打开。

该语句将数据库强行肩动到OPEN模式

(5)启动后限制对数据库实例的访问。执行此操作的命令如下:

STARTUPRESTRICT

SQL>startuprestrict

ORACLE例程己经启动。

TotalSystemGlobalArea126950220bytes

FixedSize453452bytes

UariableSize109051904bytes

DatabaseBuffers16777216bytes

RedoBuffers667648bytes

每次执行STARTUP语句启动数据库实例之前,请执行SHUTDOWN命令关闭数据库。

3.使用ORACLEEnterpriseManager关闭数据库实例

按照下面的步骤关闭数据库实例。

(1)在数据库处于打开状态时,使用SYS用户以SYSDBA身份登录到Enterprise

Manager,在主目录页面的“一般信息”栏目中,可以看到“关闭”按钮。

2

第1部分Oracle管理技术

物*:网络

□&LJ数据库

■nhjASSYS(

(2)单击“关闭”按钮,可以打开“主机和目标数据库身份证明”页面。用户需要拥

有管理员的权限才能关闭数据库实例,包括主:机操作系统的管理员和当前数据库实例的

SYSDBA用户。

(3)输入完成后,单击“确定”按钮,打开“确认关闭”页面。

(4)单击“是”按钮,开始关闭数据库。关闭操作完成后,单击“刷新”按钮,打开

”启动数据库实例”页面,

4.使用ORACLEEnterpriseManager启动数据库实例

按照下面的步骤启动数据库实例。

(1)使用SYS用户以SYSDBA身份登录到EnterpriseManager。

(2)单击“启动”按钮,打开“主机和目标数据库身份证明”页面。用户需要报有管

理员的权限才能启动数据库实例,包括主机操作系统的管理员和当前数据库实例的SYSDBA

用户。

(3)输入完成后,单击“确定”按钮,打开“确认打开”页面。

3

第1部分Oracle管理技术

(4)单击“是”按钮,开始打开数据库。

5.使用SQL语句创建数据库

按照如下条件创建数据库OraclcDB(以SYSDBA的用户身份连接到数据库)。

(1)设置SYS用户的密码为SYSPWD,设置SYSTEM用户的密码为SYSTEMPWD,

(2)使用已有的控制文件。

(3)指定日志文件组redo01.log,大小为100MB;指定日志文件组redo02.log,大小为

lOOMBo设置最大的日志文件数量为10。

(4)定义口志文件组中最大的口志文件数量为5o

(5)定义最大的数据文件数量为100。

(6)定义数据库中最大的实例数量为1。

(7)定义存储数据的字符集为US7ASCH。

(8)定义数据文件名称为SYSOl.dbf,初始大小为100MB。

(9)定义默认的表空间为lbs」。

(10)定义临时表空间为temptsl。

(11)定义临时文件为tempOl.dbf,大小为10MB。

CREATEDATABASE语句实例:

CREATEDATABASEOracleDB

USER5Y5IbENTiriEbBY5Y5PW0

USERSYSTEMIDENTIFIEDBYSYSTEMPWD

CONTROLFILEREUSE

LOGFILEGROUP1('redo01.log)SIZE100M,

GROUP2('redoO2.log')SIZE100M,

MAXLOGFILES10

MAXLOGMEMBERS5

MAXDATAFILES100

MAXINSTANCES1

CHARACTERbEIU57Ass1

DATAFILE'sysOl.dbf,SIZE100MREUSE

EXTENTMANAGEMENTLOCAL

DEFAULTTABLESPACEtbs_l

DEFAULTTEMPORARYTABLESPACEtemptsl

TEMPFILE'tempOl.dbf,SIZE10MREUSE;

6.使用SQL语句删除数据库

按照如下步骤删除数据库UserMan.

(1)在删除数据库之前,需要用户以SYSDBA或SYSOPER身份登录,代码如下:

CONNECTSYS/SYSPWbASSYSDBA;

其中SYSPWD为SYS川户的密码,请根据实际情况输入。

(2)关闭数据库,再以MOUNT模式启动数据库,代码如下:

SHUTDOWNIMMEDIATE;

STARTUPMOUNT;

(3)删除数据库,代码如下:

DROPDATABASE;

4

第1部分Oracle管理技术

实验2角色和用户管理

目的和要求

(I)了解Oracle数据库用户和角色的概念;

(2)学习使用SQL语句创建Oracle用户;

(3)学习使用SQL语句创建Oracle角色;

(4)学习使用SQL语句指定用户的角色。

实验准备

(1)了解Oracle数据库用户可以分为6种类型,即数据库管理员、安全官员、网络管

理员、应用程序开发员、应用程序管理员和数据库用户;

(2)了解角色是对用户的一种分类管理办法,不同权限的用户可以分为不同的角色;

(3)了解使用CREATEROLE语句创建角色的方法;

(4)了解使用DROPROLE语句删除角色的方法;

(5)了解使用GRANT语句指定用户角色的方法;

(5)了解使用CREATEUSER语句创建用户的方法;

(4)了解使用DROPUSER语句删除用户的方法。

实验内容

本实验主要包括以下内容。

(1)练习使用SQL涪句创建数据库角色;

(2)练习使用SQL:吾句为数据库角色授予权限;

(3)练习使用SQL潜句指定用户角色;

(4)练习使用SQL君句创建数据库用户。

1.使用SQL语句创建数据库角色

参照下面的步骤练习使用CREATEROLE语句创建数据库角色。

(1)以SYSTEM用户登录到SQL*PLUS。

(2)使用CREATEROLE语句创建角色UserManRole,密码为myrolepwd,代码如下:

CREATEROLEUscrMcnRoleIDENTIFIEDBYmyrolepwd;

SQL*Plus:Release9.2.0.1.0-Productionon星期三2月2210:02:532012

Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.

己连接。

角色已创建

2.使用SQL语句为数据库角色授权

参照下面的步骤练习使用GRANT语句为数据库角色授权。

(1)以SYSTEM用户登录至ljSQL*PLUS。

(2)使用GRANT语句将角色UserManRoIe授予CONNECT和RESOURCE权限,代

码如下:

--设置角色权限

5

第1部分Oracle管理技术

GRANTCONNECTTOUserManRole;

GRANTRESOURCETOUserManRole;

授权成功.

授权成功.

3.使用SQL语句创建数据库用户

参照下面的步骤练习使用CREATEUSER语句创建数据库用户。

(1)以SYSTEM用户登录至ljSQL*PLUSo

(2)使用CREATEUSER语句创建用户UserManAdmin,密码为UserPwd,代码如下:

CREATEUSERUserManAdminIDENTIFIEDBYUserPwd

DEFAULTTABLESPACEUSERS

TEMPORARYTABLESPACETEMP;

用户已创建

(3)使用GRANT语句对用户UserManAdmin授予系统权限UNLIMITED

TABLESPACE.代码如下:

-设置系统权限

GRANTUNLIMITEDTABLESPACETOUserManAdmin;

授权成功。

4.使用SQL语句指定用户角色

参照下面的步骤将用户UserMan指定为角色UserManRoleo

(1)以SYSTEM用户登录至iJSQL*PLUS。

(2)使用GRANT语句将用户UserMan指定为角色UserManRole,代码如下:

GRANTUserManRoleTOUserManAdmin;

授权成功.

实验3表和视图管理

目的和要求

(1)了解Oracle表和视图的概念;

<2)学习使用SQL语句创建表;

(3)学习使用SELECT语句查询数据;

(4)学习使用SQL语句创建视图。

实验准备

(1)了解表是数据走中最常用的数据存储单元,它包括所有用户可以访问的数据。作

为关系型数据库,Oracle表由行和列组成。

(2)视图是一个虚拟的表,它在物理上并不存在。视图可以把表或其它视图的数据按

照一定的条件组合起来,所以也可以把它看成是一个存储的查询。视图并不包含数据,它只

6

第1部分Oracle管理技术

是从基表中读取数据。

(3)了解使用CREATETABLE语句创建表的方法。

(4)了解使用SELECT语句查询数据的方法。

(5)了解使用SQL潜句创建视图的方法。

实验内容

本实验主要包括以下内容。

(1)练习使用SQL看句创建表;

(2)练习使用SQL涪句向表中插入数据;

(3)练习使用SQL,吾句修改表中的数据;

(4)练习使用SQL;吾句删除表中的数据;

(5)练习使用SELECT语句查询数据;

(6)练习使用SQL看句创建视图。

1.使用SQL语句创建表

使用CREATETABLE语句创建用户信息表Users,结构如表1所示。

表1表Users的结构

编号字段名称数据结构说明

1UseridNUMBER用户编号

2UserNameVARCHAR240用户名

3UscfTypcNUMBER1用户类型(1管理员用户,2普通月户)

4UserPwdVARCHAR240

参照下面的步骤练习使用CREATETABLE语句创建表Users.

(1)以实验2中创建的UserManAdmin用户登录到SQL*PLUS。

(2)使用CREATETABLE语句仓ij建表Users,代码如下:

CREATETABLEUserManAdmin.Users

(UseridNumberPrimaryKey,

UserNameVarchar2(40)NOTNULL,

UserTypeNumber(l),

UserPwdVarchar2(40)

);

7PJEATETAtiLEUserManAdmin.Users

(UseridNumberPrimaryKey,

UserNameVai:chax2(40)NOTNULL,

UserTypeNumber(1),

UserPwdVarchar2(40)

表已创建。

7

第1部分Oracle管理技术

名称数据类型大小小数位可否为空?款u值

USERIDNUMBER

USERNAMEVARCHAR240

USERTYPENUMBER10

USERPWDVARCHAR240s

使用CREATETABLE语句创建用户登录信息表Logininfo,结构如表2所示。

表2&Logininfo的结构

编号字段名称数据结构说明

1UseridNUMBER用户编号

2LoginTimeCHAR(20)登录时间

参照卜.面的步骤练习使用CREATETABLE语句仓”建表Logininfo。

(I)以实验2中创建的UserManAdmin用户登录到SQL*PLUS。

(2)使用CREATETABLE语句创建表Logininfo,代码如下:

CREATETABLEUserManAdmin.Loginlnfo

(UseridNumber,

LoginTimeCHAR(20)NOTNULL

);

CREATETABLEUserRanAdmin.Loginlnfo

(UseridNumber,

LoginTineCHAR(2)NOTNULL

表已创建。

名称数据类型大小小数位可否为空?默X值

USERIDNUMBER

LOGINTIMECHAR20

2.使用SQL语句向表中插入数据

使用INSERT语句向表Users中插入用户数据,内容如表3所示。

表3表Users中的数据

UseridLserNameUserTypeUserPwd

1Admin1AdminPwd

2User2UserPwd

3Zhangsan2ZhangsanPwd

4Lisi2LisiPwd

参照下面的步骤练习使用INSERT语句向表Users中插入数据。

(1)以实验2中创建的UserManAdmin用户登录到SQL*PLUS。

(2)使用INSERT语句向表Users中插入数据,代码如F:

INSERTINTOUserManAdmin.UsersVALUES(1,'Admin',1/Adminpwd');

INSERTINTOUserManAdmin.UsersVALUES(2,'User',2,'Userpwd');

8

第1部分Oracle管理技术

INSERTINTOUserManAdmin.UsersVALUES(3,'Zhangsan',2,'Zhangsanpwd');

INSERTINTOUserManAdmin.UsersVALUES(4,'Lisi'^/Lisipwd');

COMMIT;

INSERTINTOUserManAdmin.UsersVALUES(1,'admin'.1,'adminpud');

1

INSERTINTOUserManAdmin.UsersVALUES(2,'userz2,'userpwd');

INSERTINTOUserManAdmin.UsersVALUES(3,1zhangsan1,2,1zhangsanpud1);

INSERTINTOUserNanAdmin.UsersVALUES(4,'lisi'z2,'lisipwd');

COMMIT;

1Admin1AdminPud

2User2UserPwd

3Zhangsan2ZhangsanPud

4Lisi2LisiPwd

巳选择4行.|

使用INSERT语句向表Logininfo中插入数据。内容如表4所示。

参照下面的步骤练习使用INSERT语句向表Logininfo中插入数据。

(1)以实验2中创建的UscrManAdmin用户登录到SQL*PLUS.

(2)使用INSERT语句向表Logininfo中插入数据,代码如下:

INSERTINTOUserManAdmin.LoginlnfoVALUES(1,'2010-5-151O:33:O2\);

INSERTINTOUserManAdmin.LoginlnfoVALUES。,'2010-5-1608:34:13;);

INSERTINTOUserManAdmin.LoginlnfoVALUES(1,'2010-5-1709:13:ll',);

INSERTINTOUserManAdmin.LoginlnfoVALUES(2f,2310-5-1507:35:02',);

INSERTINTOUserManAdmin.LoginlnfoVALUES(2,'2310-5-1608:ll:54\);

INSERTINTOUserManAdmin.LoginlnfoVALUES(2,,2310-5-1709:13:ll;);

INSERTINTOUserManAdmin.LoginlnfoVALUES(3,'2D10-5-1508:34:02,,);

INSERTINTOUserManAdmin.LoginlnfoVALUES(3,'2310-5-1609:34:13,,);

INSERTINTOUserManAdmin.LoginlnfoVALUES(3,12310-5-1710:13:09;);

INSERTINTOUserManAdmin.LoginlnfoVALUES(4,'2910-5-1511:34:02;);

INSERTINTOUserManAdmin.LoginlnfoVALUES(4,'2310-5-1613:34:13;);

INSERTINTOUserManAdmin.LoginlnfoVALUES(4,'2D10-5-1715:13:12',);

COMMIT;

表4表Logininfo中的数据

UseridLoginTimc

12010-5-1510:33:02

12010-5-1608:34:13

9

第1部分Oracle管理技术

12010-5-1709:13:11

22010-5-1507:35:02

22010-5-1608:11:54

22010-5-1709:13:11

32010-5-1508:34:02

32010-5-1609:34:13

32010-5-1710:13:09

42010-5-1511:34:02

4201051613:34:13

42010-5-1715:13:12

已创建1行.

已创建1行.

I

已创建1行。

已创建1行.

提交完成.

USERIDLOGINTIME

12010-5-1510:33:02

12010-5-1608:34:13

12010-5-1709:13:11

22010-5-1507:35:02

22010-5-1608:11:54

22010-5-1709:13:11

32010-5-1508:34:02

32010-5-1609:34:13

32010-5-1710:13:09

42010-5-1511:34:02

42010-5-1613:34:13

42010-5-1715:13:12

3.使用SQL语句修改表中的数据

使用UPDATE语句可以修改表Users中的数据。参照下面的步骤练习将表Users中

Admin用户的密码修改为AdminPasswordo

(1)以SYSTEM用户登录至ljSQL*PLUS。

(2)使用UPDATE语句将表Users中Admin用户的密码修改为AdminPassword,代码

如下:

UPDATEUserManAdmin.UsersSETUserPwd='AdminPassword'WHEREUserName='Admin';

已连接。

已更新1行.

10

第1部分Oracle管理技术

(3)使用SELECT语句查看用户Admin的密码,代码如下:

SELECTUserPwdFROMUserManAdmin.UsersWHEREUserName="Admin'

USERPWD

AdminPassword

已选择1行。

4.使用SQL语句删除表中的数据

使用DELETE语句可以删除表Users中的数据。参照下面的步骤练习将表Users中

Zhansan用户的记录删除。

(1)以SYSTEM用户登录至lJSQL*PLUS。

(2)使用DELETE语句将表Users中Zhangsan用户的记录删除,代码如下:

DELETEFROMUserManAdmin.UsersWHEREUserName='Zhangsan';

已连接・

已删除1行・

(3)使用SELECT语句查看表Users中的数据.确认用户Zhangsan的记录是否被删除.

代码如下:

SELECT*FROMUserManAdmin.Users

已连接.

USERIDUSERNAMEUSERTYPEUSERPUD

1Admin1AdminPassword

2User2Userpwd

4Lisi2Lisipwd

已选择3行・

5.使用SELECT语句查询数据

使用SELECT语句查询数据库中的用户数据,分别按以下方式查询数据库。

(1)查询表Users中的所有数据。

以SYSTEM用户登录到SQL*PLUS,然后执行如下代码:

SELECT*FROMUserManAdmin.Users

已连接.

USERIDUSERHAMEUSERTTPEUSERPWD

1Admin1AdMinPassvocd

2User2Userpwd

4Lisi2Lisipwd

已选择3行.

"弋表UserManAdmin.Users中的所有字段。

(2)在返回结果中使用自定义标题。

以SYSTEM用户登录到SQL*PLUS,然后执行如下代码:

SELECTUserNameAS用户名,UserPwdAS密码FROMUserManAdmin.Users

11

第1部分Oracle管理技术

已连接.

用户名密码

AdminAdminPassuord

UserUserpwd

LisiLisipud

已选择3行.

(3)设置查询条件。

查询所有普通用户的信息。以SYSTEM用户登录至l|SQL*PLUS,然后执行如下代码:

SELECT*FROMUserManAdmin.UsersWHEREUserType=2;

已连接-

USERIDUSERNAMEUSERTYPEUSERPUD

2User2Userpwd

4Lisi2Lisipwd

已选择2行。

查询用户Admin的密码信息。以SYSTEM用户登录到SQL水PLUS,然后执行如下代码:

SELECTUserPwdFROMUserManAdmin.UsersWHEREUserName='Admin,;

已连接。

USERPUD

AdminPassword

已选择1行.

(4)对查询结果进行排序。

查询所有普通用户的信息,并按用户名的降序排列结果集。以SYSTEM用户登录到

SQL*PLUS,然后执行如下代码:

SELECT*FROMUserManAdmin.UsersORDERBYUserNameDESC;

已连接・

USERIDUSERNAHEUSEF.TYPEUSERPUD

2User2Userpwd

4Lisi2Lisipwd

1Admin1AdminPassword

己选择指.

(5)对记录进行统计。

统计表Users中共有多少个用户记录。以SYSTEM用户登录至ljSQL*PLUS,然后执行

如下代码:

SELECTCOUNT(*)FROMUserManAdmin.Users;

12

第1部分Oracle管理技术

已连接.

C0UNT(*)

3

已选择1行.

(6)实现连接查询。

查看每个用户的登录记录。以SYSTEM用户登录至l|SQL*PLUS,然后执行如下代码:

SELECTu.UserName,l.LoginTimeFROMUsersuINNE5JOINLogininfo1

ONu.UserId=l.UserID;

USERNAMELOGINTIME

Adsin2010-5-1510:33:02

Ad>in2010-5-1608:34:13

Adkin2010-5-1709:13:11

User2010-5-1507:35:02

User2010-5-1608:11:54

User2010-5-1709:13:11

Lisi2010-5-1511:34:02

Lisi2010-5-1613:34:13

Lisi2010-5-1715:13:12

AdMin2010-5-1510:33:02

Adain201051608:34:13

AdBin2010-5-1709:13:11

User2010-5-1507:35:02

User2010-5-1608:11:54

User2010-5-1709:13:11

Lisi2010-5-1511:34:02

Lisi2010-5-1613:34:13

Lisi2010-5-1715:13:12

已选择18行.

在上面的SELECT语句中涉及两个表:表Users和表Logininfo。在FROM子句中,

为每个表指定一个别名,表Users的别名为u,表Login工nfo的别名为1。

6.使用SQL语句创建视图

使用CREATEVIEW语句创建用户登录信息表UserLogin,代码如下:

CREATEVIEWUserLcgin

AS

SELECTu.UserName,l.LoginTimeFROMUsersuINNERJOINLogininfo1

ONu.UserId=l.UserID;

已连接。

视图已建立.

SELECT*FROMUserLogin;

13

第1部分Oracle管理技术

USERNAMELOGINTIME

Admin2010-5-1510:33:02

Admin2010-5-1608:34:13

Admin2010-5-1709:13:11

User2010-5-1507:35:02

User2010-5-1608:11:54

User2010-5-1709:13:11

Lisi2010-5-1511:34:02

Lisi2010-5-1613:34:13

Lisi2010-S-1715:13:12

Admin2010-5-1510:33:02

Admin2010-5-1608:34:13

Admin2010-5-1709:13:11

User2010-5-1507:35:02

User2010-5-1608:11:54

User2010-5-1709:13:11

Lisi2010-5-1511:34:02

Lisi2010-5-1613:34:13

Lisi2010-5-1715:13:12

已选择18行.

实验4索引和序列管理

目的和要求

(1)了解索引的概念和作用;

(2)了解序列的概念和作用;

(3)学习使用SQL语句创建索引;

(4)学习使用SQL语句创建序列。

实验准备

(1)了解索引是对数据库表中一个或多个列的值让行排序的结构。可以利用索引快速

访问数据库表中的特定信息。

(2)了解序列号是一个Oracle整数,最多可有38个数字。序列的作用是自动生成整

型数值,作为表中标识字段的值。有许多表在创建时定义了一个标识字段,此字段的值需要

由系统自动生成,每当插入一条新记录时,此字段的值自动加Io在Oracle中,这个我能由

序列来实现。

(3)了解使用CREATEINDEX语句创建索引的方法。

(4)了解使用CREATESEQUENCE语句创建序列的方法。

实验内容

本实验主要包括以下内容。

(1)练习使用SQL:吾句创建索引;

(2)练习使用SQL君句创建序列;

1,使用SQL语句创建索引

使用CREATEINDEX语句在Users表的UscrNamc字段上创建索引。代码如下:

CREATEINDEXindex_usernameONUsers(UserName)

TABLESPACEUsers;

14

第1部分Oracle管理技术

已连接。

索引已创建。

2.在创建表的同时创建索引

在使用CREATETABLE语句创建表的同时,可以为指定字段创建索引。创建表

Employees,在字段EmpName上创建索引。表Employees的结构如表5所示。

表5表Employees的结构

编号字段名称数据结构说明

1EmpldNUMBER编号

2EmpNameVARCHAR2(50)姓名

3SexCHAR(2)性别

4UseridNUMBER用户编号

代码如下:

CREATETABLEEmployees

(EmpldNumber,

EmpNameVARCHAR2(50)UNIQUE,

SexCHAR(2),

UseridNumber

);

已连接-

表已创建。

名称数据类型大小小数位可否为生?■默认值

由叫$

EMPIDNUMBER

EMPNAMEVARCHAR250

0]ERROR$

SEXCHAR2

明DTACT$

USERIDNUMBER

[T]EXPDEPACT$

3.使用SQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论