📝 DBMS

116篇技术文档
  DBMS规范化:1NF,2NF,3NF和BCNF的示例

📅  最后修改于: 2020-12-12 03:01:28        🧑  作者: Mango

正常化规范化是组织数据库中数据的过程。归一化用于最小化一个关系或一组关系的冗余。它还可用于消除不希望出现的特征,例如插入,更新和删除异常。规范化将较大的表划分为较小的表,并使用关系将它们链接起来。正常形式用于减少数据库表的冗余。范式的类型普通形式有四种类型:Normal FormDescription1NFA relation is in 1NF if it contains an atomic ...

  DBMS 1NF

📅  最后修改于: 2020-12-12 03:02:21        🧑  作者: Mango

第一范式(1NF)如果关系包含原子值,则关系为1NF。它指出表的属性不能包含多个值。它必须仅包含单值属性。第一个范式不允许使用多值属性,复合属性及其组合。示例:由于多值属性EMP_PHONE,关系EMPLOYEE不在1NF中。员工表:EMP_IDEMP_NAMEEMP_PHONEEMP_STATE14John7272826385,9064738238UP20Harry8574783832Bihar...

  DBMS 2NF

📅  最后修改于: 2020-12-12 03:03:14        🧑  作者: Mango

第二范式(2NF)在2NF中,关系必须在1NF中。在第二种标准形式中,所有非键属性都可以完全发挥作用,这取决于主键示例:假设学校可以存储教师及其所教科目的数据。在学校中,老师可以教授多个学科。教师桌TEACHER_IDSUBJECTTEACHER_AGE25Chemistry3025Biology3047English3583Math3883Computer38在给定的表中,非主要属性TEACHE...

  DBMS 3NF

📅  最后修改于: 2020-12-12 03:04:10        🧑  作者: Mango

第三范式(3NF)如果一个关系在2NF中并且不包含任何传递性部分依赖关系,则它将在3NF中。3NF用于减少数据重复。它还用于实现数据完整性。如果没有非素数属性的传递依存关系,则该关系必须为第三范式。如果关系对于每个非平凡函数依赖项X→Y至少满足以下条件之一,则该关系为第三范式。X是超级键。Y是素数属性,即Y的每个元素都是某个候选键的一部分。例:EMPLOYEE_DETAIL表:EMP_IDEMP_...

  DBMS BCNF

📅  最后修改于: 2020-12-12 03:05:03        🧑  作者: Mango

博伊斯·科德范式(BCNF)BCNF是3NF的高级版本。它比3NF严格。如果每个功能依赖项X→Y,则表在BCNF中,X是表的超级键。对于BCNF,该表应为3NF,对于每个FD,LHS是超级键。示例:假设有一家公司的员工在多个部门工作。员工表:EMP_IDEMP_COUNTRYEMP_DEPTDEPT_TYPEEMP_DEPT_NO264IndiaDesigningD394283264IndiaTe...

  DBMS 4NF

📅  最后修改于: 2020-12-12 03:05:57        🧑  作者: Mango

第四范式(4NF)如果关系为Boyce Codd范式且没有多值依赖关系,则关系将为4NF。对于依赖项A→B,如果对于单个A值,存在多个B值,则该关系将是多值依赖项。例学生STU_IDCOURSEHOBBY21ComputerDancing21MathSinging34ChemistryDancing74BiologyCricket59PhysicsHockey给定的STUDENT表位于3NF中,但...

  DBMS 5NF

📅  最后修改于: 2020-12-12 03:06:50        🧑  作者: Mango

第五范式(5NF)如果关系在4NF中并且不包含任何联接依赖关系,则在5NF中,并且联接应该是无损的。当将所有表分解成尽可能多的表以避免冗余时,满足5NF。5NF也称为Project-join正常形式(PJ / NF)。例SUBJECTLECTURERSEMESTERComputerAnshikaSemester 1ComputerJohnSemester 1MathJohnSemester 1Ma...

  DBMS关系分解

📅  最后修改于: 2020-12-12 03:07:45        🧑  作者: Mango

关系分解当关系模型中的关系不是适当的范式时,则需要分解关系。在数据库中,它将表分成多个表。如果该关系没有适当的分解,则可能导致诸如信息丢失之类的问题。分解用于消除不良设计的一些问题,例如异常,不一致和冗余。分解类型无损分解如果信息不因分解的关系而丢失,则分解将是无损的。无损分解保证关系的连接将产生与分解时相同的关系。如果所有分解的自然连接给出原始关系,则该关系被称为无损分解。例:EMPLOYEE_...

  DBMS多值依赖关系

