数据库基本原理和应用



《数据库基本原理和应用》由会员分享,可在线阅读,更多相关《数据库基本原理和应用(47页珍藏版)》请在装配图网上搜索。
1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数据库原理及应用,主要内容,数据库基本概念,数据库,数据库管理系统,数据查询,数据操作,表和视图,基本概念,数据库和数据库管理系统,数据库是在
2、计算机上组织、存储和共享数据的方法,数据库系统是由普通的文件系统发展而来的。数据库系统具有较高的数据独立性,即不依赖于特定的数据库应用程序;数据库系统的数据冗余小,可以节省数据的存储空间;另外数据库系统还很容易实现多个用户的数据共享。,数据库系统成熟的标志就是数据库管理系统的出现。数据库管理系统,(DataBase Managerment System,,简称,DBMS),是对数据库的一种完整和统一的管理和控制机制。数据库管理系统不仅让我们能够实现对数据的,快速检索和维护,还为数据的安全性、完整性、并发控制和数据恢复提供了保证,。数据库管理系统的核心是一个用来存储大量数据的数据库。,基本概念,
3、一个真正的数据库系统由硬件和软件两个方面构成。,比如我们要使用,Oracle,数据库,需要安装,Oracle,公司提供的数据库服务器软件和一台用于安装数据库管理系统的高性能的计算机服务器。,数据库系统的发展经历了层次模型、网状模型及关系模型几个阶段。当今应用最普遍的是,关系型数据库管理系统,。,目前,市场上流行的几种大型数据库,如,Oracle,、,DB2,、,Sybase,、,MS SQL Server,等都是关系型数据库管理系统。,Oracle,数据库是一种面向对象的关系型数据库管理系统,(ORDBMS),,是基于标准,SQL,语言的数据库产品。,目录,数据库基本概念,数据查询,基本语法,
4、排序查询,条件查询,高级查询,数据操作,表和视图,SQL,内置函数,数据库查询语言SQL,主要特点:,SQL,语言可以在,Oracle,数据库中创建、存储、更新、检索和维护数据,其中主要的功能是实现数据的查询和数据的插入、删除、修改等操作。,SQL,语言在书写上类似于英文,简洁清晰,易于理解。它由关键字、表名、字段名,表达式等部分构成。,分类:,SQL,语言按功能可分为,DDL,语言、,DML,语言、,DCL,语言和数据库事务处理语言四个类别。,SQL,语言的主要关键字有:,ALTER,、,DROP,、,REVOKE,、,AUDIT,、,GRANT,、,ROLLBACK,、,COMMIT,、,
5、INSERT,、,SELECT,、,COMMENT,、,LOCK,、,UPDATE,、,CREATE,、,NOAUDIT,、,VALIDATE,、,DELETE,、,RENAME,等。,SQL,语言的分类,按照,SQL,语言的不同功用,可以进一步对,SQL,语言进行划分。下表给出了,SQL,语言,的分类和功能简介。,由,主句,和若干个,从句,组成,主句和从句都由关键字引导。,主句表示该语句的主要功能,从句表示一些条件或限定,有些从句是可以省略的。,在语句中会引用到列名、表名或表达式。另外还有如下一些说明:,关键字、字段名、表名等之间都要用空格或逗号等进行必要的分隔。,语句的大小写不敏感,(,查
6、询的内容除外,),。,语句可以写在一行或多行。,语句中的关键字不能略写和分开写在两行。,要在每条,SQL,语句的结束处添加,“,;,”,号。,为了提高可读性,可以使用缩进。,从句一般写在另一行的开始处。,SQL,基本语法,查询语句是最常见的,SQL,语句,它从给定的表中,把满足条件的内容检索出来。以下是最基本的,SELECT,语句语法。,SELECT(,字段名列表,|*)FROM,表名,WHERE,条件,;,SELECT,为查询语句的关键字,该关键字不能省略。,字段名列表代表要查询的字段。,FROM,也是查询语句关键字,后面跟要查询的表名,该关键字不能省略。,WHERE,条件限定检索特定的记录
7、,满足,“,条件,”,的记录被显示出来,不满足条件的被过滤掉。,语句查询的结果往往是表的一部分行和列。如果字段名列表使用*,将检索全部的,字段,。如果省略,WHERE,条件,将检索全部的,记录,。,SELECT*FROM emp WHERE deptno=10;,SQL,查询语句,基本查询语句,1,基本查询,select*from dept;,2,显示行号,ROWNUM oracle,特有的,每个表都有一个虚列,ROWNUM,,它用来显示结果中记录的行号。我们在查询中也可以显示这个列。,SELECT rownum,ename FROM emp;,select*from(select rownu
8、m no,id,name from student)where no2;,select*from(select rownum no,id,name from student where rownum=2;,where rownumXXX,不能输出结果,因为,where,每次去,select,时遇到不符合的就直接删除,所以,num,一直不能满足条件。但是可以先将,rownum,搜出来后形成一个虚表,再调用。,3,显示计算列,在查询语句中可以有算术表达式,它将形成一个新列,用于显示计算的结果,通常称为计算列。表达式中可以包含列名、算术运算符和括号。括号用来改变运算的优先次序。常用的算术运算符包括:
9、,+,:加法运算符。,?,:减法运算符。,*:乘法运算符。,/,:除法运算符。,基本查询语句,4,连接运算符,在前面,我们使用到了包含数值运算的计算列,显示结果也是数值型的。我们也可以使用字符型的计算列,方法是在查询中使用连接运算。连接运算符是双竖线,“,|,”,。通过连接运算可以将两个字符串连接在一起。,5,使用别名,as,我们可以为表的列起一个别名,它的好处是,可以改变表头的显示。特别是对于计算列,可以为它起一个简单的列别名以代替计算表达式在表头的显示。,说明:表头显示的是列别名,转换为汉字显示。在列名和别名之间要用,AS,分隔,如,ename,和它的别名,“,名称,”,之间用,AS,隔开
10、。,AS,也可以省略,如,sal,和它的别名,“,工资,”,之间用空格分割。,注意:如果用空格分割,要区别好列名和别名,前面为列名,后面是别名。,别名如果含有空格或特殊字符或大小写敏感,需要使用双引号将它引起来,。,基本查询语句,6,消除重复行,如果在显示结果中存在重复行,可以使用的关键字,DISTINCT,消除重复显示。,SELECT,DISTINCT,job FROM emp;,7.,查询结果的排序,SELECT,字段列表,FROM,表名,WHERE,条件,ORDER BY,字段名,1 ASC|DESC,字段名,ASC|DESC.;,ASC,升序(默认),|DESC,降序,SELECT e
11、name,sal FROM emp ORDER BY sal;,可以按多列进行排序,先按第一列,然后按第二列,如果要对计算列排序,可以为计算列指定别名,然后按别名排序。,Eg,:,select*from emp order by mgr asc,hiredate desc;,条件查询,简单条件查询,要对显示的行进行限定,可在,FROM,从句后使用,WHERE,从句,在,WHERE,从句中给出限定的条件,因为限定条件是一个表达式,所以称为条件表达式。条件表达式中可以包含比较运算,表达式的值为真的记录将被显示。,例子:,条件查询,复合条件查询,可以用逻辑运算符构成复合的条件查询,即把两个或多个条件
12、,用逻辑运算符连接成一个条件。有,3,个逻辑运算符,如下表所示。,运算的优先顺序是,NOT,,,AND,,,OR,。如果要改变优先顺序,可以使用括号。,特殊条件查询,Between.and,In,Is Not Null,LIKE,使用,LIKE,操作符可完成按通配符查找字符串的查询操作,该操作符适合于对数据进行模糊查询。其语句法为:,NOT LIKE,匹配模式,匹配模式中除了可以包含固定的字符之外,还可以包含以下的通配符:,%,:代表,0,个或多个任意字符。,_,:代表一个任意字符。,函数,-,数值型函数,函数,字符型函数,函数,日期型函数,函数,类型转换函数,1,自动类型转换,Oracle,
13、可以自动根据具体情况进行如下的转换:,*字符串到数值。,*字符串到日期。,*数值到字符串。,*日期到字符串。,2,日期类型转换,将日期型转换成字符串时,可以按新的格式显示。,如格式,YYYY-MM-DD HH24:MI:SS,表示,“,年,-,月,-,日 小时,:,分钟,:,秒,”,。,Oracle,的日期类型是包含时间在内的。,日期类型转换,日期类型转换,2,数值转换符,其他常用函数,目录,数据库基本概念,数据查询,基本语法,排序查询,条件查询,高级查询,数据操作,表和视图,高级查询,多表联合查询,通过连接可以建立多表查询,多表查询的数据可以来自多个表,但是表之间必须有适当的连接条件。为了从
14、多张表中查询,必须识别连接多张表的公共列。一般是在,WHERE,子句中用比较运算符指明连接的条件。,忘记说明表的连接条件是常见的一种错误,这时查询将会产生表连接的笛卡尔积,(,即一个表中的每条记录与另一个表中的每条记录作连接产生的结果,),。一般,N,个表进行连接,需要至少,N-1,个连接条件,才能够正确连接。两个表连接是最常见的情况,只需要说明一个连接条件。,相等连接。,不等连接。,外连接。,自连接。,统计查询,通常需要对数据进行统计,汇总出数据库的统计信息。这个功能可以由统计查询完成。,Oracle,提供了一些函数来完成统计工作,这些函数称为组函数,组函数不同于前面介绍和使用的函数,(,单
15、行函数,),。组函数可以对分组的数据进行求和、求平均值等运算。组函数只能应用于,SELECT,子句、,HAVING,子句或,ORDER BY,子句中。组函数也可以称为统计函数。,统计查询,分组函数中,SUM,和,AVG,只应用于数值型的列,,MAX,、,MIN,和,COUNT,可以应用于字符、数值和日期类型的列。组函数忽略列的空值。,使用,GROUP BY,从句可以对数据进行分组。所谓分组,就是按照列的相同内容,将记录划分成组,对组可以应用组函数。,如果不使用分组,将对整个表或满足条件的记录应用组函数。,在组函数中可使用,DISTINCT,或,ALL,关键字。,ALL,表示对所有非,NULL,
16、值,(,可重复,),进行运算,(COUNT,除外,),。,DISTINCT,表示对每一个非,NULL,值,如果存在重复值,则组函数只运算一次。如果不指明上述关键字,默认为,ALL,。,对分组查询的结果进行过滤,要使用,HAVING,从句。,HAVING,从句过滤分组后的结果,它只能出现在,GROUP BY,从句之后,而,WHERE,从句要出现在,GROUP BY,从句之前。,子查询,我们可能会提出这样的问题,在雇员中谁的工资比,SCOTT,高?,第一步查询雇员,SCOTT,的工资,第二步查询工资高于,SCOTT,的雇员。,通过把一个查询的结果作为另一个查询的一部分,可以实现这样的查询功能。,第一个查询可以作为第二个查询的一部分出现在第二个查询的条件中,这就是子查询。出现在其他查询中的查询称为子查询,包含其他查询的查询称为主查询。,子查询一般出现在,SELECT,语句的,WHERE,子句中,,Oracle,也支持在,FROM,或,HAVING,子句中出现子查询。子查询比主查询先执行,结果作为主查询的条件,在书写上要用圆括号扩起来,并放在比较运算符的右侧。子查询可以嵌套使用,最里层的查询最
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专题党课讲稿:以高质量党建保障国有企业高质量发展
- 廉政党课讲稿材料:坚决打好反腐败斗争攻坚战持久战总体战涵养风清气正的政治生态
- 在新录用选调生公务员座谈会上和基层单位调研座谈会上的发言材料
- 总工会关于2025年维护劳动领域政治安全的工作汇报材料
- 基层党建工作交流研讨会上的讲话发言材料
- 粮食和物资储备学习教育工作部署会上的讲话发言材料
- 市工业园区、市直机关单位、市纪委监委2025年工作计划
- 检察院政治部关于2025年工作计划
- 办公室主任2025年现实表现材料
- 2025年~村农村保洁员规范管理工作方案
- 在深入贯彻中央8项规定精神学习教育工作部署会议上的讲话发言材料4篇
- 开展深入贯彻规定精神学习教育动员部署会上的讲话发言材料3篇
- 在司法党组中心学习组学习会上的发言材料
- 国企党委关于推动基层党建与生产经营深度融合工作情况的报告材料
- 副书记在2025年工作务虚会上的发言材料2篇