数据库管理及应用 期末复习.

Slides:



Advertisements
Similar presentations
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
Advertisements

计算机软件技术基础计算机软件技术基础 数据库系统( 3 ). 第 2 页 4.3 关系数据库语言 SQL 关系数据库 SQL ( Structured Query Language )语言是关系 数据库的标准语言,对关系模型的发展和商用 DBMS 的研制起 着重要的作用。 SQL 发展历史  1986.
Chapter 3: SQL.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库技术 实践.
数据库技术及应用 ——SQL Server 任课教师: 毕丛娣 电话: 年3月.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
数据库原理及应用 第10章 事务与锁 10.1 事务 10.2 锁.
Chap 13 視界與資料庫程式設計.
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
数据库原理与SQL Server 第9章 保证数据完整性.
第5章 数据库保护 之事务.
计算机应用基础 上海大学计算中心.
数据库原理与应用 01 – 绪论 郑捷.
Oracle数据库 Oracle 子程序.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
第五讲 利用视图进行查询优化.
作业4讲评.
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
数据库技术 第三章 关系数据库标准语言SQL 中国科学技术大学网络学院 阚卫华.
汤 娜 中山大学计算机科学系 数 据 库 基 础 第三章 SQL语言 汤 娜 中山大学计算机科学系
An Introduction to Database System
Chap 10 SQL定義、操作與控制指令.
第 14 章 預存程序.
An Introduction to Database System An Introduction to Database System
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
第十章 数据库表.
課程名稱:資料庫系統 授課老師:李春雄 博士
SQL Server 2000 数据库入门.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
5 数据库管理与保护 数据库运行的最小逻辑工作单位是事务,所有对数据库的操作,都以事务作为一个整体来执行或撤销。
SQL SERVER 一些经典语句 1.
医院职工公费医疗系统.
数据库基础 1.
段磊 王慧锋 TEL: qq群: 数据库系统原理课程设计 实验环节2 段磊 王慧锋 TEL: qq群:
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Ch4.SQL Server 2005資料庫組成員元件介紹
数据库技术.
数据库应用技术 SQL Server 2005.
数据库技术与应用.
第11章 事务与锁 11.1 事务Transact 11.2 数据并发的问题 11.3 锁Lock 11.4 事务隔离级别.
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
查询与视图 蔡海洋.
SQL查询语句 蔡海洋.
17 交易處理與鎖定 17-1 交易的基礎 17-2 交易處理 17-3 並行控制 17-4 資料鎖定 17-5 死結問題.
VB与Access数据库的连接.
第三章 SQL Server数据管理.
第 7 章 建立資料表與資料庫圖表.
国家“十一五”规划教材 数据库原理与应用教程(第3版).
第9章 存储过程的创建和使用 9.1 存储过程简介 9.2 创建存储过程 9.3 修改存储过程 9.4 删除存储过程 9.5 执行存储过程.
数据集的抽取式摘要 程龚, 徐丹云.
1.把下面的关系模式转化为E-R图 1)系(系号,系名,电话) 2)教师(工号,姓名,性别,年龄,系号)
Visual Basic程序设计 第13章 访问数据库
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第六讲 SQL语言之数据定义 第三讲 SQL Server 2000 数据库技术.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
基于列存储的RDF数据管理 朱敏
VB与Access数据库的连接.
第4章 数据查询.
Presentation transcript:

数据库管理及应用 期末复习

期末考试的题型和考试方式 一、考试的题型 1、选择题(10小题,20分) 2、填空题(10小题,30分) 3、简答题(4小题,20分) 4、编程题(3题,30分) (1)数据查询(2题) (2)存储过程(1题) 二、考试方式:开卷 三、考试时间:100分钟

考试范围 第1章 数据库系统概述 第2章 关系数据库 第3章 关系数据库标准语言----SQL 第4章 关系数据库化理论 第5章 数据库安全保护 第6章 数据库设计 第7章 SQL Server 2000高级设计

第1章 数据库系统概述 一、复习课本内容 1.1 信息、数据、数据处理与数据管理(理解) 1.2 数据库技术的产生、发展(理解) 第1章 数据库系统概述 一、复习课本内容 1.1 信息、数据、数据处理与数据管理(理解) 1.2 数据库技术的产生、发展(理解) 1.3 数据库系统的组成(理解) 1.4 数据库系统的模式结构(掌握) 1.6 数据库管理系统(DBMS) (掌握) 1.6.1 DBMS的主要功能 1.6.2 DBMS的组成

第1章 数据库系统概述 一、复习课本内容 1.7 数据模型(掌握) 1.8 四种数据模型 1.8.3 关系模型 (掌握) 第1章 数据库系统概述 一、复习课本内容 1.7 数据模型(掌握) 1.8 四种数据模型 1.8.3 关系模型 (掌握) 1.9 数据库系统的发展(了解)