📅  最后修改于: 2020-12-12 03:08:35        🧑  作者: Mango

多值依赖当表中的两个属性彼此独立但都依赖于第三个属性时,就会发生多值依赖。多值依赖项包含至少两个依赖于第三个属性的属性,这就是为什么它总是需要至少三个属性的原因。示例:假设有一家自行车制造商公司,每年生产每种模型两种颜色(白色和黑色)。BIKE_MODELMANUF_YEARCOLORM20112008WhiteM20012008BlackM30012013WhiteM30012013BlackM...

  DBMS连接依赖关系

📅  最后修改于: 2020-12-12 03:09:26        🧑  作者: Mango

加入依赖连接分解是对多值依赖项的进一步概括。如果R1和R2在C上的连接等于关系R,则可以说存在连接依赖关系(JD)。其中R1和R2是给定关系R(A,B,C,D)的分解R1(A,B,C)和R2(C,D)。或者,R1和R2是R的无损分解。如果R1,R2,…,Rn是无损连接分解,则称JD⋈{R1,R2,…,Rn}保持关系R。如果join的属性的连接等于关系R,则*(A,B,C,D),(C,D)将为R的J...

  DBMS包含依赖关系

📅  最后修改于: 2020-12-12 03:10:17        🧑  作者: Mango

包含依赖性多值依赖和联接依赖可用于指导数据库设计,尽管它们均不如功能依赖常见。包含依赖性很常见。它们通常对数据库的设计几乎没有影响。包含相关性是一种语句,其中关系的某些列包含在其他列中。包含依赖项的示例是外键。在一种关系中,引用关系包含在引用关系的主键列中。假设我们有两个关系R和S,它们是通过转换两个实体集而获得的,因此每个R实体也是一个S实体。如果将R投影在其关键属性上会产生包含在通过将S投影在...

  规范封面

📅  最后修改于: 2020-12-12 03:11:19        🧑  作者: Mango

规范封面在更新数据库的情况下,系统的职责是检查在更新过程中是否违反了现有的功能依赖性。如果在新的数据库状态下违反了功能依赖性,则必须进行系统回滚。规范的覆盖或不可约的一组功能依赖关系FD是简化的FD集,其闭包与原始集FD相似。无关属性如果我们可以删除FD的属性而不更改FD集的闭包,则该属性是多余的。示例:给定一个关系模式R(A,B,C,D)和功能依赖集FD = {B→A,AD→BC,C→ABD}。...

  DBMS事务处理概念

📅  最后修改于: 2020-12-12 07:30:16        🧑  作者: Mango

交易事务是一组逻辑相关的操作。它包含一组任务。交易是一个动作或一系列动作。它由单个用户执行,以执行用于访问数据库内容的操作。示例:假设一家银行的雇员将800卢比从X的帐户转入Y的帐户。这个小事务包含几个底层任务:X的帐户Y的帐户交易操作:以下是交易的主要操作:Read(X):读取操作用于从数据库读取X的值并将其存储在主存储器的缓冲区中。Write(X):写操作用于将值从缓冲区写回到数据库。让我们以...

  DBMS事务属性

📅  最后修改于: 2020-12-12 07:31:07        🧑  作者: Mango

交易性质事务具有四个属性。这些用于在事务之前和之后维护数据库中的一致性。交易性质原子性一致性隔离耐用性原子性它指出事务的所有操作都立即发生,如果没有发生,事务将中止。没有中途,即事务不能部分发生。每个事务都被视为一个单元,并且要么运行完成,要么根本不执行。原子性涉及以下两个操作:中止:如果事务中止,则所有更改均不可见。提交:如果事务提交,则所做的所有更改都是可见的。示例:假设后面的事务T由T1和T...

  DBMS事务状态

📅  最后修改于: 2020-12-12 07:31:58        🧑  作者: Mango

交易状态在数据库中,事务可以处于以下状态之一:活跃状态活动状态是每个事务的第一个状态。在这种状态下,事务正在执行中。例如:在此处完成插入,删除或更新记录。但是所有记录仍未保存到数据库中。部分承诺在部分提交状态下,事务执行其最终操作,但数据仍未保存到数据库。在总分计算示例中,在此状态下执行总分步骤的最终显示。承诺的如果事务成功执行所有操作,则该事务被称为处于提交状态。在这种状态下,所有效果现在都永久...