AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[dependencies](dba)

Martin Hope
Naja
Asked: 2021-04-13 23:55:40 +0800 CST

如何识别功能依赖关系并根据属性规范化表?

  • 0

我无法识别构成特定表的功能依赖关系(FD)的属性组合。虽然我了解在给定 FD 时规范化过程是如何工作的,但我无法翻译和识别给定表的 FD。

我的任务是创建一家公司的数据库,用于跟踪销售/包裹等的所有费用。这自然意味着为公司存储客户信息以识别所有消费者。

CREATE TABLE Customers (
    id        integer primary key,
    address   text not null,
    name      text not null,
    email     text unique not null,
    phone     text unique not null,
    unique(name, address)
);
    

鉴于每个电话号码和电子邮件都与客户唯一关联,因此我选择代表客户表的信息。唯一约束允许来自同一家庭地址的多个人出现在表中。

我想看看我是否可以进一步规范化这个表,但是我无法识别属性来确定所需的 FD。

normalization dependencies
  • 1 个回答
  • 558 Views
Martin Hope
Navjot Singh
Asked: 2018-10-14 05:52:51 +0800 CST

任何人都可以帮助我理解以下段落吗?

  • 3

我正在阅读 Carlos Coronel 的 Database Systems Design, Implementation and Management。在解释 3NF 之后的章节中Normalization,他写道

多个候选键的存在也会影响传递依赖的识别。以前,当一个非主要属性确定另一个非主要属性时,传递依赖性被定义为存在。在存在多个候选键的情况下,将非主要属性定义为不属于任何候选键的属性是至关重要的。如果函数依赖的决定因素不是主键而是另一个候选键的一部分,那么它不是非主属性并且不表示传递依赖的存在。

我很难理解他想说什么。任何人都可以用更简单的术语解释这一段。

normalization dependencies
  • 1 个回答
  • 432 Views
Martin Hope
N Woods
Asked: 2018-05-28 10:32:27 +0800 CST

你能确定对单个属性表的功能依赖吗?

  • -1

如果一个属性是独立的,它是否可能仍然具有功能依赖性?

例如,假设有两个具有多对多关系的表:Fruit(FruitType)、Blender(BlenderNum,B,C,D,etc...),其中 Fruit 没有其他连接关系。我可以将表 Blends(FruitType, BlenderNum) 作为主键并删除独立的 Fruit 表。现在独立属性Fruit有函数依赖了吗?数据库中的其他任何地方都没有提到它。

Blends(FruitType, BlenderNum*) - Blender(BlenderNum,B,C,D,etc...)

database-design dependencies
  • 1 个回答
  • 296 Views
Martin Hope
johndoe123
Asked: 2018-04-13 23:01:41 +0800 CST

F包含在F+中吗?

  • 1

我书中的定义说:

F 逻辑上隐含的所有函数依赖的集合是 F 的闭包。

我的问题是,我们是否也将 FD 包含在 F 中的 F 闭包中?

如果我有:

  • F = {A→B, B→C}

  • 一个)F+ = {A→C, A→BC, A→B, B→C}

  • 二)F+ = {A→C, A→BC}

a) 或 b) 哪个是正确的?

database-design dependencies
  • 1 个回答
  • 83 Views
Martin Hope
isakbob
Asked: 2018-02-21 20:02:43 +0800 CST

如果 A -> B 增加了 C,那么 AC -> B 是否合法?

  • 2

给定函数依赖的增广公理和分解公理以及 R(A,B,C) 与 FD 的关系:A -> B

我可以用 C 增加 A -> B 以获得 AC -> BC。

然后我可以分解 AC -> BC 得到 AC -> B 吗?

relational-theory dependencies
  • 1 个回答
  • 73 Views
Martin Hope
hlx98007
Asked: 2016-08-23 21:15:48 +0800 CST

对同一依赖的多重功能依赖

  • 0

我正在寻找以下关系的 3NF 形式:

1. emp_no -> phone_no, office_no, dep_no, proj_no
2. emp_no, date -> job, salary
3. phone_no -> dep_no, office_no, area
4. proj_no -> dep_no, p_buject
5. dep_no -> mgr_emp_no, d_budget
6. mgr_emp_no -> dep_no

我只能得出第一个依赖项:

1. emp_no -> phone_no, office_no, proj_no

因为proj_no和phone_no取决于dep_no. 然后其余的不可分解,因此它们被复制到我的工作表上。

如您所见,5 和 6 相互依赖。我浏览了互联网上的资源,我以前从未见过这种关系(相互依赖和父母)。如何将这些功能依赖性转换为 3NF 格式?

dependencies
  • 1 个回答
  • 177 Views
Martin Hope
Revolucion for Monica
Asked: 2016-05-09 14:01:56 +0800 CST

函数依赖族的闭包 F 是什么?

  • 2

我有一些问题来确定F函数依赖项的闭包是什么。

我知道它的定义是