第1章 数据库系统概述 二、本章练习题 1、网上练习题 2、课本习题(与要求复习内容有关的习题) 三、本章考试题型 (1)选择题 第1章 数据库系统概述 二、本章练习题 1、网上练习题 2、课本习题(与要求复习内容有关的习题) 三、本章考试题型 (1)选择题 (2)填空题 (3)简答题

第2章 关系数据库 一、复习课本内容 2.1 关系模型的数据结构及其形式化定义(理解) 2.2 关系的键与关系的完整性(理解) 第2章 关系数据库 一、复习课本内容 2.1 关系模型的数据结构及其形式化定义(理解) 2.2 关系的键与关系的完整性(理解) 2.3 关系代数 (掌握) 二、本章练习题 1、网上练习题 2、课本习题(与要求复习内容有关的习题) 三、本章考试题型 (1)选择题 (2)填空题 (3)简答题

第3章 关系数据库标准语言--SQL 一、复习课本内容(重要) 3.1 SQL语言的基本概念与特点(了解) 3.2 了解SQL Server 2000 3.2.2 企业管理器 (掌握使用) 3.2.3 查询分析器 (掌握使用) 3.3 创建与使用数据库(理解)

第3章 关系数据库标准语言--SQL 一、复习课本内容 3.4 创建与使用数据表 3.4.1 数据类型 (掌握常用的) 3.4 创建与使用数据表 3.4.1 数据类型 (掌握常用的) 3.4.2 创建数据表 2. 用SQL命令创建数据表 (掌握) 3.4.3 定义数据表的约束 (掌握)

第3章 关系数据库标准语言--SQL 一、复习课本内容 3.5 创建与使用索引 3.5.1 索引的作用 (理解) 3.5 创建与使用索引 3.5.1 索引的作用 (理解) 3.5.2 索引的分类 (理解) 3.5.3 创建索引 2. 用SQL命令创建索引 (掌握)

第3章 关系数据库标准语言--SQL 一、复习课本内容 3.6 数据查询 掌握3.6.1---3.6.7 3.7 数据更新 3.6 数据查询 掌握3.6.1---3.6.7 3.7 数据更新 掌握用SQL命令添加、修改和删除数据 3.8 视图 掌握用SQL命令创建视图 3.9 数据控制(理解)

第3章 关系数据库标准语言--SQL 二、本章练习题 1、网上练习题 2、课本例题、习题(与要求复习内容有关的) 三、本章考试题型 (1)选择题 (2)填空题 (3)简答题 (4)编程题:数据查询

3.4.3 定义数据表的约束 一、域完整性约束 1、字段的数据类型 2、空值约束(NOT NULL) 3.4.3 定义数据表的约束 一、域完整性约束 1、字段的数据类型 2、空值约束(NOT NULL) 3、缺省约束(default constraints) 4、检查约束(check constraints) 二、实体完整性约束 1、主键约束(primary key constraints) 2、唯一约束(unique constraints) 三、参照完整性约束 1、参照约束:被参照表的记录删除,参照表中的相应记录都要删除。如学生表某个学生删除,成绩表中有关该学生的所有记录都要删除。 2、外键约束:外键的值在所参照表的主键值必须存在。 四、用户定义完整性:通过编程实现,如存储过程。

例如,在创建学生表时,加入约束的语句为: CREATE TABLE 学生表 (学号 CHAR(7) NOT NULL, 姓名 CHAR(8), 性别 CHAR(2) DEFAULT '男', 年龄 INT CHECK(年龄>=18 AND 年龄<=60) 专业代号 CHAR(3), 所属系别 CHAR(5), PRIMARY KEY(学号), FOREIGN KEY (所属系别) REFERENCE 系部表(所属系别))

3.8 视图 一、视图概述 二、创建视图 三、查询视图

一、视图概述 1、视图是从一个或几个基本表(或视图)导出的表,视图和基本表不同之处在于,它并没有真正地存储数据,它只是存放视图的定义,它是一种虚的映射关系,它所存取的数据必须依附于所关联的基本表。视图可以和基本表一样被查询、被删除。 2、视图的优点 视图能够简化用户的操作。 视图使用户能以多种角度看待同一数据。 视图对重构数据库提供了一定程度的逻辑独立性。 视图能够对机密数据提供安全保护。

二、创建视图 SQL语言用CREATE VIEW语句建立视图,其一般格式为: CREATE VIEW 视图名 [(字段名[,字段名]…)] AS 子查询 1)组成视图的属性列名或者全部省略或者全部指定,没有第三种选择。 在下列三种情况下必须明确指定组成视图的所有列名: ●其中某个目标列不是单纯的属性名,而是库函数或列表达式; ●多表连接时选出了几个同名列作为视图的字段; ●需要在视图中为某个列启用新的更合适的名字。

