orcal备课笔记.docx

上传人:b****8 文档编号:29810509 上传时间:2023-07-27 格式:DOCX 页数:57 大小:40.67KB
下载 相关 举报
orcal备课笔记.docx_第1页
第1页 / 共57页
orcal备课笔记.docx_第2页
第2页 / 共57页
orcal备课笔记.docx_第3页
第3页 / 共57页
orcal备课笔记.docx_第4页
第4页 / 共57页
orcal备课笔记.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

orcal备课笔记.docx

《orcal备课笔记.docx》由会员分享,可在线阅读,更多相关《orcal备课笔记.docx(57页珍藏版)》请在冰豆网上搜索。

orcal备课笔记.docx

orcal备课笔记

Oracle备课笔记

Oracle第一课(数据库介绍)备课笔记

一、了解数据库管理系统的不同类型

 

1、数据存储系统 

将数据存储在计算机上的概念就叫数据存储系统。

数据以文本、数字、图片或声音等形式存储。

 

2、数据库是一组在逻辑上相关的信息的集合。

表以行和列的形式保存数据。

实现数据库管理任务的软件叫做数据库管理系统(DBMS)。

3、DBMS的不同类型为:

RDBMS和ORDBMS

RDBMS是由E.F.Codd博士在1970年首先提出的。

RDBMS的例子包括Sybase,MicrosoftAccess,Ingres,Oracle,及SQLServer。

在RDBMS的表中,每个属性叫做一列,每条记录被称为一行。

4、ORDBMS

ORDBMS将面向对象的前端与RDBMS集成起来。

5、面向对象的概念 

在面向对象的方法中,系统被当作一组真实世界中对象的集合。

这些对象以类来分类,类就是拥有共同属性和行为的一组对象。

面向对象方法具有以下特性:

抽象、继承、封装、多态性

二、了解Oracle9i的特性 

可以使用结构化查询语言(SQL)或面向对象的编程语言来访问数据。

可使用内置数据类型在表中存储数据存储。

将复合结构当作单个实体进行存储。

使用ORDBMS的继承特性。

允许创建许多同名函数。

可扩展性使得用户能够定义新的数据类型来存储复合数据。

允许创建对象视图。

三、了解ER图的组成

1、实体-关系(ER)图:

以图形方式表示数据库的逻辑结构,可被看作是数据库的蓝图。

2、画ER图的指南是:

(1)确定各实体

(2)确定实体的属性

(3)确定实体之间的关系,联系的类型:

一对一、一对多或多对一、多对多

四、ER图映射成表的规则:

1、独立存在的实体转换成一个表

2、属性转换成列(字段),可唯一标识一行的属性设置为主键

3、一对一关系,可在两表中互设为主键,也可将两表合并

例如:

部门和部分负责人

4、一对多关系,第一个表的主键可作为第二个表的外键

例如:

班级和学生

5、多对多关系,关系转换成表,原来的两表主键在新表中用做外键

例如:

学生和课程

四、使用SQL*Plus语句

1、SQL语句介绍 

SQL用来检索和维护数据库中数据。

 

使用SQL的优点:

SQL是所有RDBMS使用的公共语言。

SQL不遵循任何特定的执行模式,它一次可以访问多个记录。

SQL使用简单的维护数据的命令。

SQL语句非常接近英语自然语言,因此,易学易懂。

2、查询使用类似英语的语句来从数据库中检索信息。

SQLSQL语句和查询命令用来:

创建和维护数据库。

创建和维护表。

删除数据库和表。

基于条件查询数据。

按所需格式提供查询输出。

创建视图,报告,和表单。

3、数据定义语言(DDL):

包含一组命令,用来创建数据库对象,如表等。

DDL可用于:

创建对象、改变对象、撤消对象

4、数据操纵语言(DML):

用来操纵表数据,包含INSERT、UPDATE和DELETE等命令。

DML可用于:

存储数据、更新数据、删除数据

5、SELECT语句

用于检索表中所有数据,或特定范围的数据。

语法

SELECT{*|select_list}FROMtablename;

五、SQLPlus的使用介绍

Oracle第二课(查询数据库)备课笔记

