1、orcal备课笔记Oracle备课笔记 Oracle第一课(数据库介绍)备课笔记 一、了解数据库管理系统的不同类型 1、数据存储系统 将数据存储在计算机上的概念就叫数据存储系统 。 数据以文本、数字、图片或声音等形式存储。2、数据库是一组在逻辑上相关的信息的集合 。表以行和列的形式保存数据。实现数据库管理任务的软件叫做数据库管理系统(DBMS)。 3、DBMS的不同类型为 :RDBMS和ORDBMS RDBMS是由E.F.Codd博士在1970年首先提出的。RDBMS 的例子包括 Sybase, Microsoft Access, Ingres, Oracle, 及 SQL Server。在R
2、DBMS的表中 ,每个属性叫做一列,每条记录被称为一行。4、ORDBMSORDBMS将面向对象的前端与RDBMS集成起来 。5、面向对象的概念 在面向对象的方法中,系统被当作一组真实世界中对象的集合 。这些对象以类来分类 ,类就是拥有共同属性和行为的一组对象 。面向对象方法具有以下特性 :抽象、继承、封装、多态性二、了解Oracle9i的特性 可以使用结构化查询语言(SQL)或面向对象的编程语言来访问数据 。 可使用内置数据类型在表中存储数据存储。将复合结构当作单个实体进行存储 。 使用ORDBMS 的继承特性 。允许创建许多同名函数。 可扩展性使得用户能够定义新的数据类型来存储复合数据。允许
3、创建对象视图。三、了解ER 图的组成 1、实体 - 关系(ER)图: 以图形方式表示数据库的逻辑结构,可被看作是数据库的蓝图 。 2、画ER图的指南是:(1)确定各实体 (2)确定实体的属性 (3)确定实体之间的关系,联系的类型: 一对一、一对多或多对一、多对多 四、ER图映射成表的规则:1、独立存在的实体转换成一个表2、属性转换成列(字段),可唯一标识一行的属性设置为主键3、一对一关系,可在两表中互设为主键,也可将两表合并例如:部门和部分负责人4、一对多关系,第一个表的主键可作为第二个表的外键例如:班级和学生5、多对多关系,关系转换成表,原来的两表主键在新表中用做外键例如:学生和课程四、使用
4、 SQL*Plus 语句1、SQL语句介绍 SQL用来检索和维护数据库中数据 。 使用SQL的优点 :SQL是所有RDBMS使用的公共语言 。SQL不遵循任何特定的执行模式,它一次可以访问多个记录 。SQL使用简单的维护数据的命令。SQL语句非常接近英语自然语言,因此,易学易懂。2、查询使用类似英语的语句来从数据库中检索信息 。 SQL SQL语句和查询命令用来 :创建和维护数据库 。创建和维护表 。 删除数据库和表 。 基于条件查询数据。 按所需格式提供查询输出。 创建视图 ,报告,和表单。3、数据定义语言 (DDL) :包含一组命令,用来创建数据库对象,如表等 。 DDL可用于: 创建对象
5、、改变对象 、撤消对象 4、数据操纵语言 (DML) :用来操纵表数据 ,包含INSERT、UPDATE和 DELETE等命令 。DML 可用于: 存储数据、更新数据、删除数据 5、SELECT 语句 用于检索表中所有数据,或特定范围的数据。语法 SELECT * | select_list FROM tablename; 五、SQLPlus的使用介绍Oracle第二课(查询数据库)备课笔记 一、显示格式化的查询输出1、显示表的指定列语法如下:SELECT column_name, column_name FROM tablename;2、使用列别名可以给这些列取些友善的标题来取代表中缺省列标
6、题。其语法是: SELECT column_name column_heading , column_name FROM tablename;举例:SELECT cName Recruiter Name FROM CONTRACTRECRUITER或者使用SELECT cName AS Recruiter Name FROM CONTRACTRECRUITER3.DISTINCT子句在SELECT 语句中用来观看表列中唯一的值语法如下: SELECT DISTINCT column_name FROM tablename; 二、识别不同类型的运算符算术运算符:+、-、*、/、%比较运算符:=、
7、=、 =、 =、 !=、betweenand或 in等比较运算符.例子SELECT ExternalCandidate.vFirstName, vLastName, Rating.cCandidateRating FROM ExternalCandidate, Rating WHERE ExternalCandidate.nRating BETWEEN Rating.nLowerRating AND Rating.nHigherRating; (三)NATURAL JOIN (自然联接)基于两个表的同名的一个或多个列.例子SELECT cEmployeeCode, vFirstName, nA
8、nnualSalary, nYear FROM Employee NATURAL JOIN AnnualSalary; 用USING子句检索记录 如果两个表中你有同名的列,那么你在联接语句里可以使用USING子句.例子SELECT cEmployeeCode, vFirstName, nAnnualSalary, nYear FROM Employee JOIN AnnualSalary USING (cEmployeeCode); (四) CROSS JOIN(交叉联接) 使用关键字CROSS的包含多个表的联接. 例子SELECT * FROM Requisition CROSS JOIN
9、Position; (五)OUTER JOIN (外部联接) OUTER JOIN 用于检索一个表的所有记录和另一表中的匹配行.语法SELECT column_name, column_name ,column_name FROM table_name LEFT | RIGHT | FULL OUTER JOIN table_name ON table_name.ref_column_name join_operator table_name.ref_column_name(六)SELF JOIN (自联接) SELF JOIN 用于联接在同一个表内的行.语法 SELECT a.vFirstN
10、ame “Employee”, b.vFirstName “Supervisor” FROM Employee a, Employee b WHERE a.cSupervisorCode = b.cEmployeeCode; Oracle第五课(作用于多行的函数)备课笔记 一、了解多行函数的不同类型用来组合查询中多行. 多行函数的类型有:AVG返回n个数值的平均值. SUM n个值的总和.COUNT显示查询返回的行数MAX 返回一个列中的最大值. MIN 返回一个列中的最小值. STDDEV 返回一组值的标准偏差. VARIANCE返回一组值的方差. 举例:SELECT COUNT (cNew
11、spapercode) “No of Newspapers” FROM Newspaper; 二、对查询结果进行分组GROUP BY子句用来对表中的行进行分组. 语法SELECT column_name1, column_name2 FROM table_name WHERE search_condition GROUP BY group_expressionHAVING search_condition;在GROUP BY子句里使用组合函数 多行或组合函数可以和GROUP BY 子句一起使用. 三、检索表中被选的组合数据HAVING 字句用来指定GROUP BY子句执行的分组操作的条件.语法
12、SELECT column_name, column_name FROM table_name WHERE search_conditionGROUP BY group_expressionHAVING search_condition oracle上课用示例数据库脚本 set serveroutput onspool tableLog.txt/* - Creating Objects for Recruitment */create table Recruitmentusers(cUserName char(10),cPassword char(10) ;create table Depar
13、tment(cDepartmentCodechar(4) constraint dt_pk primary key,vDepartmentNamevarchar(25) ,vDepartmentHead varchar(25),vLocation varchar(20);create table Position(cPositionCodechar(4) constraint ptv_pk primary key,vDescriptionvarchar(35),nBudgetedStrengthnumber(3),nYear number(4),nCurrentStrength number(
14、2);-create table Country(cCountryCodechar(3) constraint c_pk primary key,cCountrychar(35) not null) ;create table Newspaper(cNewspaperCodechar(4) constraint np_pk primary key,cNewspaperNamechar(20) not null,vRegion varchar(20),vTypeOfNewspaper varchar(20),vContactPerson varchar(35),vHOAddressvarchar
15、(35),cCitychar(20),cStatechar(20),cZipchar(10),cCountryCodechar(3) references Country(cCountryCode),cFaxchar(15),cPhone char(15) ;create table NewsAd(cNewsAdNochar(4) constraint nat_pk primary key,cNewspaperCodechar(4) references Newspaper(cNewspaperCode),dAdStartDatedate,dDeadlinedate) ;create tabl
16、e JobFair(cJobFairCodechar(4) constraint jft_pk primary key ,vLocationvarchar(35),vJobFairCompanyvarchar(40),nFeenumber(10,2),dFairDatedate) ;create table ContractRecruiter(cContractRecruiterCodechar(4) constraint crtp_pk primary key,cNamechar(35),vAddressvarchar(35),cCitychar(20),cStatechar(15),cZi
17、pchar(10),cFaxchar(15),cPhone char(15),nPercentageChargenumber(2),nTotalPaidnumber(10,2) ;create table RecruitmentAgencies(cAgencyCodechar(4) constraint rat_pk primary key,cNamechar(20),vAddressvarchar(35),cCitychar(15),cState char(15),cZipchar(10),cPhone char(15),cFaxchar(15),nPercentageChargenumbe
18、r(2),nTotalPaidnumber(10,2) ;create table College(cCollegeCodechar(4) constraint ct_pk primary key,cCollegeNamechar(30) not null,vCollegeAddress varchar(35),cCity char(20),cStatechar(20),cZipchar(10),cPhonechar(15) ;create table CampusRecruitment(cCampusRecruitmentCodechar(4) constraint cr_pk primar
19、y key,cCollegeCodechar(4) references College(cCollegeCode),dRecruitmentStartDatedate,dRecruitmentEndDate date) ;create table InternalJobPosting(cInternalJobPostingCodechar(4) constraint ijp_pk primary key,cPositionCodechar(4), /* references, Position(cPositionCode), */nNoOfVacanciesnumber(3) not nul
20、l,vRegionvarchar(20),dNoticeReleaseDate date not null,dDeadlinedate) ;create table InternalCandidate(cCandidateCode char(6) ,cEmployeeCodechar(6) constraint emp_unq unique, cInternalJobPostingCodechar(4) references InternalJobPosting(cInternalJobPostingCode),cPositionCodeAppliedForchar(4) references Position(cPositionCode) ,dDateOfApplicationdate,dTestDatedate,nTestScorenumber(3),dInterviewDatedate,cInterviewerchar(25),vInterviewCommentsvarchar(256),cRatingchar,cStatuschar,constraint ict_pk primary key(cCandidateCode,cEmployeeCode,cInternalJobPostingCode) ;create table Employee(cEmployeeCod
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1