数据库入门课件-第4章 数据操作和事务管理
合集下载
《数据库第4章》课件
03
SQL语言基础
SQL语言概述
总结词
简洁、高效、标准化的特点
详细描述
SQL(Structured Query Language)是一种用于管理关系数据库的标准编程语言。它以简洁的语法 和高效的性能而著称,被广泛应用于数据查询、更新、管理以及数据库设计和维护。
SQL语言的数据定义功能
总结词
定义、修改、删除数据结构
关系数据库系统的特点
要点一
总结词
关系数据库系统具有数据完整性、标准化、安全性和并发 控制等特点。
要点二
详细描述
数据完整性是指关系数据库中的数据保持准确性和一致性 ,防止错误和无效数据的输入。标准化是指通过规范化的 表格结构和关系,减少数据冗余和保证数据一致性。安全 性是指对数据库的访问进行控制,确保数据的保密性和完 整性。并发控制则是在多用户同时访问数据库时,确保数 据的一致性和避免冲突。
安全对于保护企业资产、个人隐私以及国家安全等方面都具有重要意义
。
数据库的安全性控制
用户身份认证
通过用户名和密码等身份认证方式,确保只 有经过授权的用户才能访问数据库。
访问控制
根据用户的角色和权限,限制用户对数据库 的访问范围和操作权限。
数据加密
对敏感数据进行加密存储,以防止未经授权 的用户获取和利用。
05
数据库安全与保护
数据库安全概述
01
数据库安全定义
数据库安全是指通过采取各种安全措施和技术手段,确保数据库中的数
据不被未经授权的访问、使用、泄露、破坏、修改或销毁。
02
数据库安全威胁
数据库面临的安全威胁包括数据泄露、数据篡改、数据损坏、非授权访
问等。
03
最新第一讲——数据库系统基础知识课件教学讲义ppt课件
程序员
数数
据 库 应 用
据操 库作硬 管系件 理 统 数据库
系
系统
统
数据库系统层次示意图
最 终 用 户
数据库 管理员
1.1.2 数据库技术
3. 数据库系统
(1)、定义与组成
用户
用户
用户
数据库应用系统
数
据
应用开发工具
库
系
统
数据库管理系统
操作系统
数据库
数据库管理员
4. 数据库系统
(2)数据库系统的有关人员 数据库系统的有关人员包括最终用户、
1、人工管理阶段(1956以前)
应用程序1
数据1Biblioteka 求平均分班级英语 成绩
求及格率
班级英语 成绩
求优秀率
班级英语 成绩
程序与数据的关系
特点: (1) 数据不独立
它是程序的组成部分。 数据的传输和使用由程 序控制完成。数据也不 保存,用时随程序一起 全部送入内存,用完之 后全部撤出计算机。
(2)程序间数据大量重复
第一讲——数据库系统基础知识 课件
数据库技术部分
第一章 数据库系统基础知识 第二章 VFP编程基础 第三章 表与数据库操作 第四章 查询与视图 第五章 数据库应用系统设计
第一章 数据库系统基础知识
1.1.1 数据处理基本概念
数据的含义称为数据的语义,数据与其语义是不 可分的。 例如 100是一个数据 语义1:学生某门课的成绩 语义2:某人的体重 语义3:计算机学院2004级学生人数 语义4:请同学给出……
联机实时处理、 联机实时处理、分布
批处理
处理、批处理
文件系统
数据库管理系统
某一应用
第4章SQLSERVER数据库管理ppt课件全
4.1.3 SQL Server 2008 R2数据库类型
(2)model数据库:model数据库是一个模板数据库。每当创建新的
数据库时(包括系统数据库tempdb),就会创建model数据库的一个副
本,并以新创建数据库的名称重命名该副本。
(3)msdb数据库
可以把msdb数据库看作是SQL Server代理的数据库,这是因为SQL Server 2008 R2代理广泛地使用msdb数据库存储自动化作业定义、 作业计划、操作员定义以及警报定义。
❖ 步骤:
(1)从“开始”-“程序”-“Microsoft SQL Server 2008 R2”-“SQL Server 2008 R2 Management Studio”点击后,打开该工具,首先点击“连接”到 SQL Server 2008 R2数据库引擎实例,详见图4-3连接 Management Studio工具。
本章的学习目标:
• 了解数据库的存储结构 • 理解数据库文件和文件组的基本特征 • 了解SQL Server 2008 R2系统的数据库 • 了解数据库的物理存储方式和大小估算方法 • 熟练掌握用Management Studio工具和T-SQL语句创建数据库 • 熟练掌握用Management Studio工具和T-SQL语句修改数据库 • 熟练掌握扩大数据库的原因和方法 • 掌握数据库的分离和附加 • 掌握收缩数据库的原因和方法 • 掌握数据库的删除 • 掌握数据库的备份和还原
逻辑存储结构和物理存储结构。
数据库物理存储结构表现为存储数据的各类操作系统 文件,SQL Server 2008 R2数据库在磁盘上是以文件 为单位存储的,由数据文件和事物日志文件组成,每 个数据库至少要具有两种操作系统文件:一个数据文 件和一个事务日志文件。
《数据库原理及应用》教学课件 第四章数据操纵与查询
SELECT * FROM SC WHERE Grade>80
本例需要查询学生选课信息,即查询数据表 SC 中的所有属性,在 SELECT 后用“*”表示;在 WHERE 子句中使用比较运算符构造查询 条件,输出满足条件的元组。所得查询结果如图所示。
18
4.2 单表查询
4.2.2 无条件查询与条件查询
20
4.2 单表查询
4.2.2 无条件查询与条件查询
(4)确定集合查询
【例4-12】 从数据表 SC 中查询选修了课程“C0204”或“D0101”的学生的选课信息。
SELECT * FROM SC WHERE CNo IN('C0204','D0101')
IN 表示查询属性值属于指定集合的元组。本例查询结果如图 所示。
23
4.2 单表查询
4.2.2 无条件查询与条件查询
(6)空值查询
不同于零和空格,空值不占用任何存储空间。例如,某学生选修了某门课程,但没有参加考试, 这时就会出现数据表中有选课记录但考试成绩为空的情况,空值查询就可以对这类数据进行查询。 同样,也可以对不为空的数据进行查询。
【例4-14】 从数据表 SC中查询考试成绩有效的学生选课信息。 SELECT * FROM SC WHERE Grade IS NOT NULL
查询数据的 SQL 命令为 SELECT,具体语法格式如下:
SELECT [ALL|DISTINCT] <列名> [[AS] <列别名>] [ , N ] FROM <表名> [[AS] <表别名>] [WHERE <条件1>] [GROUP BY <列名1> [HAVING <条件2>] ] [ORDER BY <列名2> [ASC|DESC]]
本例需要查询学生选课信息,即查询数据表 SC 中的所有属性,在 SELECT 后用“*”表示;在 WHERE 子句中使用比较运算符构造查询 条件,输出满足条件的元组。所得查询结果如图所示。
18
4.2 单表查询
4.2.2 无条件查询与条件查询
20
4.2 单表查询
4.2.2 无条件查询与条件查询
(4)确定集合查询
【例4-12】 从数据表 SC 中查询选修了课程“C0204”或“D0101”的学生的选课信息。
SELECT * FROM SC WHERE CNo IN('C0204','D0101')
IN 表示查询属性值属于指定集合的元组。本例查询结果如图 所示。
23
4.2 单表查询
4.2.2 无条件查询与条件查询
(6)空值查询
不同于零和空格,空值不占用任何存储空间。例如,某学生选修了某门课程,但没有参加考试, 这时就会出现数据表中有选课记录但考试成绩为空的情况,空值查询就可以对这类数据进行查询。 同样,也可以对不为空的数据进行查询。
【例4-14】 从数据表 SC中查询考试成绩有效的学生选课信息。 SELECT * FROM SC WHERE Grade IS NOT NULL
查询数据的 SQL 命令为 SELECT,具体语法格式如下:
SELECT [ALL|DISTINCT] <列名> [[AS] <列别名>] [ , N ] FROM <表名> [[AS] <表别名>] [WHERE <条件1>] [GROUP BY <列名1> [HAVING <条件2>] ] [ORDER BY <列名2> [ASC|DESC]]
第4章 数据库基本操作PPT课件
4.1.2 打开数据库
1. (1) 在主菜单中选择“文件”→“打开”命令。 (2) 在“打开”窗口的“文件类型”下拉列表框 中选择“数据库”,然后输入要打开的数据库名, 再单击“确定”按钮,进入“数据库设计器”窗
2.使用Open命令或Modify Open DataBase <数据库名> [Shared] Modify DataBase <数据库名> 3
索引实际上是一种排序,但是它不改变表中数 据的物理顺序,而是另外建立一个记录号列表。 它与图书的索引目录相同,图书中的索引指明了 章、节、目的页码,而表的索引指明由某一字段 值的大小决定的记录排列的顺序。
4.2.2 索引类型
1.主索引:索引表达式的值是惟一能够标识每 个记录处理顺序的,即每个记录的索引表达式的值 是惟一的,
4.4.1 设置字段显示标题
4.4.2 设置字段注释信息
为了提高数据表的使用效率及其共享 性,可以在建立数据表结构时,对字段加 以注释,提醒、注明相关信息。这样能够 清楚地掌握字段的属性、意义及特殊用途 等,便于设计或其他用户使用。
例7.10 给”物业费”表中的“面积”字段添加注释 信息 (房屋面积包括阳台、公摊面积)
4.2.4 使用索引
打开表 表设计器 显示 浏览
表
索引顺序
工作区属性
属性
例4.6 为”物业费“表中的”缴费时间“字段建立普通索 引,并按索引值显示结果。(表->属性)
第三节
建立数据库表间关联
4.3.1 一对一关系
建立两个表之间的“一对一”关系,首先要 使两个表都具有相同属性的字段;然后定义父表 中该字段为主索引或候选索引字段(其字段值是惟 一的),子表中与其同名的字段为候选索引或主索 引(其字段值是惟一的)。由于两个表中的相同属 性的字段值具有一对一的对应关系,因此两个表 之间便可以建立“一对一”的关系。
数据库 事务管理的详细讲解PPT34页
数据库 事务管理的详细讲解
•
26、我们像鹰一样,生来就是自由的 ,但是 为了生 存,我 们不得 不为自 己编织 一个笼 子,然 后把自 己关在 里面。 ——博 莱索
•
27、法律如果不讲道理,即使延续时 间再长 ,也还 是没有 制约力 的。— —爱·科 克
•
28、好法律是由坏风俗创造出来的。 ——马 克罗维 乌斯
拉
60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
•
29、在一切能够接受法律支配的人类 的状态 中,哪 里没有 法律, 那里就 没有自 由。— —洛克
•Leabharlann 30、风俗可以造就法律,也可以废除 法律。 ——塞·约翰逊
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
•
26、我们像鹰一样,生来就是自由的 ,但是 为了生 存,我 们不得 不为自 己编织 一个笼 子,然 后把自 己关在 里面。 ——博 莱索
•
27、法律如果不讲道理,即使延续时 间再长 ,也还 是没有 制约力 的。— —爱·科 克
•
28、好法律是由坏风俗创造出来的。 ——马 克罗维 乌斯
拉
60、生活的道路一旦选定,就要勇敢地 走到底 ,决不 回头。 ——左
•
29、在一切能够接受法律支配的人类 的状态 中,哪 里没有 法律, 那里就 没有自 由。— —洛克
•Leabharlann 30、风俗可以造就法律,也可以废除 法律。 ——塞·约翰逊
56、书不仅是生活,而且是现在、过 去和未 来文化 生活的 源泉。 ——库 法耶夫 57、生命不可能有两次,但许多人连一 次也不 善于度 过。— —吕凯 特 58、问渠哪得清如许,为有源头活水来 。—— 朱熹 59、我的努力求学没有得到别的好处, 只不过 是愈来 愈发觉 自己的 无知。 ——笛 卡儿
《数据库的管理》PPT课件
日志:
是记录关系数据库修改情况的笔记,用户对关系 数据库中任何一张表所作的任何修改都将记录在 日志文件中。存储数据库的更新情况等事务日志 信息 ,当数据库损坏时,管理员使用事务日志恢 复数据库。
➢与数据库的关系
每一个数据库至少必须拥有一个事务日志文件, 而且允许拥有多个日志文件。
事务日志文件
➢标识
约束、规则、默认值和 触发器
确保数据库的数据完整性;强制执行业务规则。
登录、用户、角色和组 保障数据安全的基础。
SQL Server中的数据库文件
主仅
文有
一 件一
个 组个
)
数
据
库 的 文 件
次零 文到 件多 组个
(
)
集
事 务 日 志
(
主数据文件 *.mdf 仅有一个
次数据文件 *.ndf 零到多个
后续字符可以为:字母、数字、@、$、数字符号或下 划线
不能是T-SQL的保留字(Create、SELECT、FROM) 不允许嵌入空格或其他特殊字符
分隔标识符
➢分隔标识符-“”、[]
如果标识符包含保留字或包含空格,则需要使用分 隔标识符进行处理。
SELECT employee_name AS “ Employee name” From employee
第四章 数据库的管理 Chapter 4 Database Management
主要内容
➢1 数据库概述 ➢2 数据库的创建 ➢3 数据库的修改 ➢4 数据库的删除 ➢5 分离与附加数据库 ➢6小结
4.1 数据库概述
➢4.1.1 SQL SERVER中的数据库
数据库对象 数据库文件
主数据库文件(Primary Database File) 次数据库文件(Secondary Database File) 事务日志文件(Transact Log File)
是记录关系数据库修改情况的笔记,用户对关系 数据库中任何一张表所作的任何修改都将记录在 日志文件中。存储数据库的更新情况等事务日志 信息 ,当数据库损坏时,管理员使用事务日志恢 复数据库。
➢与数据库的关系
每一个数据库至少必须拥有一个事务日志文件, 而且允许拥有多个日志文件。
事务日志文件
➢标识
约束、规则、默认值和 触发器
确保数据库的数据完整性;强制执行业务规则。
登录、用户、角色和组 保障数据安全的基础。
SQL Server中的数据库文件
主仅
文有
一 件一
个 组个
)
数
据
库 的 文 件
次零 文到 件多 组个
(
)
集
事 务 日 志
(
主数据文件 *.mdf 仅有一个
次数据文件 *.ndf 零到多个
后续字符可以为:字母、数字、@、$、数字符号或下 划线
不能是T-SQL的保留字(Create、SELECT、FROM) 不允许嵌入空格或其他特殊字符
分隔标识符
➢分隔标识符-“”、[]
如果标识符包含保留字或包含空格,则需要使用分 隔标识符进行处理。
SELECT employee_name AS “ Employee name” From employee
第四章 数据库的管理 Chapter 4 Database Management
主要内容
➢1 数据库概述 ➢2 数据库的创建 ➢3 数据库的修改 ➢4 数据库的删除 ➢5 分离与附加数据库 ➢6小结
4.1 数据库概述
➢4.1.1 SQL SERVER中的数据库
数据库对象 数据库文件
主数据库文件(Primary Database File) 次数据库文件(Secondary Database File) 事务日志文件(Transact Log File)
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地纬软件
© 2012 Inspur Group
Oracle没有共享锁。向Oracle发出读请求时,Oracle返回 比该事务年轻的事务中最年老的事务写的数据值。 这种设计方案的优势在于读事务从来不必等待, 能够提高查询效率。
地纬软件
© 2012 Inspur Group
排他锁:在执行DDL操作时,Oracle将在表中放置一个“排他 锁”,这样其他用户就不能更改表,也不能尝试添加或 更改新表的内容。如果一个表中存在一个排他锁,那么 其它用户不能在同一表上获得一个排他锁或者共享锁。 此外,如果用户在一个表上有一共享锁,那么其它用户 就不能再同一个表上放置排他锁。
注意:删除数据是一项危险的操作,请谨慎 使用! delete from 表名 [where 条件表达 式];
删除全体医师。 delete from dw.doctor;
删除内科的全体医 师。 delete from dw.doctor where ksbm in (select ksbm from dw.dept where ksmc=’内 科’);
SELECT * FROM dw.doctor WHERE ysbh=’J500’ FOR UPDATE;
地纬软件
© 2012 Inspur Group
思考1:步骤2和步骤4中查询 步骤1、打开PL/SQL 语句的结果为什么不同? 步骤2:执行下列SQL: update dw.medi_item set dj=10000 where ylxmbm='100001'; select dj 思考2:步骤6执行的查询语句 from dw.medi_item 结果是什么?与步骤4有何不同? where ylxmbm='100001'; 为什么 步骤3、再打开一个PL/SQL 步骤4、在打开的第二个PL/SQL中执行: select dj from dw.medi_item where ylxmbm='100001'; 步骤5、在第一次打开的PL/SQL中执行commit; 步骤6:在第二次打开的PL/SQL中执行 select dj from dw.medi_item where ylxmbm='100001';
地纬新员工入门课程系列
理解简单关系模式,会画关系模式图 了解Oracle的基础知识 熟练使用SQL语句 会使用SQL Plus 和PL/SQL developer工具 会导入导出dmp
地纬软件
本章目标
向现有表中添加记录-INSERT 修改表中现有的行-UPDATE
对于高于平均值的药品,价格改 为平均值。 update dw.medi_item set dj=(select avg(dj) from dw.medi_item where ylxmlb=’1’) where dj > (select avg(dj) from dw.medi_item where ylxmlb=’1’);
地纬软件
ROLLBACK命令
◦ 撤销在上一次执行COMMIT或者rollback命令之后执行 的所有DML操作。
commit和rollback的共同之处在于都能够结束事务,
释放事务占用的资源,包括:封锁、内存等资源。
二者的不同之处在于它们结束事务的方式不同。 commit和rollback命令只对DML起作用,DDL和
INSERT INTO tablename[(columnnae,…)] VALUES(datavalue,…)
注意:公司规范要求,必须指定列名,所有sql语句用到的表必须 指定用户名(dw.doctor)
insert into dw.doctor(ysbm,xm,ksbm,xb,ksfzr) values('005','王晓','0007','1', ’034’);
地纬软件
COMMIT命令 在执行COMMIT之前的DML语句对表的操作不是 永久性的。向表 添加记录所执行的一系列DML语句被视为一个 “事务”, Oracle中,事务就是一系列已经发出但是还没有 提交的语句, 一个事务可以包含一个SQL语句,也可以包含在 很长一段时间 内发出的2000个SQL语句,事务的持续时间从上 一次commit或者rollback到当前commit或者 rollback为止。
ቤተ መጻሕፍቲ ባይዱ
DCL不需要commit和rollback。
地纬软件
思考:如果两个用户尝试同时更改同一个记录,那么将 会发生什么情况?哪一个更改会实际保存到这个表中?
因为在执行DML命令时,Oracle将隐含的“锁定”受到影响的 行,所以其他用户不能更改同一行,这是一个“行锁”,当受影响 的行数占表中总行数的比例超过一定比例时,Oracle自动将“行锁” 升级为“表锁”。 “行锁”和“表锁”都是排它锁。
删除记录-DELETE
掌握事务控制语句COMMIT、ROLLBACK 了解共享锁和排他锁
使用SELECT…FOR UPDATE命令创建共享锁
地纬软件
命令 INSERT
说明 向表添加新行。用户可以包括一个子查询来复 制现有表的行
UPDATE
DELETE ROLLBACK COMMIT LOCKTABLE SELECT…FOR UPDATE
地纬软件
步骤1:打开PL/SQL 执行状态是什么?为什么? 步骤2:执行下列SQL update dw.doctor 思考2:步骤4中SQL语句 为什么能够顺利完成了? set xm='伏地魔' where ysbm='018'; 步骤3:再打开一个PL/SQL 步骤4:在新打开的PL/SQL中执行下列SQL: update dw.doctor set xm='赫敏' where ysbm='018'; 步骤5:在第一次打开的PL/SQL中执行rollback 步骤6:观察步骤4的状态。
思考1:步骤4中SQL语句
地纬软件
LOCK TABLE tablename IN EXCLUSIVE MODE;
地纬软件
© 2012 Inspur Group
SELECT…FOR UPDATE命令在将要更改的记录上放置了 一个共享锁,防止其他任何用户获得同样记录上的锁。
SELECT columnname,… FROM tablename [WHERE condition] FOR UPDATE;
地纬软件
update 表名 set 列名 = 表达式 | 子查询,列名 = [表达式 | 子查询],… [where 条件表达式]
将所有男病人的年龄增加 1岁。 update dw.per_natl set nl=nl+1 where xb=’1’;
地纬软件
在费用结算中,对于2000元及以上的报销金 额,减少5%,对于2000元以下的报销金额, 减少3%。 update dw.patient_settle set bxje=bxje*0.95 where bxje>=2000; update dw.patient_settle set bxje=bxje*0.97 where bxje<2000;
删除自付费用高于平均自付费用的结算 delete from dw.patient_settle where zfje>(select avg(zfje) from dw.patient_settle);
地纬软件
事务是访问并可能更新各种数据项的一个程序执行单元。这些操 作要么都做,要么都不做,是一个不可分割的工作单位。 事务具有ACID特性。 原子性(Atomicity):事务中包含的所有操作要么全做,要么全不 做。原子性由恢复系统实现。 一致性(Consistency):事务的隔离执行必须保证数据库的一致性。 事务开始前,数据库处于一致性的状态;事务结束后,数据库必 须仍处于一致性状态;事务的执行过程中可以暂时的不一致。一 致性由并发控制系统实现。 隔离性(Isolation):系统必须保证事务不受其它并发执行事务的 影响。对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前 已经结束,要么在T1完成之后再开始执行。隔离性通过并发控制 系统实现。 持久性(Durability):一个事务一旦提交之后,它对数据库的影响 必须是永久的。系统发生故障不能改变事务的持久性。持久性通 过恢复系统实现。
向现有的行添加数据或者修改现有行中的数据
删除表中的行 允许用户“撤销”对数据未提交的更改 更改后的数据永久地保存在表中 禁止其他用户更改表 在表上创建一个共享锁,以便禁止其他用户更 改制定列中的数据
地纬软件
© 2012 Inspur Group
注意:如果VALUES输入的数据与表中的列的顺序相同,可以忽略 列名如果只输入了某些列或列出的列的顺序与表中列出的顺序不同, 必须在INSERT INTO后面提供这些列名称。