一、显示格式化的查询输出

1、显示表的指定列

语法如下:

SELECTcolumn_name[,column_name]FROMtablename;

2、使用列别名

可以给这些列取些友善的标题来取代表中缺省列标题。

其语法是:

SELECTcolumn_namecolumn_heading[,column_name…]FROMtablename;

举例:

SELECTcName"RecruiterName"FROMCONTRACTRECRUITER

或者使用

SELECTcNameAS"RecruiterName"FROMCONTRACTRECRUITER

3.DISTINCT子句

在SELECT语句中用来观看表列中唯一的值

语法如下:

:

SELECTDISTINCTcolumn_nameFROMtablename;

二、识别不同类型的运算符

算术运算符:

+、-、*、/、%

比较运算符:

=、<、>、>=、<=、!

=

并置运算符:

||

逻辑运算符:

AND、OR、NOT

其他运算符:

BETWEEN...AND、IN

三、检索表中所选的行

1、SELECT…WHERE语句

用于检索满足特定条件的数据

语法

 SELECTselect_listFROMtablenameWHEREcondition

2、检索带匹配模式的数据

为用匹配字符模式来检索数据,你就要在查询中使用模式匹配运算符

可以和模式匹配运算符一起使用的是两个特殊的字符:

通配符(WildCardCharacter):

%,匹配任意数量的任意字符

定位标记字符(PositionMarkerCharacter):

_,匹配单个的任意字符

举例:

SELECTvFirstNameFROMEmployeeWHEREvFirstNameLIKE'%a%a%';

SELECTvFirstNameFROMEmployeeWHEREvFirstNameLIKE‘_s%’;

3、检索包含空白值的行

ISNULL关键字:

用来检查表中是否包含NULL值的空白列或行.

语法

SELECTselect_listFROMtablenameWHEREcolumn_nameISNULL;

SELECTselect_listFROMtablenameWHEREcolumn_nameISNOTNULL;

四、对查询输出进行排序

ORDERBY子句:

在SELECT语句中用于以特定次序检索数据。

语法

 SELECTselect_listFROMtablename[ORDERBYcolumn_name][ASC]or[DESC];

举例:

SELECTcPositionCode,vDescription  FROMPositionORDERBYcPositionCodeASC;

Oracle第三课(使用函数)备课笔记

一、使用SELECT语句中的函数

1、函数介绍:

函数用于在数据上执行某些操作,如修改显示的数据、转换数据类型或进行计算等。

可分类为:

单行函数

多行函数

2、字符串函数

INITCAP

LOWER

UPPER

LTRIM

RTRIM

CONCAT

SUBSTR

INSTR

LPAD

RPAD

LENGTH

3、数值函数

ABS

CEIL

FLOOR

POWER

MOD

ROUND

4、日期函数

ADD_MONTHS

GREATEST

LEAST

LAST_DAY

MONTHS_BETWEEN

NEXT_DAY

二、使用转换函数

1、隐式转换

此转换类型中,数据类型将根据SELECT语句中函数的要求自动进行转换。

2、显式转换

此转换类型中,数据类型的转换通过一些预定义函数完成。

转换函数有:

日期格式化函数

数值格式化函数

3、日期格式化函数

TO_CHAR

TO_DATE

ROUND

TRUNC

4、数值格式化函数

TO_NUMBER

5、使用通用格式化函数

NVL函数

用来以某个确定的值来替代在NUMBER、DATE、CHAR或VARCHAR2等数据类型的列中存储的空值。

语法

 NVL(value,substitute)

6、Coalesce函数

用来显示基于存储在表中NULL值的记录。

 

语法

 Coalesce(exp_name1,exp_name2…..exp_n)

三、使用条件表达式

用来依据条件来执行语句。

1、IF…THEN…ELSE子句

用来据指定条件的运算结果来执行SQL语句

语法

IFboolean_expression {sql_statement|statement_block}

ELSEboolean_expression{sql_statement|statement_block}

2、CASE子句

Oracle第四课(多表查询)备课笔记

一、了解各种联接类型

1、联接引言:

联接用来检索多表中记录.

2、语法

