数据库系统-课件

上传人:无*** 文档编号:241431391 上传时间:2024-06-25 格式:PPT 页数:36 大小:185.70KB
返回 下载 相关 举报
数据库系统-课件_第1页
第1页 / 共36页
数据库系统-课件_第2页
第2页 / 共36页
数据库系统-课件_第3页
第3页 / 共36页
点击查看更多>>
资源描述
第1章 绪论o基本概念n数据库(Database,DB):长期储存在计算机内、有组织的、可共享的数据集合。n数据库管理系统(Database Management System,DBMS):是位于用户与操作系统之间的一层数据管理软件。常用的大型数据库管理系统包括DB2、SQL SERVER、Oracle、Sybase、Informix等。1第1章 绪论基本概念1第1章 绪论o数据管理经历了人工管理、文件系统、数据库系统、高级数据库技术管理四个阶段。o采用数据库技术管理数据具有如下特点:o(1)采用一定的数据模型实现数据结构化;o(2)程序与数据具有较高的独立性;o(3)控制数据冗余;o(4)支持数据共享;o(5)数据安全性较高。2第1章 绪论数据管理经历了人工管理、文件系统、数据库系统、第1章 绪论o数据的逻辑独立性:当数据的整体逻辑结构改变时,通过系统内部的自动映像或转换功能,保持了数据的局部逻辑结构不变。o视图能够实现数据的逻辑独立性。o数据的物理独立性:当数据的存储结构改变时,通过系统内部的自动映像或转换功能,保持了数据的逻辑结构不变。3第1章 绪论数据的逻辑独立性:当数据的整体逻辑结构改变时,通第1章 绪论o数据模型:是现实世界数据特征的抽象。o概念数据模型:按用户的观点对数据和信息建模。如:实体联系模型 o逻辑数据模型:按计算机系统的观点对数据建模。如:层次模型,网状模型,关系模型4第1章 绪论数据模型:是现实世界数据特征的抽象。4o数据仓库o数据仓库是一个面向主题的、集成的、不可更新的、随时间不断变化的数据集合,用以支持企业或组织的决策分析处理。o数据挖掘就是从大量数据中提取或“挖掘”知识,可以支持人们进行决策。o数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业战略决策所需信息。数据仓库开始时主要用于信息处理,而后用于分析处理,最后可用于数据挖掘,因此数据挖掘可看作数据仓库的高层次应用;但数据挖掘不限于分析数据仓库中的数据,它可以分析现存的、比数据仓库提供的汇总数据粒度更细的数据,也可以分析事务的、文本的、空间的和多媒体数据。第1章 绪论5数据仓库第1章 绪论5o关系模型:用二维表的形式表示实体和实体间联系的数据模型o关系模型符合1NF。o第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项。第2章 关系模型6关系模型:用二维表的形式表示实体和实体间联系的数据模型第2章第2章 关系模型o超键(Superkey):在一个关系中,能唯一标识元组的属性集。o键Key(候选键candidate key):一个属性集能惟一标识元组,又不含有多余属性。o主键(primary key):关系模式中用户正在使用的候选键称主键。用作主键的列不可以为NULL,在行记录中不可以重复,可以将几个列合并起来用作主键。o外键(Foreign Key):是指关系R中的一组属性A不是关系R的主键,但A是另一个关系S的主键,则属性组A就是关系R的外键。7第2章 关系模型超键(Superkey):在一个关系中,能唯第2章 关系模型o数据完整性:是指保护数据库中数据的正确性、有效性和相容性,防止不合语义的数据进入数据库。o实体完整性:主键(PRIMARY KEY)o参照完整性:外键(FOREIGN KEY)o用户定义的完整性:check、触发器o在数据库系统中,数据完整性约束的建立需要通过数据库管理系统提供的数据定义语言来实现。8第2章 关系模型数据完整性:是指保护数据库中数据的正确性、有o关系代数:用关系的运算来表达查询要求的方式。o并o差 o交o广义笛卡尔积o投影:是从关系R中选择出若干属性列组成新的关系。o选择:在关系R中选择满足给定条件的元组。o连接:从两个关系的笛卡儿积中选取属性间满足一定条件的元组。o并、差、投影、广义笛卡儿积和选择五种运算为基本运算。9关系代数:用关系的运算来表达查询要求的方式。9第3章结构化查询语言SQLoSQL(Structured Query Language)是结构化查询语言,包括查询、定义、操纵和控制四个部分,是一种功能齐全的数据库语言。目前已成为关系数据库的标准语言。SQL功能关键动词数据数据查询DQL(Data Query Language)SELECT数据定数据定义DDL(Data Definition Language)CREATE,DROP,ALTER数据操数据操纵DML(Data Manipulation Language)INSERT,UPDATE,DELETE数据控制数据控制DCL(Data Control Language)GRANT,REVOKE10第3章结构化查询语言SQLSQL(Structured 第3章结构化查询语言SQLo1.定义基本表 oCREATE TABLE(列级完整性约束条件,列级完整性约束条件.),;o设有一个关系数据库,有三个基本表,表结构如下:oSTUDENT(学号 姓名 年龄 性别 学院号)、oSC(学号 课程号 成绩)、oCOURSE(课程号 课程名 学时数 课程类型)o创建COURSE表的SQL语句 oCreate Table COURSE(课程号 char(6)not null primary key,课 程 名 char(30),学 时 数 smallint,课 程 类 型char(10)11第3章结构化查询语言SQL1.定义基本表 1第3章结构化查询语言SQLo删除基本表的命令 oDROPTABLE oDROPTABLE COURSE 12第3章结构化查询语言SQL删除基本表的命令 12第3章结构化查询语言SQLo查询oSELECT ALL|DISTINCT,.FROM,.WHERE GROUP BY HAVING ORDER BY ASC|DESC;oGROUP:将结果按的值进行分组,该属性列值相等的元组为一个组,每个组产生结果表中的一条记录。o如果GROUP子句带HAVING短语,则只有满足指定条件的组才予输出。o如果有ORDER子句,则结果表还要按的值的升序或降序排序。13第3章结构化查询语言SQL查询13第3章结构化查询语言SQLo使用聚合函数oCOUNT(DISTINCT|ALL*)统计元组个数 oCOUNT(DISTINCT|ALL)统计一列中值的个数 oSUM(DISTINCT|ALL)计算一列值的总和 oAVG(DISTINCT|ALL)计算一列值的平均值oMAX(DISTINCT|ALL)求一列值中的最大值 oMIN(DISTINCT|ALL)求一列值中的最小值14第3章结构化查询语言SQL使用聚合函数14第3章结构化查询语言SQLo谓词LIKE可用来进行字符串的匹配。语法格式:oNOT LIKE ESCAPE o含义是查找指定的属性列值与相匹配的元组。o%(百分号)代表任意长度(长度可以为0)的字符串。o_(下横线)代表任意单个字符。15第3章结构化查询语言SQL谓词LIKE可用来进行字符串的第3章结构化查询语言SQLo例:下面哪一个语句能查找名称以“book”字符串结尾的出版社?oA.Select pub_name from publishers where pub_name like _book oB.Select pub_name from publishers where pub_name like%bookoC.Select pub_name from publishers where pub_name like book oD.Select pub_name from publishers where pub_name like book 16第3章结构化查询语言SQL例:下面哪一个语句能查找名称以第3章结构化查询语言SQLo设有一个数据库Library,包括Book,Borrow,Reader三个关系模式:oBook(Bno,Btitle,Bauthor,Bprice);oBorrow(Rno,Bno,BorrowDate,ReturnDate);oReader(Rno,Rname,Rsex,Rage,Reducation);o写出实现下列操作的SQL语句。o查询所有年龄在1830岁(包括18岁和30岁)之间的读者姓名(Rname)及年龄(Rage)。oSelect Rname,Rage from Reader where Rage between 18 and 3017第3章结构化查询语言SQL设有一个数据库Library,第3章结构化查询语言SQLoBook(Bno,Btitle,Bauthor,Bprice);oBorrow(Rno,Bno,BorrowDate,ReturnDate);oReader(Rno,Rname,Rsex,Rage,Reducation,Email);查询所有姓张的且全名为2个汉字的读者的姓名(Rname)和性别(Rsex)。oSelect Rname,Rsex from Reader where Rname like 张_ 18第3章结构化查询语言SQLBook(Bno,Btitle第3章结构化查询语言SQLoBook(Bno,Btitle,Bauthor,Bprice);oBorrow(Rno,Bno,BorrowDate,ReturnDate);oReader(Rno,Rname,Rsex,Rage,Reducation);o查询所有的借阅记录,按照读者编号(Rno)升序排列,读者编号相同的,按照借阅时间(BorrowDate)降序排列。oSelect Rno,Bno,BorrowDate,ReturnDate from Borrow order by Rno asc,BorrowDate desc 19第3章结构化查询语言SQLBook(Bno,Btitle第3章结构化查询语言SQLoBook(Bno,Btitle,Bauthor,Bprice);oBorrow(Rno,Bno,BorrowDate,ReturnDate);oReader(Rno,Rname,Rsex,Rage,Reducation);o查询比编号为B02的图书的价格高的图书的编号(Bno)、书名(Btitle)和价格(Bprice)。o Select Bno,Btitle,Bprice from book where Bprice(select Bprice from book where Bno=B02)20第3章结构化查询语言SQLBook(Bno,BtitleBook(BnoBook(Bno,BtitleBtitle,BauthorBauthor,Bprice)Bprice);Borrow(RnoBorrow(Rno,BnoBno,BorrowDateBorrowDate,ReturnDate)ReturnDate);Reader(RnoReader(Rno,RnameRname,RsexRsex,RageRage,Reducation)Reducation);基本表的修改 oALTER TABLE ADD 完整性约束o DROP 完整性约束名 DROP COLUMN oALTER COLUMN ;例:修改读者表Reader中Rname列;把Rname列修改成下列定义:数据类型:Char;长度:10;允许空否:NULL;Alter Table Reader Alter Column Rname Char(10)Null21Book(Bno,Btitle,Bauthor,Bprice第3章结构化查询语言SQLo数据库的安全性控制是指保护数据以防止未经授权或不合法的使用造成的数据泄露、更改或破坏。o保证数据库系统的安全性措施:o1)用户标识和身份鉴定;o2)存取控制;o3)定义视图;o4)审计;o5)数据加密。22第3章结构化查询语言SQL数据库的安全性控制是指保护数据第3章结构化查询语言SQLo一、授权ogrant 表级权限 on 表名|视图名 to 用户,用户|public with grant optionwith grant option表示获得权限的用户可以把权限再授予其它用户o回收权限orevoke 表级权限 on 表名|视图名 from 用户,用户|public例:收回用户PENG对学生表(STUDENT)中学号(XH)的修改权:oREVOKE UPDATE(XH)ON STUDENT FROM PENG23第3章结构化查询语言SQL一、授权23第3章结构化查询语言SQLo视图是从一个或几个基本表(或视图)导出的表,它是一个虚表,只存放视图的定义,而不存放视图对应的数据。o优点:o1)简化用户的操作;o2)使用户能从多种角度看待同一数据;o3)对重构数据库提供了一定程度的逻辑独立性;o4)能够对机密数据提供安全保护。o如:要使用户张先生只能查询表A中的部分记录,可以构建该部分记录的行级视图,并将该视图的查询权限赋予张先生 24第3章结构化查询语言SQL视图是从一个或几个基本表(或视第3章结构化查询语言SQLo1、定义视图 oCREATEVIEW视图名称(属性名1,属性名2,)ASSELECT查询模块 WITHCHECKOPTION;oSTUDENT(学号 姓名 年龄 性别 学院号)、oSC(学号 课程号 成绩)、oCOURSE(课程号 课程名 学时数 课程类型)o创建一个视图MyView,查询课程类型为选修课程学生的学院号、学号、姓名 oCreate View MyView ASoSelect STUDENT.学院号,STUDENT.学号,STUDENT.姓名 from STUDENT,SC where STUDENT.学号=SC.学号 and SC.课程号 IN (Select COURSE.课程号 from COURSE where COURSE.课程类型=选修课程)25第3章结构化查询语言SQL1、定义视图 25o游标o游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,用户可以用SQL语句逐一从游标中获取记录,并赋值给主变量,交由主语言进一步处理。第3章结构化查询语言SQL26游标第3章结构化查询语言SQL26o存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数来执行它。存储过程有以下的优点:o重复使用。o提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。o减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。o安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。第3章结构化查询语言SQL27存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在第4章并发控制o日志文件是用来记录事务对数据库的更新操作的文件,在数据库恢复中其着非常重要的作用,可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质恢复。28第4章并发控制日志文件是用来记录事务对数据库的更新操作的文第4章并发控制o并发控制o为了充分利用数据库资源,发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库,但会产生多个用户并发存取同一数据的情况,需要对并发操作进行控制,以防止数据库的不一致性。o并发控制机制的好坏是衡量数据库管理系统性能的重要标志之一。并发控制是以事务为单位进行的。o封锁技术(Locking)是并发控制的主要技术o死锁:在数据库并发控制中,两个或多个事务处于等待状态。29第4章并发控制并发控制29第4章并发控制o事务是数据库的逻辑工作单位,是用户定义的一组操作序列。在关系数据库中,一个事务可以是一组SQL语句或整个程序。事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。事务应具有原子性、一致性、隔离性和持续性。o原子性:事务必须是原子工作单元,对于其数据操作,要么全都执行,要么全都不执行。o一致性:事务的执行结果必须使数据库从一个一致性状态变到另一个一致性状态。o隔离性:一个事务的执行不能被其它事务干扰。o持续性(持久性):一旦事务成功提交,其对数据库的更新操作将永久有效,即使数据库发生故障。30第4章并发控制事务是数据库的逻辑工作单位,是用户定义的一组第4章并发控制o并发操作引起的异常:o丢失更新(Lost Update)o未提交读(Uncommitted read),也称为“脏读”o不可重复读(Nonrepeatable read)o幻象读(Phantom read)31第4章并发控制并发操作引起的异常:31o数据库运行中可能产生三种故障:o事务故障:违反完整性约束引起事务夭折;o系统故障:软硬件错误断电引起事务夭折;o介质故障:磁盘损坏部分或全部数据丢失。o事务故障和系统故障影响事务的正常执行,介质故障破坏数据库数据。第4章并发控制32数据库运行中可能产生三种故障:第4章并发控制32第章数据库设计o数据库设计o数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。33第章数据库设计数据库设计33数据库设计的基本步骤需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构设计评价,性能预测物理实现试验性运行使用、维护数据库需求分析需求分析阶段段概念概念设计阶段段逻辑设计阶段段物理物理设计阶段段数据数据库实施施阶段段数据数据库运行运行维护阶段段应用需求(数据、处理)转换规则、DBMS功能、优化方法应用要求DBMS详细特征不满意不满意需求文档数据字典数据流图等用E-R图描述的概念模型某种数据模型并优化存储安排方法选择存取路径建立编写模式数据装入数据库试运行性能检测、转储/恢复数据库重组和重构过程迭代、逐步求精的设计思想34数据库设计的基本步骤需求收集和分析设计概念结构设计逻辑结构数第章数据库设计o数据字典:数据字典是结构化设计方法的一个工具,它用于对系统中的各类数据进行详尽的描述,是对各类数据描述的集合,它通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。o需求分析可按以下步骤进行:n调查组织机构情况,了解该组织的部分组成情况、各部门的职责等,为分析信息流作准备。n调查各部门的业务活动情况,包括了解各部门输入和使用什么数据、如何加工和处理这些数据、输出什么信息、输出到什么部门、输出格式如何等。n在上述工作基础上,协助用户明确对新系统的各种要求,包括信息存储要求、信息处理要求、安全性和完整性要求等。n确定系统的边界,哪些由计算机完成、哪些由人工完成等。35第章数据库设计数据字典:数据字典是结构化设计方法的一个工第章数据库设计o数据库维护工作包括:n数据库的转储和恢复。n对数据库的安全性和完整性进行控制。n对数据库的性能进行监督、分析和改造。n对数据库进行重组织和重构造。36第章数据库设计数据库维护工作包括:36
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!