2)子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY子句、INTO子句和DISTINCT短语,不能涉及临时表。 1、在单个基本表上建立视图 例:建立200101班学生的视图。 CREATE VIEW V200101 AS SELECT 学号,姓名,出生年份 FROM 学生 WHERE 班级=‘200101’ 实际上,DBMS执行CREATE VIEW语句的结果只是把对视图的定义存入数据字典,并不执行其中的SELECT语句。只是在对视图查询时,才按视图的定义从基本表中将数据查出。

2、在多个基本表上建立视图。 例:建立200101班选修了C1课程号学生的视图。 CREATE VIEW V1(学号,姓名,分数)AS SELECT 学生.学号,姓名,分数 FROM 学生,成绩 WHERE 学生.学号=成绩.学号 AND 成绩.课程号=‘C1’ AND 班级=‘200101’ 3、在基本表与视图上建立视图。 例:建立200101班选修了C1课程号且成绩在90分以上的学生视图。 CREATE VIEW V2 AS SELECT 学号,姓名,分数 FROM V1 WHERE 分数>90

三、查询视图 视图查询过程:DBMS执行对视图的查询时,首先进行有效性检查,检查查询涉及的表、视图等是否在数据库中存在,如果存在,则从数据字典中取出查询涉及的视图的定义,把定义中的子查询和用户对视图的查询结合起来,转换成对基本表的查询,然后再执行这个经过修正的查询。将对视图的查询转换为对基本表的查询的过程称为视图的消解(View Resolution)。

例:在200101班的视图中找出出生年份大于1985年的学生。 SELECT 学号,姓名,出生年份 FROM V200101 WHERE 出生年份>1985 本例转换后的查询为: SELECT 学号,姓名,出生年份 FROM 学生 WHERE 班级=‘200101’ AND 出生年份>1985 说明: 上述查询要求转换成等价的对基本表的查询是可操作的,如果定义视图时子查询的目标列是函数或一般表达式时,将无法实现这样的转换。

例:用视图方式对成绩表生成成绩统计供查询。 CREATE VIEW 成绩统计(课程号,平均分,最高分,最低分)AS SELECT 课程号,AVG(分数),MAX(分数),MIN(分数)FROM 成绩 GROUP BY 课程号 1)查看成绩统计表。使用如下语句: SELECT * FROM 成绩统计 2)也可查某门课程C1的成绩统计情况。使用如下语句: SELECT * FROM 成绩统计 WHERE 课程号=‘C1’ 3)但不能以平均分、最高分、最低分作为查询条件。

第4章 关系数据库理论 一、复习课本内容 4.1 规范化问题的提出(理解) 4.2 函数依赖(了解) 4.4 关系模式的范式(了解) 第4章 关系数据库理论 一、复习课本内容 4.1 规范化问题的提出(理解) 4.2 函数依赖(了解) 4.4 关系模式的范式(了解) 4.5 关系模式的规范化 (了解) 二、本章练习题 1、网上练习题 三、本章考试题型 (1)选择题 (2)填空题

第5章 数据库安全保护 一、复习课本内容 5.1 数据库的安全性(了解) 5.2 完整性控制(了解) 5.3 并发控制与封锁(了解) 第5章 数据库安全保护 一、复习课本内容 5.1 数据库的安全性(了解) 5.2 完整性控制(了解) 5.3 并发控制与封锁(了解) 二、本章练习题 1、网上练习题 三、本章考试题型 (1)选择题 (2)填空题 (3)简答题

5.3 并发控制与封锁 一、事务分类 二、显式事务 三、并发问题

一、事务分类 1、事务定义 2、事务特性 3、 事务分类 事务是一个逻辑工作单元,一个事务内的所有SQL语句要么全部执行,要么都不执行。 一个逻辑工作单元必须有4个属性,只有这样才能成为一个事务。 • 原子性(Atomicity) • 一致性(Consistency) • 隔离性(Isolation) • 持久性(Durability) 3、 事务分类 按事务的启动和执行方式,可以将事务分为3类: • 显式事务 • 自动提交事务 • 隐性事务

二、显式事务 1、启动事务 启动事务使用BEGIN TRANSACTION语句。其语法格式如下: BEGIN TRAN[SACTION] [transaction_name | @tran_name_variable [WITH MARK ['description']]] 2、结束事务 可使用COMMIT TRANSACTION语句成功地结束事务。其语法格式如下: COMMIT [TRAN[SACTION] [transaction_name | @tran_name_variable]]

例如: BEGIN TRANSACTION UPDATE 库存表 SET 库存量=库存量-l0 WHBRE 商品代码=‘K01’ UPDATE 进账表 SET 金额=金额+200.00 WHERE 账号=‘0027-654321’ COMMIT GO