SELECTtable1.column_name,table2.column_nameFROMtable1,table2WHEREtable1.column1join_operatortable2.column2;

3、Oracle提供的不同联接类型有:

EQUIJOIN(等值联接)

NONEQUIJOIN(非等值联接)

NATURALJOIN(自然联接)

CROSSJOIN(交叉联接)

OUTERJOIN(外部联接)

SELFJOIN(自联接)

二、使用不同类型的检索数据的联接

(一)EQUIJOIN(等值联接)

(1)在比较出现在公共列的值后才显示多表中数据,又称为简单联接或内部联接.

语法

SELECTcolumn_nameFROMtable1JOINtable2ONtable1.ref_column_namejoin_operatortable2.ref_column_name;

 

(2)使用WHERE子句

当基于公共列联接两个表时,使用WHERE子句来指出条件.

例子

SELECTcNewspaperName,vRegion,Country.cCountryFROMNewsPaper,CountryWHERENewsPaper.cCountryCode=Country.cCountryCodeANDcNewspaperName='TexasTimes';

(3)联接多个表

用联接来联接两个以上的表.

例子

SELECTe.vFirstName,c.cName,u.cCountry FROMExternalCandidatee,ContractRecruiterc,Countryu                          WHEREe.cContractRecruiterCode=c.cContractRecruiterCodeANDe.cCountryCode=u.cCountryCode; 

(二)NONEQUIJOIN(非等值联接)

联接两个或多个表时,在条件中使用非等号(=)的运算符..

使用如>、<、>=、<=、!

=、between…and或in等比较运算符.

例子

SELECTExternalCandidate.vFirstName,vLastName,Rating.cCandidateRatingFROMExternalCandidate,RatingWHEREExternalCandidate.nRatingBETWEENRating.nLowerRatingANDRating.nHigherRating;

(三)NATURALJOIN(自然联接)

基于两个表的同名的一个或多个列..

例子

SELECTcEmployeeCode,vFirstName,nAnnualSalary,nYearFROMEmployeeNATURALJOINAnnualSalary;

用USING子句检索记录

如果两个表中你有同名的列,那么你在联接语句里可以使用USING子句.

例子

SELECTcEmployeeCode,vFirstName,nAnnualSalary,nYearFROMEmployeeJOINAnnualSalaryUSING(cEmployeeCode);

(四)CROSSJOIN(交叉联接)

使用关键字CROSS的包含多个表的联接.

例子

SELECT*FROMRequisitionCROSSJOINPosition;

(五)OUTERJOIN(外部联接)

OUTERJOIN

用于检索一个表的所有记录和另一表中的匹配行.

语法

SELECTcolumn_name,column_name[,column_name]FROMtable_name[LEFT|RIGHT|FULL]OUTERJOINtable_nameONtable_name.ref_column_namejoin_operatortable_name.ref_column_name

(六)SELFJOIN(自联接)

SELFJOIN

用于联接在同一个表内的行.

语法

SELECTa.vFirstName“Employee”,b.vFirstName“Supervisor”FROMEmployeea,EmployeebWHEREa.cSupervisorCode=b.cEmployeeCode;

Oracle第五课(作用于多行的函数)备课笔记

一、了解多行函数的不同类型

用来组合查询中多行.

多行函数的类型有:

AVG

返回n个数值的平均值.

SUM

n个值的总和.

COUNT

显示查询返回的行数

MAX

返回一个列中的最大值.

MIN

返回一个列中的最小值.

STDDEV

返回一组值的标准偏差.

VARIANCE

返回一组值的方差.

举例:

SELECTCOUNT(cNewspapercode)“NoofNewspapers”FROMNewspaper;

二、对查询结果进行分组

GROUPBY子句

用来对表中的行进行分组..

语法

SELECTcolumn_name1,column_name2

FROMtable_name

WHEREsearch_condition

GROUPBYgroup_expression

HAVINGsearch_condition;

在GROUPBY子句里使用组合函数

多行或组合函数可以和GROUPBY子句一起使用.

三、检索表中被选的组合数据

HAVING字句

用来指定GROUPBY子句执行的分组操作的条件.

语法

SELECTcolumn_name,column_name 

FROMtable_name   

WHEREsearch_condition

