版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle数据库查询与管理第1章:Oracle数据库简介本章内容关系数据库基本概念Oracle数据库简介OracleSQL分类Oracle开发工具Oracle存储结构用select实现基本查询本章目标了解关系数据库的相关概念描述各类SQL语句掌握Oracle开发工具的使用方法理解Oracle的存储结构能使用Select完成基本的数据查询任务1.1模型:从现实世界到计算机世界数据模型是数据特征的抽象E-R建模在系统分析阶段构建系统分析师根据业务规范或陈述创建实体关系模型ER模型将信息与业务活动相分离ER模型的优点:以清晰、精确的格式记录了组织的信息明确表示出了信息需求的范围提供了一个易于理解的数据库设计图解为集成多种应用程序提供了一个有效的框架ERModel的主要组成实体(Entity)需要了解其信息的有意义的项。如部门、雇员、订单等属性(Property)描述或限定实体的项。例如雇员的编号、姓名、职务等关系(Relation)实体之间的关联。例如雇员与部门,订单与项目ER建模的管理数据库的三级模式和两级映射三级模式
外模式又称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。概念模式模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。内模式内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。两级映射外模式/概念模式映射同一个概念模式可以有多个外模式所有用户只有一个概念模式概念模式/内模式映射定义全局逻辑结构与存储结构之间的关系保证逻辑结构与存储结构不互相影响1.2关系数据库的概念E.F.Codd博士在1970年提出了数据库系统的关系模型ARelationalModelofDataforLargeSharedDataBanks关系模型是用二维表的形式表示实体和实体间联系的数据模型,由以下各项组成对象或关系的集合处理关系的一组运算符可保证精度和一致性的数据完整性是关系数据库管理系统(RDMBS)的基础DBMS是一种程序,它可以按照要求在数据库中存储、检索和修改数据关系数据库的定义关系数据库是关系或二维表的集合一组已经被组织为表(table)结构的相关信息的结合每个表都包含很多行(row)行被进一步分解为列(column)表在Orcle数据库中被存储在被称为模式(schema)的结构中模式是数据库用户可以存储表的地方关系数据库术语表示关系数据库的基本存储结构数据库管理系统(DBMS)数据库管理系统用来访问数据库的软件系统称为数据库管理系统(DBMS)构成数据库的信息与用来访问这些信息的系统不是一回事常见的数据库管理系统软件OracleDB2SQLServerMySQL结构化查询语言简介结构化查询语言StructuredQueryLanguage(SQL)用于访问数据库中表对象的语言操作关系数据库的美国国家标准协会标准语言(ANSI)被数据库管理系统(RDBMS)生产商广泛接受特性:是用于操作关系数据库的ANSI标准语言效率高、易于学习和使用功能全面(使用SQL,可定义、检索和操作表中的数据)SELECTdepartment_nameFROMdepartments;Oracleserver2.结构化查询语言(SQL)简介DDLDMLDCL事务控制处理语句数据操作语言数据操作语言(DataManipulationLanguage,DML)语句用于存取数据表的内容数据定义语言数据定义语言(DataDefinitionLanguage,DDL)语句用于定义构成数据库的数据结构事务控制语句事务控制(Transaction,TC)语句用于将对行所做的修改永久性的存储到表中,或者取消这些修改操作数据控制语言语句数据控制语言(DataControlLanguage,DCL)语句用于修改数据库结构的操作权限3.使用Oracle开发工具SQLPlusSQLDeveloper什么是SQLDeveloperOracle官方提供的开发工具使用命令行界面SQL*PLUS,用于维护管理数据库主要使用OracleSQLDeveloper进行开发工作什么是OracleSQLDeveloperOracleSQLDeveloper是提高生产力,而且单一化数据库发展任务的一个图形工具使用
Java语言开发的支持Windows操作系统,Linux操作系统和MacOS操作系统平台缺省使用JDBCthin驱动器不需要安装对任何的Oracle数据库连接,9.2.0.1版,或更新版本需要在你的系统上安装JDK1.5SQLDeveloper界面要在schema上进行数据查询和操作,必须建立一个连接。.创建一个数据库连接至少有一个数据库可以连接123使用SQLWorksheet使用SQLWorksheet输入而且运行SQL,PL/SQL和SQL*PLUS语句叙述任意一个功能使用Worksheet有关的数据库连接关联来处理的输入SQL语句显示结果使用SQL工作表123456789运行脚本、保存脚本、检查脚本、打开脚本执行SQL语句输入一条或多条语句选择要执行的语句F5和F9的区别4Oracle存储结构存储结构-1数据库表空间段区Oracle数据块逻辑物理OS块OS文件存储结构-2数据库由一个或多个表空间组成表空间由一个或多个数据文件组成,表空间中包含段段(表、索引等)由一个或多个盘区组成。段存在于表空间中,但是在表空间中可以有许多数据文件中的数据盘区是在磁盘上连续的块的组。一个盘区在一个表空间中,且在表空间中单一的文件中块是数据库中最小的分配单元,也是数据库使用的最小I/O单元如何存取数据表空间表A表B段段行列表块行片段区表空间和数据文件Oracle数据库在逻辑上将数据存储在表空间中,在物理上将数据存储在数据文件中。表空间只能属于一个数据库包括一个或多个数据文件可进一步划分为逻辑存储单元数据文件只能属于一个表空间和一个数据库是存储方案对象数据的资料档案库数据库表空间数据文件5.使用Select检索数据基本Select语句Select中的算术表达式和空值列别名连接运算符、文字字符串Distinct关键字Describe语句课程所用的HR方案5.1Select语句的功能用于从数据库表中检索信息来自于数学上的集合运算,包含映射:选择由查询返回的表中的列。可以是任意数量的列。选择:选择由查询返回的表中的行。可以使用不同的条件限定行。联接:通过指定不同表之间的链接关系来将其中的数据集合在一起。5.1Select语句的功能5.2
Select基本语法基本语法:说明:最简单的SQL语句必须包含至少一个SELECT字句和FROM字句SELECT之后跟要检索的列FROM之后跟要检索的表*:DISTINCT:column|expresion:选择所有列查询所有列的数据示例:查询Departments表中所有列的数据星号符(*)取代表中所有列的列名SELECT*FROMdepartments;在SELECT关键字之后列出所有列列名SELECTdepartment_id,department_name,manager_id,location_idFROMdepartments;选择指定列查询表中指定列的数据在SELECT语句中指定列名,用逗号隔开示例:查询departments表中部门编号,所在区域编号的信息如果不知道需要查看的信息在表中是如何定义的,可以使用DESCRIBE命令来显示表结构DESCRIBE命令语法SELECTdepartment_id,location_idFROMdepartments;DESC[RIBE]tablenameSQL语句编写规则SQL语句规则和准则SQL语句是不区分大小写的SQL语句可以是一行,也可以是多行关键字不能缩写或在中间另起一行子句通常放在单独的行中缩进是为了增强可读性SELECT
last_name,hire_dateFROMemployees;5.3语句中的算术表达式应用场景:可能要根据已有字段计算出另外的结果进行显示算术表达式可以包含列名、数字常量和算术运算符使用算术运算符可以创建包含数字和日期数据的表达式算术运算符:+-*/DATE和TIMESTAP类型只能用+和–注意算术运算符的优先级
5.4数据检索中的空值如果某行的某字段缺少数据值,则称该列为空(null)null是不可用的、未分配的、未知的或不适用的值null不等同于空格或零包含空值的算术表达式的运算结果也为空5.5数据检索中的列别名列别名(ALIAS)具有以下特征和用途可重命名列标题有助于方便计算使用语法紧跟在列名或计算表达式之后列名和列别名之间用空格隔开,也可以加上可选的AS关键字如果别名包含空格或特殊字符,或者区分大小写,则要使用双引号将列名括起来示例:将表达式price*2使用别名DOUBLE_PRICESELECTprice*2DOUBLE_PRICEFROMproducts;示例:查询price的两倍,并取别名DoublePrice,保持首字母大写
SELECTprice*2"
DoublePrice"FROMproducts;SELECTprice*2AS"
DoublePrice"FROMproducts;5.6连接运算符||将列或字符串连接到其他列、算术表达式或常数列用||表示创建了一个由字符表达式生成的列字符串和空值的连接结果为原字符串示例:查询雇员表中雇员的姓和名,并使用连接符,在一列中显示姓名SELECTfirst_name,last_name,first_name||
''||last_nameAS“EmployeeName"FROMEmployees;5.7禁止显示重复行DISTINC关键字用于禁止显示重复的行示例:查询默认所有行,包括重复行示例:使用DISTINCT消除重复行SELECTcustomer_idFROMpurchases;SELECTDISTINCTcustomer_idFROMpurchases;5.8文字字符串文字是指在SELECT语句中包含的数字、字符或日期日期和字符文字值必须放在单引号内每个字符串在每个返回行中输出一次SELECTlast_name||‘isa‘||job_idAS“EmployeeDetails”FROMemployees;字符串值区分大小写,日期值区分格式默认的日期格式是:DD-MON-RR其他引号运算符(q)如果文字字符串本身包含单引号,则可使用q指定你自己的引号分隔符可以选择所需要的任何分隔符或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招标投标流程培训
- 2024年饲料及宠物食品项目资金需求报告代可行性研究报告
- 矿棉项目可行性研究报告
- 隔热垫项目可行性研究报告
- 新建雷贝拉唑钠肠溶片项目立项申请报告
- 年产xxx尖尾棘轮扳手项目可行性研究报告(可行性分析)
- 年产xx橡胶木饰面项目可行性研究报告(投资方案)
- 慕课职业生涯规划
- 2023-2024学年广东省深圳市龙岗区三年级(上)期末英语试卷
- 4.3海-气相互作用课件高中地理人教版(2019)选择性必修一
- 【QC成果】提高地下室抗浮锚杆一次验收合格率
- 物业秩序维护保安服务岗位设置及职责
- 用字母表示数练习课-完整版课件
- 2023年广州一模英语试题及答案(精校版)
- 消防应急预案流程图
- 高中化学人教版(2019)必修第一册教案312铁的氢氧化物铁盐亚铁盐
- A画法几何及水利工程制图期末考试
- 实验室安全检查记录表(实验场所)
- 内科学教学课件:脑梗死
- 食材配送投标服务方案
- 五年级上册信息技术课件-11.讲文明树新风|大连理工版 (共11张PPT)
评论
0/150
提交评论