orcal备课笔记.docx
- 文档编号:29810509
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:57
- 大小:40.67KB
orcal备课笔记.docx
《orcal备课笔记.docx》由会员分享,可在线阅读,更多相关《orcal备课笔记.docx(57页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- orcal 备课 笔记