数据库原理
文章平均质量分 75
此专栏分享的主要内容包括数据库的发展、结构化查询、数据恢复、数据增删改查、数据冗灾,数据库设计和数据优化等,并提供个人见解,方面大家交流与学习
陆讯
南大软院计算机科学与技术,同济大学工商管理MBA,一个懂技术的产品人,从事互联网产品事业,励志做有价值、有温度的产品...
展开
-
数据库 - 并发调度的可串行性
并发调度的可串行性DBMS对并发事务不同的调度(schedule)可能会产生不同的结果 什么样的调度是正确的?串行化(Serial)调度是正确的 对于串行调度,各个事务的操作没有交叉,也就没有相互干扰,当然也不会产生并发所引起的。如前所述,事务对数据库的作用是将数据库从一个一致的状态转变为另一个一致的状态。多个事务串行执行后,数据库仍旧保持一致的状态。可串行化(Serializable)调度原创 2015-05-12 17:35:31 · 18973 阅读 · 0 评论 -
数据库 - 并发控制
并发控制机制的任务对并发操作进行正确调度 保证事务的隔离性 保证数据库的一致性多用户数据库系统的存在 允许多个用户同时使用的数据库系统 飞机定票数据库系统 银行数据库系统 特点:在同一时刻并发运行的事务数可达数百个 不同的多事务执行方式 (1)事务串行执行 每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行 不能充分利用系统资源,发挥数据库共享资原创 2015-05-12 17:30:51 · 1883 阅读 · 0 评论 -
数据库 - 恢复策略与数据库镜像
登记日志文件基本原则 登记的次序严格按并行事务执行的时间次序 必须先写日志文件,后写数据库 写日志文件操作:把表示这个修改的日志记录 写到日志文件 写数据库操作:把对数据的修改写到数据库中为什么要先写日志文件 (The Write-Ahead Log) 写数据库和写日志文件是两个不同的操作 在这两个操作之间可能发生故障 如果先写了数据库修改,而在日志文件中没有登记下这个修改,则原创 2015-05-12 17:16:46 · 2977 阅读 · 0 评论 -
数据库 - 数据库恢复技术
事务定义Jim(James) Gray 詹姆斯·格雷 1998年图灵奖获得者 数据库技术和事务处理专家 二、事务的特性定义 一个数据库操作序列 一个不可分割的工作单位 恢复和并发控制的基本单位事务和程序比较 在关系数据库中,一个事务可以是一条或多条SQL语句,也可以包含一个或多个程序。 一个程序通常包含多个事务显式定义方式 BEGIN TRANSACTION原创 2015-05-12 16:28:57 · 3873 阅读 · 0 评论 -
数据库 - 物理优化
物理优化代数优化改变查询语句中操作的次序和组合,不涉及底层的存取路径 对于一个查询语句有许多存取方案,它们的执行效率不同, 仅仅进行代数优化是不够的 物理优化就是要选择高效合理的操作算法或存取路径,求得优化的查询计划 基于启发式规则的存取路径选择优化一、 选择操作的启发式规则:对于小关系,使用全表顺序扫描,即使选择列上有索引 对于大关系,启发式规则有:对于选择条件是主码=值的查询 查原创 2015-05-08 11:26:06 · 5418 阅读 · 0 评论 -
数据库 - 关系数据库系统的查询优化
查询优化在关系数据库系统中有着非常重要的地位 关系查询优化是影响RDBMS性能的关键因素 由于关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性 查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好 (1) 优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息 (原创 2015-05-08 11:03:17 · 3543 阅读 · 0 评论 -
数据库 - 关系数据库系统的查询处理
关系系统本章目的: RDBMS的查询处理步骤 查询优化的概念 基本方法和技术 查询优化分类 : 代数优化 物理优化RDBMS查询处理阶段 : 1. 查询分析2. 查询检查3. 查询优化 4. 查询执行 对查询语句进行扫描、词法分析和语法分析 从查询语句中识别出语言符号 进行语法检查和语法分析 查询检查根据数据字典对合法的查询语句进行语义检查 根据数据字典中的用户原创 2015-05-08 10:54:28 · 3385 阅读 · 0 评论 -
数据库 - 物理设计
数据库的物理设计数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统 为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理设计数据库物理设计的步骤 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构 对物理结构进行评价,评价的重点是时间和空间效率 如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要原创 2015-05-08 10:39:29 · 24197 阅读 · 0 评论 -
数据库 - 逻辑结构设计
逻辑结构设计逻辑结构设计的任务 把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构 逻辑结构设计的步骤 将概念结构转化为一般的关系、网状、层次模型 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换 对数据模型进行优化E-R图向关系模型的转换E-R图向关系模型的转换要解决的问题 如何将实体型和实体间的联系转换为关系模式 如何确原创 2015-05-08 10:22:24 · 41416 阅读 · 0 评论 -
数据库 - 概念结构设计
概念结构设计什么是概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计 概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定 概念结构设计是整个数据库设计的关键 概念结构设计的特点 (1) 能真实、充分地反映现实世界 (2) 易于理解 (3) 易于更改 (4) 易于向关系、网状、层次等各种数据模型转换原创 2015-05-08 10:15:46 · 39104 阅读 · 0 评论 -
数据库 -DataBase设计
数据库设计概述数据库设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。 目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境 数据库建设的基本规律 三分技术,七分管理,十二分基础数据 管理 数据库建设项目管理 企业(原创 2015-05-07 10:02:41 · 2646 阅读 · 0 评论 -
数据库 - 数据依赖的公理系统
数据依赖的公理系统逻辑蕴含 定义6.11 对于满足一组函数依赖 F 的关系模式R <U,F>,其任何一个关系r,若函数依赖X→Y都成立, (即r中任意两元组t,s,若tX]=sX],则tY]=sY]),则称F逻辑蕴含X →YArmstrong公理系统 关系模式R <U,F >来说有以下的推理规则:A1.自反律(Reflexivity):若Y X U,则X →Y为F所蕴含。原创 2015-05-07 09:45:19 · 12297 阅读 · 0 评论 -
数据库 - BC范式(BCNF)
BC范式(BCNF)关系模式R<U,F>∈1NF,若X→Y且Y X时X必包含码,则R<U,F> ∈BCNF。这个定义表明,如果非平凡的FD X→Y中X不包含码,那么Y必定传递依赖于候选键,因此R不是BCNF模式。等价于:每一个决定属性因素都包含码如果关系模式R是1NF,且每个属性(包括主属性和非主属性)都不传递依赖于R的候选码,那么称R是BCNF的模式。若R∈BCNF 所有非主属性对每原创 2015-05-07 09:33:28 · 7749 阅读 · 0 评论 -
数据库 - 范式(Normal Form, NF)
码设K为R<U,F>中的属性或属性组合。若K U, 则K称为R的侯选码,或候选键(Candidate Key)。 若候选码多于一个,则选定其中的一个做为主码,或主键(Primary Key)。主属性与非主属性 包含在任何一个候选码中的属性 ,称为主属性(Prime attribute) 不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性(N原创 2015-05-07 09:29:05 · 3016 阅读 · 0 评论 -
数据库 - 关系模式函数依赖
关系数据库逻辑设计 针对具体问题,如何构造一个适合于它的数据模式 数据库逻辑设计的工具──关系数据库的规范化理论 关系模式由五部分组成,即它是一个五元组: R(U, D, DOM, F)R: 关系名U: 组成该关系的属性名集合D: 属性组U中属性所来自的域DOM: 属性向域的映象集合F: 属性间数据的原创 2015-05-07 09:09:45 · 16074 阅读 · 2 评论 -
数据库 - 触发器与域中的完整性限制
域中的完整性限制SQL支持域的概念,并可以用CREATE DOMAIN语句建立一个域以及该域应该满足的完整性约束条件。[例14]建立一个性别域,并声明性别域的取值范围 CREATE DOMAIN GenderDomain CHAR(2) CHECK (VALUE IN ('男','女') ); 这样[例10]中对Ssex的说明可以改写原创 2015-05-06 10:04:20 · 2858 阅读 · 0 评论 -
数据库 - 数据库完整性
数据库的完整性数据的正确性和相容性数据的完整性和安全性是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作 为维护数据库的完整性,DBMS必须: 1.提供定义完整性约束条件的机制 2.提供完整性检查的方法 3.违约处理原创 2015-05-06 09:58:40 · 6212 阅读 · 0 评论 -
数据库 - 数据库角色
数据库角色数据库角色:被命名的一组与数据库操作相关的权限 角色是权限的集合 可以为一组具有相同权限的用户创建一个角色 简化授权的过程一、角色的创建CREATE ROLE <角色名> 二、给角色授权 GRANT <权限>[,<权限>]… ON <对象类型>对象名 TO <角色>[,<角色>]…三、将一个角色授予其他的角色或用户GRANT <角色1>[,<角色2>]…TO原创 2015-05-06 09:47:40 · 7151 阅读 · 0 评论 -
数据库 - 授权与回收安全性
计算机系统安全性为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。 问题的提出数据库的一大特点是数据可以共享数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例: 军事秘密、国家机密、新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户原创 2015-05-06 09:35:35 · 2464 阅读 · 0 评论 -
数据库 - 视图
视图视图的特点 虚表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不存放视图对应的数据 基表中的数据发生变化,从视图中查询出的数据也随之改变 基于视图的操作 查询 删除 受限更新 定义基于该视图的新视图定义视图建立视图:语句格式 CREATE VIEW <视图名> [(<列名> [,<列名>]…)]原创 2015-05-05 14:30:49 · 3043 阅读 · 0 评论 -
数据库 - 数据更新(插入、修改、删除)
插入数据两种插入数据方式 1. 插入元组 2. 插入子查询结果 可以一次插入多个元组 语句格式 INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)] VALUES (<常量1> [,<常量2>] … )功能将新元组插入指定表中[例1] 将一个新学生元组(学号:200215128;姓名:陈冬;性别:男;所在系:IS;年龄原创 2015-05-05 13:44:40 · 32069 阅读 · 0 评论 -
数据库 - 连接查询、嵌套查询、集合查询
连接查询连接查询:同时涉及多个表的查询 连接条件或连接谓词:用来连接两个表的条件 一般格式:[<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2>[<表名1>.]<列名1> BETWEEN [<表名2>.]<列名2> AND [<表名2>.]<列名3>连接字段:连接谓词中的列名称 连接条件中的各连接字段类型必须是可比的,但名字不必是相同的嵌套循环法(NESTED-原创 2015-05-05 13:32:33 · 20410 阅读 · 3 评论 -
数据库 - 数据查询
数据查询语句格式 SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式>] …FROM <表名或视图名>[, <表名或视图名> ] …[ WHERE <条件表达式> ][ GROUP BY <列名1> [ HAVING <条件表达式> ] ][ ORDER原创 2015-05-05 10:15:28 · 2275 阅读 · 0 评论 -
数据库 - 索引、基本表创建与删除
修改基本表ALTER TABLE <表名>[ ADD <新列名> <数据类型> [ 完整性约束 ] ][ DROP <完整性约束名> ][ ALTER COLUMN<列名> <数据类型> ];[例8]向Student表增加“入学时间”列,其数据类型为日期型。 ALTER TABLE Student ADD S_entrance DATE;不论基本表中原来是否已有数据,新增加的列一原创 2015-05-05 10:04:43 · 4788 阅读 · 0 评论 -
数据库 - 关系数据库标准语言SQL
SQL(Structured Query Language)结构化查询语言,是关系数据库的标准语言SQL是一个通用的、功能极强的关系数据库语言SQL特点1.综合统一 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体。 可以独立完成数据库生命周期中的全部活动: 定义关系模式,插入数据,建立数据库; 对数据库中的数据进行查询和更新; 数据库重构和维护原创 2015-05-05 09:57:12 · 5787 阅读 · 0 评论 -
数据库 - 关系演算
关系演算以数理逻辑中的谓词演算为基础 按谓词变元不同 进行分类 1.元组关系演算: 以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA 2.域关系演算: 以域变量作为谓词变元的基本对象 域关系演算语言QBE由E.F.Codd提出INGRES所用的QUEL语言是参照ALPHA语言研制的语句检索语句GET更新语句PUT,HOLD,UPDATE,D原创 2015-05-05 09:30:58 · 5062 阅读 · 0 评论 -
数据库 - 关系代数与关系运算
概述 传统的集合运算 (并,差,交,笛卡尔积) 专门的关系运算并(Union)R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域R∪S 仍为n目关系,由属于R或属于S的元组组成 R∪S = { t|t R∨t S }差(Difference)R和S具有相同的目n相应的属性取自同一个域R - S 仍为n目关系,由属于R而不属于原创 2015-05-05 09:12:58 · 10666 阅读 · 0 评论 -
数据库 - 关系数据库
关系数据库提出关系模型的是美国IBM公司的E.F.Codd (Edgar Frank Codd,1923-2003) , “关系数据库之父”1970年提出关系数据模型E.F.Codd, “A Relational Model of Data for Large Shared Data Banks”, 《Communication of the ACM》,1970E.F.Codd 1923年原创 2015-05-03 13:13:04 · 2068 阅读 · 0 评论 -
数据库 - 数据库系统结构
数据库系统结构从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构 从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为: 单用户结构 分布式结构 客户/服务器 浏览器/应用服务器/数据库服务器多层结构等数据库系统模式的概念“型” 和“值” 的概念 型(Type) 对某一类数据的结构和属性的说明 值(Value) 是型的一个具体赋值原创 2015-05-03 12:47:08 · 5232 阅读 · 4 评论 -
数据库 - 数据库概论
数据库地位数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。数据数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的原创 2015-05-03 12:40:31 · 2730 阅读 · 0 评论