GROUPBYgroup_expression

HAVINGsearch_condition

oracle上课用示例数据库脚本

setserveroutputon

spooltableLog.txt

/*--CreatingObjectsforRecruitment*/

createtableRecruitmentusers

 cUserNamechar(10),

 cPasswordchar(10)

);

createtableDepartment

 cDepartmentCode char(4)constraintdt_pkprimarykey,

 vDepartmentName varchar(25),

 vDepartmentHead  varchar(25),

 vLocation    varchar(20)

);

createtablePosition

 cPositionCode char(4)constraintptv_pkprimarykey,

 vDescription varchar(35),

 nBudgetedStrength number(3),

 nYear       number(4),

 nCurrentStrength number

(2)

);

------

createtableCountry

 cCountryCode char(3)constraintc_pkprimarykey,

 cCountry  char(35)notnull

);

 

createtableNewspaper

 cNewspaperCode char(4)constraintnp_pkprimarykey,

 cNewspaperName char(20)notnull,

 vRegion  varchar(20),

 vTypeOfNewspaper varchar(20),

 vContactPerson varchar(35),

 vHOAddress  varchar(35),

 cCity   char(20),

 cState  char(20),

 cZip   char(10),

 cCountryCode char(3)referencesCountry(cCountryCode),

 cFax   char(15),

 cPhone  char(15)

);

 

createtableNewsAd

 cNewsAdNo  char(4)constraintnat_pkprimarykey,

 cNewspaperCode char(4)referencesNewspaper(cNewspaperCode),

 dAdStartDate date,

 dDeadline  date

);

createtableJobFair

 cJobFairCode char(4)constraintjft_pkprimarykey,

 vLocation  varchar(35),

 vJobFairCompany varchar(40),

 nFee   number(10,2),

 dFairDate  date

);

 

createtableContractRecruiter

 cContractRecruiterCode char(4)constraintcrtp_pkprimarykey,

 cName    char(35),

 vAddress   varchar(35),

 cCity    char(20),

 cState   char(15),

 cZip    char(10),

 cFax    char(15),

 cPhone   char(15),

 nPercentageCharge  number

(2),

 nTotalPaid   number(10,2)

);

 

createtableRecruitmentAgencies

 cAgencyCode  char(4)constraintrat_pkprimarykey,

 cName   char(20),

 vAddress  varchar(35),

 cCity   char(15),

 cState  char(15),

 cZip   char(10),

 cPhone  char(15),

 cFax   char(15),

 nPercentageCharge number

(2),

 nTotalPaid  number(10,2)

);

createtableCollege

 cCollegeCode char(4)constraintct_pkprimarykey,

 cCollegeName char(30)notnull,

 vCollegeAddress varchar(35),

 cCity  char(20),

 cState  char(20),

 cZip   char(10),

 cPhone  char(15)

);

createtableCampusRecruitment

 cCampusRecruitmentCode char(4)constraintcr_pkprimarykey,

 cCollegeCode  char(4)referencesCollege(cCollegeCode),

 dRecruitmentStartDate date,

 dRecruitmentEndDate date

);

 

createtableInternalJobPosting

 cInternalJobPostingCode char(4)constraintijp_pkprimarykey,

 cPositionCode  char(4),/*references, Position(cPositionCode),*/

 nNoOfVacancies  number(3)notnull,

 vRegion   varchar(20),

 dNoticeReleaseDate datenotnull,

 dDeadline   date

);

 

createtableInternalCandidate

 cCandidateCode  char(6),

 cEmployeeCode  char(6)constraintemp_unqunique,

 cInternalJobPostingCode char(4)referencesInternalJobPosting(cInternalJobPostingCode),

 cPositionCodeAppliedFor char(4)referencesPosition(cPositionCode),

 dDateOfApplication date,

 dTestDate   date,

 nTestScore   number(3),

 dInterviewDate  date,

 cInterviewer  char(25),

 vInterviewComments varchar(256),

 cRating   char,

 cStatus   char,

 constraintict_pkprimarykey(cCandidateCode,cEmployeeCode,cInternalJobPostingCode)

);

createtableEmployee

 cEmployeeCod

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1