三、并发问题 如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生数据不一致问题,这就是并发问题。它包括: • 丢失或覆盖更新(Lost Update)。 • 未确认的相关性(脏读,Dirty Read)。 • 不一致的分析(非重复读,Non-Repeatable Read)。 • 幻像读。 上述四种情况的例子请见书上

第6章 数据库设计 一、复习课本内容 5.1 数据库设计概述(了解) 5.2 需求分析(理解) 5.3 概念结构设计(理解) 第6章 数据库设计 一、复习课本内容 5.1 数据库设计概述(了解) 5.2 需求分析(理解) 5.3 概念结构设计(理解) 5.4 逻辑结构设计(理解) 5.5 物理结构设计(理解) 5.6 数据库的实施和维护(了解) 二、本章练习题 1、网上练习题 2、课本习题 三、本章考试题型 (1)选择题 (2)填空题 (3)简答题

第7章 SQL Server 2000 高级应用 一、复习课本内容 7.1 Transact-SQL程序设计(掌握) 7.2 存储过程(掌握) 二、本章练习题 1、网上练习题 2、课本例子、习题(与要求复习内容有关的) 三、本章考试题型 (1)选择题 (2)填空题 (3)简答题 (4)编程题:存储过程

7.2.2、7.2.6 创建和执行存储过程 1.使用CREATE PROCEDURE语句创建存储过程 7.2.2、7.2.6 创建和执行存储过程 1.使用CREATE PROCEDURE语句创建存储过程 CREATE PROCEDURE语句的语法格式为: CREATE PROC[EDURE ] procedure_name [ {@parameter data_type} [ = default][OUTPUT] ][,…n] AS sql_statement […n ]

7.2.2、7.2.6 创建和执行存储过程 2.执行存储过程使用EXECUTE语句 其完整语法格式如下: [ EXEC[UTE] ] 7.2.2、7.2.6 创建和执行存储过程 2.执行存储过程使用EXECUTE语句 其完整语法格式如下: [ EXEC[UTE] ] [ @return_status = ] { procedure_name | @procedure_name_var} [ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] } ][ ,…n ]

7.2.2、7.2.6 创建和执行存储过程 例1:编写一个存储过程能根据用户提供WPH(物品号)、CKS(出库数)进行出库处理,KCB(WPH CHAR(3) NOT NULL,KCS INT)是库存表,RCKMXB(WPH CHAR(3) NOT NULL,RKS INT,CKS INT,RQ DATETIME)是入出库明细表。 (1)创建存储过程 CREATE PROCEDURE USP_CKCL @WPH CHAR(3),@CKS INT AS

7.2.2、7.2.6 创建和执行存储过程 IF @CKS<=(SELECT KCS FROM KCB WHERE WPH=@WPH) 7.2.2、7.2.6 创建和执行存储过程 IF @CKS<=(SELECT KCS FROM KCB WHERE WPH=@WPH) BEGIN BEGIN TRANSACTION UPDATE KCB SET KCS=KCS-@CKS WHERE WPH=@WPH INSERT RCKMXB VALUES (@WPH,0,@CKS,GETDATE()) COMMIT END ELSE RAISERROR('库存数不足!',16,1) GO

7.2.2、7.2.6 创建和执行存储过程 (2)执行存储过程 EXEC USP_CKCL ‘0100’,120 或 7.2.2、7.2.6 创建和执行存储过程 (2)执行存储过程 EXEC USP_CKCL ‘0100’,120 或 EXEC USP_CKCL @WPH =‘0100’, @CKS =120 EXEC USP_CKCL @CKS =120 , @WPH =‘0100’ GO

7.2.2、7.2.6 创建和执行存储过程 例2:编写一个存储过程能根据用户提供WPH(物品号)、RKS(入库数)进行入库处理,KCB(WPH CHAR(3) NOT NULL,KCS INT)是库存表,RCKMXB(WPH CHAR(3) NOT NULL,RKS INT,CKS INT,RQ DATETIME)是入出库明细表。 (1)创建存储过程 CREATE PROCEDURE USP_RKCL @WPH CHAR(3),@RKS INT AS

7.2.2、7.2.6 创建和执行存储过程 BEGIN BEGIN TRANSACTION 7.2.2、7.2.6 创建和执行存储过程 BEGIN BEGIN TRANSACTION IF EXISTS(SELECT * FROM KCB WHERE WPH=@WPH) UPDATE KCB SET KCS=KCS+@RKS WHERE WPH=@WPH ELSE INSERT INTO KCB VALUES(@WPH,@RKS) INSERT INTO RCKMXB VALUES (@WPH,@RKS,0,GETDATE()) COMMIT END GO (2)执行存储过程 EXEC USP_RKCL ‘01003’,150