[Database.System.Concepts(6th.Edition.2010)].Abraham.Silberschatz. Ch8学习笔记
Database
Ch8.relational design
8.1 features of good design
8.1.1 larger alternatives
why design is good ?
Otherwise ,a larger alternative(schema) may cause:
1)redundancy
2)update may cause inconsistency
3)update may bring nulls
8.1.2 smaller alternatives
Functional dependency : A-->B, i.e.A determines uniquely B (a kind of function relation , injection) ,lead to repetition in schema.
//An e.g. of bad deposition.
So,how do we make a smaller alternative(schema)?
It is impossible to divide a larger schema into a smaller one by means of finding repetition caused by join(why impossible? large amount of data and unknown of relations int the real world).
What matters is the the functional dependency(the rules in the real world).
On the other hand,a smaller alternative(schema) may cause:
1) lossy decomposition.which means when you decompose relation X,getting Y&Z.You will find Y join Z !=X.
8.2 atomic domains &1st normal form
atomic if elements of the domain are considered to be indivisible units.
a relation schema R is in first normal form (1NF) if the domains of all attributes of R are atomic.
Discuss in whether cs0114 is an atomic domain.
8.3 Decomposition Using Functional Dependencies
Recall notation
1)Roman letter stands for a relation set while Greek letter for other attribute set(always one attribute).
2)K is a super-key of r (R).(candidate key is a minimal super-key )
3)we use single lowercase letter in our definitions and algorithms,not for eg. Instructor.
4)instance of r means a particular value at some given time.
8.3.1 Keys and Functional Dependencies
Define :relations have feature of functions .
α → β holds on R if and only if for any legal relations r(R), whenever any
two tuples t1 and t2 of r agree on the attributes α, they also agree
on the attributes β. That is,
t1[α] = t2 [α] ⇒ t1[β ] = t2 [β ]
We say that the instance satisfies the functional Dependency
We say that the functional dependency α → β holds on schema r (R)
A functional dependency is trivial if it is satisfied by all instances of a relation
Example:
4 ID, name → ID
4 name → name
l In general, α → β is trivial if β ⊆ α Some times α !→ β but alpha,gamma->beta.
(i.e.. In some special instance of instructor,name may ->ID,but it is not true for all instances)
notation F+ to denote the closure(satisfy transitive) of the set F,
8.3.2 Boyce–Codd Normal Form
Boyce–Codd normal form (BCNF) eliminates all redundancy that can be discovered based on functional dependencies.
Formal definition
A relation schema R is in BCNF with respect to a set F of
functional dependencies if for all functional dependencies in F+ of
the form
α → β
where α ⊆ R and β ⊆ R, at least one of the following holds:
1)α → β is trivial (i.e., β ⊆ α)
2)nα is a superkey for R
In other words,BCNF requires that all nontrivial dependencies be of the form α → β , where α is a superkey.
In other words,BCNF requires that all α → β ,where α is not super key , to be trivial.
Suppose we have a schema R and a non-trivial dependency α →β
causes a violation of BCNF.
We decompose R into:
• (α U β )
• ( R - ( β - α ) )
It’s quite reasonable.
8.3.3 BCNF and Dependency Preservation
About testing constrains.
Constraints, including functional dependencies, are costly to check in practice unless they pertain to only one relation
A decomposition is dependency preserving.If it is sufficient to test only those dependencies on each individual relation of a decomposition in order to ensure that all functional dependencies hold
It is not always possible to achieve both BCNF and dependency preservation(in some cases, decomposition into BCNF can prevent efficient testing of certain functional dependencies.)
, we consider a weaker normal form, known as third normal form.
When a dependency whose attributes do not all appear in any one schema we call it is not dependency preserving.
BCNF is not dependency preserving but 3rdNF is.
second normal(满足第一范式且不存在partial dependency(部分依赖)the 3rd rule of 3rd NF) form is of historical significance only and is not used in practice.
8.3.4 Third Normal Form
A relation schema R is in third normal form (3NF) if for all:
α → β in F+
at least one of the following holds:
l α → β is trivial (i.e., β ∈ α)
l α is a superkey for R
l Each attribute A in β – α is contained in a candidate key for R.
(NOTE: each attribute may be in a different candidate key)
BCNF requires that all nontrivial dependencies be of the form α→β , where α is a superkey.
Third normal form (3NF) relaxes this constraint slightly by allowing certain nontrivial functional dependencies whose left side is not a superkey.
Third condition is a minimal relaxation of BCNF to ensure dependency preservation (will see why later).
Normalization:
In the case that a relation scheme R is not in “good” form,
decompose it into a set of relation scheme {R1, R2, ..., Rn} such that
l each relation scheme is in good form
l the decomposition is a lossless-join decomposition
l Preferably, the decomposition should be dependency preserving
8.4 8.5 8.6:theorem &&algorithm for decomposition using NF
[Database.System.Concepts(6th.Edition.2010)].Abraham.Silberschatz. Ch8学习笔记的更多相关文章
- #翻译#原文来自Database.System.Concepts(6th.Edition.2010)2.6Relational Operations,原文作者Abraham Silberschaz , Henry F. Korth , S. Sudarshan
2.6关系操作 所有的过程关系查询语言都提供一组操作,这些操作可以应用于单个关系或一对关系.这些操作具有良好的和期望的属性,它们的结果总是一个单一的关系.这个属性允许一个以模块化的方式组合其中的几个操 ...
- [转载]ECMA-262 6th Edition / Draft August 24, 2014 Draft ECMAScript Language Specification
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-23.4 Draft Report Errors and Issues at: htt ...
- 配置recovery_min_apply_delay后重启standby节点报错:psql: FATAL: the database system is starting up
环境: pg版本:PostgreSQL 9.4.4 on x86_64 系统版本:CentOS release 6.6 linux内核版本:2.6.32-504.8.1.el6.x86_64 今天测试 ...
- Principle and Application of Database System
<数据库系统原理与应用>课程教学大纲 英文名称:Principle and Application of Database System 课程类型:专业必修课 学时/学分:48+16/3. ...
- 备库搭建后,进入备库报错psql: FATAL: the database system is starting up
备库搭建后,进入备库报错psql: FATAL: the database system is starting up 原因:备库配置文件没有hot_standby = on mast ...
- Anatomy of a Database System学习笔记 - 概论、并发控制
<Anatomy of a Database System>这篇发表于87年.一共48页的论文据说是DBA入门必看,但是找了全网没有找到中文翻译.这篇文章对关系型数据库确实有提纲挈领的作用 ...
- VSTO 学习笔记(十)Office 2010 Ribbon开发
原文:VSTO 学习笔记(十)Office 2010 Ribbon开发 微软的Office系列办公套件从Office 2007开始首次引入了Ribbon导航菜单模式,其将一系列相关的功能集成在一个个R ...
- VSTO学习笔记(八)向 Word 2010 中写入表结构
原文:VSTO学习笔记(八)向 Word 2010 中写入表结构 前几天公司在做CMMI 3级认证,需要提交一系列的Word文档,其中有一种文档要求添加公司几个系统的数据库中的表结构.我临时接到了这项 ...
- 【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发
微软的Office系列办公套件从Office 2007开始首次引入了Ribbon导航菜单模式,其将一系列相关的功能集成在一个个Ribbon中,便于集中管理.操作.这种Ribbon是高度可定制的,用户可 ...
随机推荐
- 一个简单的开源PHP爬虫框架『Phpfetcher』
这篇文章首发在吹水小镇:http://blog.reetsee.com/archives/366 要在手机或者电脑看到更好的图片或代码欢迎到博文原地址.也欢迎到博文原地址批评指正. 转载请注明: 吹水 ...
- iostat各字段的来源和真实含义
The primary tool for inspecting Linux disk performance is iostat. The output includes many important ...
- 【转载】Hadoop官方文档翻译——HDFS Architecture 2.7.3
HDFS Architecture HDFS Architecture(HDFS 架构) Introduction(简介) Assumptions and Goals(假设和目标) Hardware ...
- XML格式化工具
做接口开发的时候,往往接受参数或返回值是一个XML的字符串.如下图,不方便辨识 两种方法, 1.将它保存为xxx.xml,然后用浏览器打开.这种方法稍微有些麻烦. 2.使用 UltraEdit 工具
- 原创:在局域网中,如何知道某个IP被占用 show arp
如果某一栋楼有三层交换机(一般为汇聚层交换机),只需要在该三层交换机输入命令:show arp,即可知道当前那些IP地址被占用.如果该栋楼只有二层交换机(接入层交换机),需要在连接该二层交换机的上级三 ...
- 【转载】基于rasa的对话系统搭建(上)
文章介绍使用rasa nlu和 rasa core 实现一个电信领域对话系统demo,实现简单的业务查询办理功能,更完善的实现需要进一步数据的收集.demo基于玩具数据集,可以达到下面的效果: Bot ...
- halcon电路断裂检测
read_image (Image, 'pcb')dev_close_window ()get_image_size (Image, Width, Height)dev_open_window (0, ...
- FasterRCNN 提升分类精度(转)
近年来,随着深度学习的崛起,计算机视觉得到飞速发展.目标检测作为计算机视觉的基础算法,也搭上了深度学习的快车.基于Proposal的检测框架,从R-CNN到Faster R-CNN,算法性能越来越高, ...
- linux技巧---为各应用创建快捷方式
linux中启动或关闭应用有时候比较麻烦,你必须cd到该应用的可执行脚本的目录中再执行该脚本,不能在任意目录下开启或关闭应用..当然,设置了环境变量path可以解决在任意目录下开启应用的问题,但是每个 ...
- js和css实现手机横竖屏预览思路整理
实现效果,如上图. 首先,实现手机页面在PC端预览, 则先在网上找到一个手机的背景图片,算好大概内间距,用来放预览的页面,我这里是给手机预览页面的尺寸按iphone5的尺寸来的: 一个手机页面在这里预 ...