F⁺= {X → Y\F⊨X → Y}

一个例子

设以下关系

R(Student,Examination, Date)具有以下一组功能依赖性:

F={D,St → Ex, Ex → D}

关系分解为R¹(St,Ex) R²(Ex,D)

为什么是F¹= ∅ 但是F²={Ex → D}?我会做:F²= ∅从定义F⁺

我从社区 wiki 知道

功能依赖性要求它们必须适用于每个 可能的实例。

从一个实例中,您无法找到某个关系模式中包含的功能依赖项

因此我不知道如何知道什么是函数依赖族的闭包。

另一个例子是:

第二个例子

R(Course,Student,Birthday,Grade)

具有以下一组功能依赖性:

F={C,St → G, St → B}

以及以下关系:

R¹(C,St,G)和R²(St,B)

F¹{C,St → G}根据定义,R²(St → B)我会这样做:

F¹=F²=∅
relational-theory dependencies
  • 1 个回答
  • 116 Views
Martin Hope
Revolucion for Monica
Asked: 2016-04-04 23:50:07 +0800 CST

信息冗余和算法进行无损分解

  • 0

让我们成为一个关系R(NameFile, Size, Directory, DateCreation,HourCreation,Login,AutAccess,DateAccess,TypeAcces

F={NF,D→S;
   NF, D →DC;
   NF, D→HC;
   L,NF,D→A;
   L,NF,D,DA,HA→TA;
}

部分实例在以下数组中给出:

例子

  • 这种关系会产生信息冗余吗?
  • 在不丢失信息和不丢失依赖性的情况下,R 的分解会是什么?

我不这么认为,因为似乎依赖项提供的信息似乎是唯一的。

我知道有一种算法可以在不丢失信息或不丢失依赖性的情况下分解 R 但我不知道它们

dependencies
  • 1 个回答
  • 37 Views
Martin Hope
Revolucion for Monica
Asked: 2016-04-01 13:41:50 +0800 CST

应用第二和第三范式

  • 1

让我们成为一个关系R(NameFile, Size, Directory, DateCreation,HourCreation,Login,AutAccess,DateAccess,TypeAcces

F={NF,D→S;
   NF, D →DC;
   NF, D→HC;
   L,NF,D→A;
   L,NF,D,DA,HA→TA;
}

部分实例在以下数组中给出:

例子

1. R的最小键是什么?为什么?

2. R属于哪种正规类型?为什么?

我只知道:

  • 当没有功能依赖性出现的每个属性都在每个最小键中时,键是最小的
  • 只出现在 FD 左侧的每个属性都在每个键中。
  • 仅出现在 DF 右侧的每个属性都不在任何键中。

因此我们应该拥有K1={NF,R,L,DA,HA}作为唯一的最小密钥。

什么类型的范式是关系 R?

我知道

  1. something is 1NF如果对于 R 的所有属性,都有一个原子值

因此,它至少是 1NF,

  1. 某物是2NF iif:

    • 该方案至少是 1NF
    • Forall 一个属性,不在任何键中,A不依赖于键的一部分。也就是说不存在任何功能依赖性。
  2. 关系 R 的方案是3NF iif

    • 该方案是2NF
    • 不存在传递函数依赖

但我不知道从那里该怎么做......我什至不明白最后两个定义

normalization dependencies
  • 1 个回答
  • 106 Views
Martin Hope
Wug
Asked: 2013-02-20 17:42:04 +0800 CST

为什么在 3NF 中有这种关系?

  • 3

我有一个关系:

R4 = {{T,U,V}, {T → U, U → T, T → V}}

通过查看答案,我知道这种关系在 BCNF 中。

我正在经历严格确定这种关系所遵循的正常形式的过程。我很清楚为什么这种关系在 1NF 和 2NF 中,如果我假设它在 3NF 中,那么 BCNF 很容易遵循。

但是,3NF 的定义指出:

每个非主属性都非传递地依赖于表中的每个候选键。

但是,据我所知,{T}和{U}都是表的候选键,{V}因此传递依赖于{U}.

维基百科上有 3NF 的替代定义:

Carlo Zaniolo 在 1982 年给出了一个与 Codd 等价但表达方式不同的 3NF 定义。该定义表明一个表在 3NF 中当且仅当对于它的每个函数依赖 X → A,至少有一个以下条件成立:

  • X 包含 A(即 X → A 是平凡的函数依赖)
  • X 是一个超级键
  • AX 的每个元素,即 A 和 X 之间的集合差,是一个素数属性(即,AX 中的每一列都包含在某个候选键中)

根据这个定义,这种关系显然在 3NF 中(所有的函数依赖都被“X 是一个超级键”覆盖)。

那么为什么会出现差异呢?我如何误用定义?请不要以我不想要的方式给我提供答案的捷径,除非您也帮助我理解为什么我的 3NF 应用(如所述)不准确。

normalization dependencies
  • 2 个回答
  • 1922 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve