数据操控与事务 www.csst.com.cn.

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
Chapter 3: SQL.
1. SQL概述 2。DDL 3。DML DCL(第四部分安全性讲) 4。嵌入式使用 5。PL/SQL
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
复习重点; 1. 关系模型、ER模型 2. SQL 3. 事务管理 4. 函数依赖与规范化 5. 数据库设计  复习题 一、单项选择题
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第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等诸多优秀的数据库。在这一章中将讲解的内容包括。
数据库原理及设计 --作业.
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第5章 数据库保护 之事务.
计算机应用基础 上海大学计算中心.
Oracle数据库 Oracle 子程序.
資料庫管理 資管二 賴柏融.
数据库原理 Database Principles 第五章 数据库完整性 Database Principles.
数据库应用与程序设计.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第11章 详细设计.
Oracle数据库入门.
数据库技术 第十章 数据库完整性 中国科学技术大学网络学院 阚卫华.
第六章 學習SQL語言.
第 8 章 資料的 新增、修改與刪除.
課程名稱:資料庫系統 授課老師:李春雄 博士
第4章 SQL语言基础及数据库定义 4.1 基本概念 4.2 SQL Server 提供的主要数据类型 4.3 数据定义.
Chap 10 SQL定義、操作與控制指令.
高等資料庫管理系統 Advanced Database Management System
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
第 16 章 觸發程序.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
建立/修改/刪除資料表 建立資料表 使用Enterprise Manager工具
5 数据库管理与保护 数据库运行的最小逻辑工作单位是事务,所有对数据库的操作,都以事务作为一个整体来执行或撤销。
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
第三章:包   包(package)是一个可以将相关对象存储在一起的PL/SQL结构。包包含了两个分离的部件------包说明(specification)和包主体(body)。每个部件都单独被存储在数据字典中。包只能存储在数据库中,不能是本地的。除了可以将相关对象作为一组存在一起以外,包也是十分有用的,因为它们在依赖性方面的限制是比较小的。也有许多性能上的优点。
第三章作业讲评 文洁 2012/4/10.
SQL SERVER 一些经典语句 1.
数据库基础 1.
作业3-点评.
段磊 王慧锋 TEL: qq群: 数据库系统原理课程设计 实验环节2 段磊 王慧锋 TEL: qq群:
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Ch4.SQL Server 2005資料庫組成員元件介紹
实验二讲评 … 张榆….
数据库技术.
数据库技术与应用.
ORACLE 第九讲 触发器.
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
SQL 范引娣.
SQL查询语句 蔡海洋.
VB与Access数据库的连接.
第三章 SQL Server数据管理.
Web安全基础教程
第 7 章 建立資料表與資料庫圖表.
第4章 Excel电子表格制作软件 4.4 函数(一).
Visual Basic程序设计 第13章 访问数据库
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
第六讲 SQL语言之数据定义 第三讲 SQL Server 2000 数据库技术.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
Chinese Virtual Observatory
VB与Access数据库的连接.
第4章 数据查询.
Presentation transcript:

数据操控与事务 www.csst.com.cn

课程目标 插入、修改和删除记录 事务和锁的概念 提交、回滚事务 数据完整性 数据操作中约束的应用

插入记录 记录插入 格式: insert [into] 表名 [字段列表] values(值列表) 注:1、若省略字段列表,则表示给所有字段赋值 2、值列表的个数、顺序与类型应与字段列表兼容 例如:INSERT INTO DEPT(DNAME,DEPTNO) VALUES('ACCOUNT',50);

批量插入记录 格式:insert into 表名 select 字段列表 from 表名 where 条件 注:insert 表和select表结果集的列数、列序、数 据类型必须要一致 例如: CREATE TABLE TEST AS SELECT * FROM EMP; insert into test as select * from emp;

修改记录 更新表中数据 格式:update 表名 set 字段名=值[,字段名=值……] [where 条件] 例如: UPDATE EMP SET JOB =’MANAGER’ WHERE ENAME=’MARTIN’;

删除记录 删除数据 格式:delete from 表名 [where 条件] 格式: Truncate Table 表名 清空表格,保持结构 例如:DELETE FROM EMP WHERE EMPNO = 7654;

事务和锁的概念 事务为工作的一个逻辑单位,由一个或多个SQL语句组成。一个事务是一个原子单位,构成事务的全部SQL语句的结果可被全部提交或者全部回滚。 锁是在功能上避免用户访问正在被其它用户改变的信息,在多用户环境中,避免一些用户同时改变同样的数据 Atomicity Consistency Isolation Durability

