数据库基本原理及应用.ppt
《数据库基本原理及应用.ppt》由会员分享,可在线阅读,更多相关《数据库基本原理及应用.ppt(69页珍藏版)》请在三一办公上搜索。
1、数据库原理及应用,主要内容,数据库基本概念数据库 db数据库管理系统 dbmssql ER图 规范化数据查询数据操作表和视图SQL内置函数,基本概念,数据库和数据库管理系统数据库是在计算机上组织、存储和共享数据的方法,数据库系统是由普通的文件系统发展而来的。数据库系统具有较高的数据独立性,即不依赖于特定的数据库应用程序;数据库系统的数据冗余小,可以节省数据的存储空间;另外数据库系统还很容易实现多个用户的数据共享。数据库系统成熟的标志就是数据库管理系统的出现。数据库管理系统(DataBase Managerment System,简称DBMS)是对数据库的一种完整和统一的管理和控制机制。数据库管
2、理系统不仅让我们能够实现对数据的快速检索和维护,还为数据的安全性、完整性、并发控制和数据恢复提供了保证。数据库管理系统的核心是一个用来存储大量数据的数据库。,一个真正的数据库系统由硬件和软件两个方面构成。比如我们要使用Oracle数据库,需要安装Oracle公司提供的数据库服务器软件和一台用于安装数据库管理系统的高性能的计算机服务器。数据库系统的发展经历了层次模型、网状模型及关系模型几个阶段。当今应用最普遍的是关系型数据库管理系统。目前,市场上流行的几种大型数据库,如Oracle、DB2、Sybase、MS SQL Server等都是关系型数据库管理系统。Oracle数据库是一种面向对象的关系
3、型数据库管理系统(ORDBMS),是基于标准SQL语言的数据库产品。,基本概念,在数据库的设计阶段,需要创建逻辑模型。关系数据库的逻辑模型叫做实体关系模型。实体模型化最常用的工具是实体关系图,简称ER(EntityRelationship)图,它是一种简单的图形技术,用来定义数据库中需要的表、字段和关系。它用于数据库设计的第一步,与我们使用的具体的数据库管理系统无关。实体关系模型的优点是:有效地搜集和表示组织的信息需求。提供一个容易理解的系统描述图。易于开发和提炼。明确定义了信息需求的范围。将业务需求信息与业务执行活动分开。根据业务说明或描述创建实体关系图。,实体关系模型,典型的实体关系模型有
4、以下三个要素:实体:客观存在并可以相互区分的事物称为实体,包括有意义的人、地方或事物,如学生、教师、课程、成绩等。属性:实体所具有的某一特性称为属性,一个实体可以用若干属性来刻画,如学生实体具有学号、姓名、性别等属性。关系:两个实体之间的相关性,如学生与课程之间的关系,教师与课程之间的关系。,实体关系模型三要素,实体关系,实体之间的关系有三种类型:一对一:表示一个实体中的一种情况只与另一个实体中的一种情况有关系。比如:学生与学生证,一个学生只对应一个学生证,一个学生证只对应一个学生。一对多:表示一个实体中的一种情况与另一个实体中的多种情况有关系。比如:班级与学生,一个班级可有多个学生,而一个学
5、生只能属于某一个班级。多对多:表示一个实体中的一种情况与另一个实体中的多种情况有关系,而第二个实体中的一种情况也与第一个实体中的多种情况有关系。比如:教师与学生,一个学生有多个教师为其上课,一个教师要为多个学生上课,ER图,在ER模型图中,用实线表示实体之间必须有关系,用虚线表示实体之间是可选的关系,用三角表示一对多关系。在实体的属性中,在属性前用“*”表示必须有的属性,用“#”表示惟一属性,小写字母“o”代表可选属性。在每一实体上,要定义一个惟一表示该实体的标识符,称为UID(UNIQUE IDENTIFIER),UID是属性之间的组合。图1-3表示了三个实体之间关系的ER图,其中系部ID、
6、专业ID和教师ID分别是三个实体的UID。,规范化,第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。符合第一范式:学号,姓名,年龄,地址 不符合第一范式:学号,姓名年龄,地址.,第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。学生选课表:Ss(学号,姓名,年龄,课程名称,成绩,学分)不符合第二范式.,引起的问题:(1)数据冗余:同一门课程由n个学生选修,“学分”就
7、重复n-1次;同一个学生选修了门课程,姓名和年龄就重复了n-1次。(2)更新异常:若调整了某门课程的学分,数据表中所有行的“学分”值都要更新,否则会出现同一门课程学分不同的情况。(3)插入异常:假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有“学号”关键字,课程名称和学分也无法记录入数据库。(4)删除异常:假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。,把选课关系表Ss改为如下三个表:学生:Sn(学号,姓名,年龄);课程:s(课程名称,学分);选课关系:Ss(学号,课程名称,成绩)。这样的
8、数据库表是符合第二范式的,消除了数据冗余、更新异常、插入异常和删除异常。另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。,第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在A 的决定关系,则传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:关键字段 非关键字段x 非关键字段y,学生关系表为Sn(学号,姓名,年龄,所在学院,学院地点,学院电话),关键字为单一关键字学号”.这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:(学号)(所在学院)(
9、学院地点,学院电话)即存在非关键字段“学院地点”、“学院电话”对关键字段“学号”的传递函数依赖。它也会存在数据冗余、更新异常、插入异常和删除异常的情况,读者可自行分析得知。把学生关系表分为如下两个表:学生:(学号,姓名,年龄,所在学院);学院:(学院,地点,电话)。这样的数据库表是符合第三范式的,消除了数据冗余、更新异常、插入异常和删除异常。注:满足第一范式,第二范式,第三范式的数据库结构不一定是最优的数据库设计.,目录,数据库基本概念数据查询基本语法排序查询条件查询高级查询数据操作表和视图SQL内置函数,数据库查询语言SQL,主要特点:SQL语言可以在Oracle数据库中创建、存储、更新、检
10、索和维护数据,其中主要的功能是实现数据的查询和数据的插入、删除、修改等操作。SQL语言在书写上类似于英文,简洁清晰,易于理解。它由关键字、表名、字段名,表达式等部分构成。分类:SQL语言按功能可分为DDL语言、DML语言、DCL语言和数据库事务处理语言四个类别。SQL语言的主要关键字有:ALTER、DROP、REVOKE、AUDIT、GRANT、ROLLBACK、COMMIT、INSERT、SELECT、COMMENT、LOCK、UPDATE、CREATE、NOAUDIT、VALIDATE、DELETE、RENAME等。,SQL语言的分类,按照SQL语言的不同功用,可以进一步对SQL语言进行划
11、分。下表给出了SQL语言的分类和功能简介。,由主句和若干个从句组成,主句和从句都由关键字引导。主句表示该语句的主要功能从句表示一些条件或限定,有些从句是可以省略的。在语句中会引用到列名、表名或表达式。另外还有如下一些说明:关键字、字段名、表名等之间都要用空格或逗号等进行必要的分隔。语句的大小写不敏感(查询的内容除外)。语句可以写在一行或多行。语句中的关键字不能略写和分开写在两行。要在每条SQL语句的结束处添加“;”号。为了提高可读性,可以使用缩进。从句一般写在另一行的开始处。,SQL基本语法,查询语句是最常见的SQL语句,它从给定的表中,把满足条件的内容检索出来。以下是最基本的SELECT语句
12、语法。SELECT(字段名列表|*)FROM 表名 WHERE 条件;SELECT为查询语句的关键字,该关键字不能省略。字段名列表代表要查询的字段。FROM 也是查询语句关键字,后面跟要查询的表名,该关键字不能省略。WHERE条件限定检索特定的记录,满足“条件”的记录被显示出来,不满足条件的被过滤掉。语句查询的结果往往是表的一部分行和列。如果字段名列表使用*,将检索全部的字段。如果省略WHERE条件,将检索全部的记录。SELECT*FROM emp WHERE deptno=10;,SQL查询语句,基本查询语句,1基本查询 select*from dept;2显示行号 ROWNUM每个表都有一
13、个虚列ROWNUM,它用来显示结果中记录的行号。我们在查询中也可以显示这个列。SELECT rownum,ename FROM emp;select*from(select rownum no,id,name from student)where no15;select*from(select rownum no,id,name from student where rownum=2;3显示计算列在查询语句中可以有算术表达式,它将形成一个新列,用于显示计算的结果,通常称为计算列。表达式中可以包含列名、算术运算符和括号。括号用来改变运算的优先次序。常用的算术运算符包括:+:加法运算符。?:减法运
14、算符。*:乘法运算符。/:除法运算符。,基本查询语句,4 连接运算符在前面,我们使用到了包含数值运算的计算列,显示结果也是数值型的。我们也可以使用字符型的计算列,方法是在查询中使用连接运算。连接运算符是双竖线“|”。通过连接运算可以将两个字符串连接在一起。5 使用别名 as我们可以为表的列起一个别名,它的好处是,可以改变表头的显示。特别是对于计算列,可以为它起一个简单的列别名以代替计算表达式在表头的显示。说明:表头显示的是列别名,转换为汉字显示。在列名和别名之间要用AS分隔,如ename和它的别名“名称”之间用AS隔开。AS也可以省略,如sal和它的别名“工资”之间用空格分割。注意:如果用空格
15、分割,要区别好列名和别名,前面为列名,后面是别名。别名如果含有空格或特殊字符或大小写敏感,需要使用双引号将它引起来。,6消除重复行如果在显示结果中存在重复行,可以使用的关键字DISTINCT消除重复显示。SELECT DISTINCT job FROM emp;7.查询结果的排序SELECT 字段列表 FROM 表名 WHERE 条件ORDER BY 字段名1 ASC|DESC,字段名 ASC|DESC.;ASC 升序(默认)|DESC 降序SELECT ename,sal FROM emp ORDER BY sal;可以按多列进行排序,先按第一列,然后按第二列如果要对计算列排序,可以为计算列
16、指定别名,然后按别名排序。,基本查询语句,条件查询,简单条件查询要对显示的行进行限定,可在FROM从句后使用WHERE从句,在WHERE从句中给出限定的条件,因为限定条件是一个表达式,所以称为条件表达式。条件表达式中可以包含比较运算,表达式的值为真的记录将被显示。例子:,条件查询,复合条件查询可以用逻辑运算符构成复合的条件查询,即把两个或多个条件,用逻辑运算符连接成一个条件。有3个逻辑运算符,如下表所示。运算的优先顺序是NOT,AND,OR。如果要改变优先顺序,可以使用括号。,条件查询条件特殊表示法,特殊条件查询,Between.andInIs Not NullLIKE使用LIKE操作符可完成
17、按通配符查找字符串的查询操作,该操作符适合于对数据进行模糊查询。其语句法为:NOT LIKE 匹配模式匹配模式中除了可以包含固定的字符之外,还可以包含以下的通配符:%:代表0个或多个任意字符。_:代表一个任意字符。,函数数值型函数,函数字符型函数,1.trim在一个字符串中去除另一个字符串:select trim(leading|trailing|both s from sstsrings)from dual;Leading代表去除左边的,Trailing代表去除右边的,Both 代表去除两边的.2.replace:用一个字符串替换另一个字符串中的子字符串.Replace(ABC,B,C),函
18、数日期型函数,函数类型转换函数,1自动类型转换 Oracle可以自动根据具体情况进行如下的转换:*字符串到数值。*字符串到日期。*数值到字符串。*日期到字符串。,2日期类型转换将日期型转换成字符串时,可以按新的格式显示。如格式YYYY-MM-DD HH24:MI:SS表示“年-月-日 小时:分钟:秒”。Oracle的日期类型是包含时间在内的。,日期类型转换,日期类型转换2,数值转换符,select to_number(+123,S99999)from dual,其他常用函数,目录,数据库基本概念数据查询基本语法排序查询条件查询高级查询数据操作表和视图SQL内置函数,高级查询,多表联合查询通过连
19、接可以建立多表查询,多表查询的数据可以来自多个表,但是表之间必须有适当的连接条件。为了从多张表中查询,必须识别连接多张表的公共列。一般是在WHERE子句中用比较运算符指明连接的条件。忘记说明表的连接条件是常见的一种错误,这时查询将会产生表连接的笛卡尔积(即一个表中的每条记录与另一个表中的每条记录作连接产生的结果)。一般N个表进行连接,需要至少N-1个连接条件,才能够正确连接。两个表连接是最常见的情况,只需要说明一个连接条件。相等连接。不等连接。外连接。自连接。,相等连接通过两个表具有相同意义的列,可以建立相等连接条件。使用相等连接进行两个表的查询时,只有连接列上在两个表中都出现且值相等的行才会
20、出现在查询结果中。外连接相等连接有一个问题:如果某个值内容在另一张表中没有对应的记录存在,那么在查询中就不会出现相应的结果;为了解决这个问题可以用外连,即除了显示满足相等连接条件的记录外,还显示那些不满足连接条件的行,不满足连接条件的行将显示在最后。不等连接自连接自连接就是一个表,同本身进行连接。对于自连接可以想像存在两个相同的表(表和表的副本),可以通过不同的别名区别两个相同的表。,联合查询,统计查询,通常需要对数据进行统计,汇总出数据库的统计信息。这个功能可以由统计查询完成。Oracle提供了一些函数来完成统计工作,这些函数称为组函数,组函数不同于前面介绍和使用的函数(单行函数)。组函数可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基本原理 应用
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2279145.html