ORACLE的事务管理 在ORACLE中一个事务是由一个可执行的SQL语句开始,一个可执行SQL语句产生对实例的调用。在事务开始时,被赋给一个可用回滚段,记录该事务的回滚项。一个事务以下列任何一个出现而结束。 当COMMIT或ROLLBACK(没有SAVEPOINT子句)语句发出。 一个DML语句被执行。在DML语句执行前、后都隐式地提交。 用户撤消对ORACLE的连接(当前事务提交)。 用户进程异常中止(当前事务回滚)。

提交事务(COMMIT) 提交一事务,即将在事务中由SQL语句所执行的改变永久化。在提交前,ORACLE已有下列情况: 在SGA的回滚段缓冲区已生成回滚段记录,回滚信息包含有所修改值的老值。 在SGA的日志缓冲区已生成日志项。这些改变在事务提交前可进入磁盘。 对SGA的数据库缓冲区已作修改,这些修改在事务真正提交之前可进入磁盘。

提交事务(COMMIT) 在事务提交之后,有下列情况: 对于与回滚段相关的内部事务表记录提交事务,并赋给一个相应的唯一系统修改号(SCN),记录在表中。 在SGA的日志缓冲区中日志项由LGWR进程写入到在线日志文件, 这是构成提交事务的原子事务。 在行上和表上的封锁被释放。 该事务标志为完成 。

回滚事务(ROLLBACK) 回滚事务的含义是撤消未提交事务中的SQL语句所作的对数据修改。ORALCE允许撤消未提交的整个事务,也允许撤消部分。 在回滚整个事务(没有引用保留点)时,有下列情况: 在事务中所有SQL语句作的全部修改,利用相应的回滚段被撤消。 所有数据的事务封锁被释放。 事务结束。

回滚事务(ROLLBACK) 当事务回滚到一保留点(具有SAVEPOINT)时,有下列情况: 仅在该保留点之后执行的语句被撤消。 该指定的保留点仍然被保留,该保留点之后所建立的保留点被删除。 自该保留点之后所获取的全部表封锁和行封锁被释放,但指定的保留点以前所获取的全部数据封锁继续保持。 该事务仍可继续。

保留点(SAVEPOINT) 保留点是在一事务范围内的中间标志,经常用于将一个长的事务划分为小的部分。保留点可标志长事务中的任何点,允许可回滚该点之后的工作。 使用方法: Savepoint <保存点名>; rollback [work] to [savepoint]<保存点名>;

数据完整性分类 实体完整性: 域完整性: 引用完整性: 保证每一行都能被由称为主键的属性来标识 保证在效范围内的值才能存储到相应列中 确保外键的值必须与相关的主键相匹配

数据完整性 数据完整性保证了在数据库中存储数据的一致性、相容性和正确性。 作用: 防止数据库中存在不符合语义的数据。 防止错误信息的输入与输出。 实现数据完整性的主要方式是约束。 约束类型分为: 值的约束(类型、范围、精度… ) 数据之间联系的约束(属性之间 :主码、引用… )

约束的类型 主键约束 primary key 确保字段值不重复不为NULL 外键约束 foreign key 确保字段值必须来自于指定表 非空约束 NOT NULL 确保字段值不为NULL 检查约束 check 确保字段值的取值范围 唯一约束 unique 确保字段值不重复

创建主键约束 例如 CREATE TABLE STU (STUNUM number(6), CODE char(3), GRADE number(3), Constraint p_stunumcode primary key (STUNUM, CODE)); 或者 alter table STU add constraint p_stunumcode primary key(STUNUM, CODE );

创建外键约束 例如 CREATE TABLE STU_bak (STUNUM number(6), CODE char(3), GRADE number(3), constraint f_stunumcode foreign key(STUNUM,code) references STU(STUNUM,code)); 或者 alter table STU_bak add constraint f_stunumcode foreign key(STUNUM,code) references STU(STUNUM,code) ;

创建非空约束 例如 alter table STU modify GRADE not null; 主键无须再创建非空约束

创建检查约束 例如 CREATE TABLE STU1 (STUNUM number(6), CODE char(3), GRADE number(3) check(GRADE between 1 and 10)); 或者: alter table 表名 add [constraint 约束名] check (字段检查表达式)

创建唯一约束 例如 alter table STU add constraint u_GRADE unique(GRADE); 或者: add [constraint 约束名] unique(字段名)