问题标签 [relational-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
125 浏览

ruby-on-rails - 将数据库模型转换为 Ruby On Rails 上的模型

我正在通过学​​校的购买/转售平台项目开始使用 Ruby On Rails。当我尝试从关系模型中翻译模型时,我遇到了问题。

首先,我对我的数据库进行了建模。这里简化了实体关系模型:

实体关系模型

然后我将它翻译成关系模型:

关系模型

最后,我在 Ruby On Rails 中实现了它。

  • 我已经实现了一个模型 Client :

    /li>
  • 我已经实现了一个模型 Seller :

    /li>
  • 我已经实现了一个模型文章

    /li>
  • 我已经实现了一个模型 Purchasing :

    /li>
  • 我修改了采购数据库迁移:

    /li>

我知道这是不正确的,因为当我在 Rails 控制台上执行以下代码时:

p2.save返回真,而文章不能由同一个卖家出售并由两个不同的客户购买。

0 投票
0 回答
79 浏览

database - 我的数据库架构设计的弱点?

因此,对于表1,我有一个关系的数据库架构:

ABC(doc-name,doc-gender,registration_num ,资格,pat-name,pat-gender,DOB,address,phone-num,约会日期,约会时间,类型)

我的设计的弱点是什么?

0 投票
1 回答
148 浏览

database - 这种关系可能的 FD(功能依赖)是什么?

ABC(doc-firstname, doc-surname, doc-gender, doc-rego, doc-qualification, pat-ID, pat-givename, pat-surname, pat-gender, pat-DOB, pat-addr, pat-phone,应用 ID、应用日期时间、应用类型)

● 医生有一个唯一的注册号(doc-rego),并按姓名、性别和资格进行描述。

● 患者由唯一的患者 ID (pat-ID) 标识并具有其他信息。

● 患者与医生的每次预约都分配了一个唯一的预约 ID (app-ID)。约会可以是长或短类型。

这些功能依赖是否适用于这种关系?

fd1: doc-rego -> doc-firstname, doc-surname

fd2: patID -> pat-givename, pat-surname, pat-gender, pat-DOB, pat-addr, pat-phone

fd3: app-ID -> app-datetime, app-type

0 投票
1 回答
479 浏览

database - 在这种情况下,如何在 ER 模型中转换 (0,N)(0,N)(0,N) 三元关系?

假设为实体:HOMEWORK、STUDENT、ANSWER

和约束(仔细看约束1):

例子:

注意 学生不可能为同一个作业提交 2 个解决方案;因此不应允许插入行 XXX A 2

我会用三元关系对此建模:

但是然后使用通常的翻译算法翻译成关系模型:

由于 ANSWER 是主键的一部分,这意味着学生可以解决相同的作业并提交不同的答案;这违反了预期的约束。

可能我会解决这个问题:

但我想知道您的意见。(例如,如果您在 ER 中以不同的方式对这个问题建模)。

PS -我使用 Postgres

0 投票
0 回答
981 浏览

database - ER:将三元 1:1:1 转换为关系模型

ER图三元1:1:1

假设 A、B、C 有键 id(A)、id(B) 和 id(C)。我想在关系模型中表示三元关系,我遵循“数据库系统基础(第 7 版)”(第 9.1.1 章,步骤 7)一书中的算法:

S 的主键(三元关系)通常是引用代表参与实体类型的关系的所有外键的组合。但是,如果参与 R 的任何实体类型 E 的基数约束为 1,则 S 的主键不应包含引用与 E 对应的关系 E' 的外键属性。

这让我怀疑,关系应该只由外键组成(我不确定这在关系模型中是否正确?),我应该为关系创建一个新的唯一标识符(即 S = (id(s), id (A), id(B), id(C)) 或参与实体的任何主键都可以是关系的主键?(即 id(A))

我知道我能做的只是创建一个与键 id(A) 和属性 id(B)、id(C) 和其余属性的关系 A,但如果可能的话,我想避免这种情况。

0 投票
1 回答
169 浏览

database - 为什么关系模型中没有指针?

这与这个问题不同,因为正如我在自己的帖子中解释的那样,我的目的是找出为什么数据库不使用指针而不是键,以及实现其功能的其他选项是什么。

当我阅读关系数据库的实现时,其中没有任何概念pointer

这是我的问题:

  1. 为什么关系模型中没有指针?
0 投票
0 回答
25 浏览

database - 关系模型中缺少文件系统功能

当我在互联网上搜索时,我发现了许多链接,这些链接解释了关系数据库和(平面)文件系统的区别,并从不同的方面和角度看待这个主题,例如以下资源:

正如我上面提到的,我的问题是关系模型中缺少哪些文件系统功能?换句话说,文件系统的哪些概念pointers(在此讨论)被忽略以在关系模型中实现?

0 投票
1 回答
207 浏览

import - 从 DB2 导入表后,它们不会出现在关系模型或设计中的任何地方吗?

我正在尝试将 DB2 上的数据仓库逆向工程到 Oracle Data Modeler。当我选择从数据字典中导入时,我可以查看模式和表,但是在我选择了所需的之后,它们不会显示在关系模型中。我在日志记录页面中发现了以下错误:

  • MOHStorageGroupDB2.extract():DB2 SQL 错误:SQLCODE=-204,SQLSTATE=42704,SQLERRMC=SYSIBM.SYSSTOGROUP,驱动程序=4.21.29

  • MOHTablespaceDB2.extract(): DB2 SQL 错误: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=SYSIBM.SYSTABLESPACE, DRIVER=4.21.29

  • MOHDat​​abaseDB2.extract(): DB2 SQL 错误: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=SYSIBM.SYSDATABASE, DRIVER=4.21.29

  • MOHSequenceDB2v80.extract():DB2 SQL 错误:SQLCODE=-206,SQLSTATE=42703,SQLERRMC=SCHEMA,DRIVER=4.21.29

  • MOHProcedureDB2v80.extract():DB2 SQL 错误:SQLCODE=-206,SQLSTATE=42703,SQLERRMC=SCHEMA,DRIVER=4.21.29

  • MOHTableDB2v80.generate():DATAWAREHOUSE.DIMSSTUDENTLEVEL

  • 在 com.oracle.jdeveloper.nbwindowsystem.NbEditorContainer.getURL (NbEditorContainer.java:1019) 处为空

0 投票
1 回答
40 浏览

database - 独特的问卷类型 - 数据库设计

对于研究实验,我需要设计一个实现特定类型问卷的 Web 应用程序,其结果将用于得出一些统计数据并得出一些结论。

简而言之,问卷必须按以下方式工作

1->所有答案的范围从绝对错误到绝对正确或开放答案。

2->每组问题对应一个给定的单词(例如 BIRD 或 FISH)和一个描述(一个小句子)。

3->在一组中,所有问题都可以采用小句子(文本)或图像(待分类)的形式,每组可以包含任意数量的问题。我需要能够将与一个单词相对应的问题存储为文本和图像,并能够在它们之间进行选择。

4->每组问题对应5种不同的帮助。在问卷类型A中,用户可以随意选择一个。在问卷类型 B 中显示了所有类型。

5->用户必须回答所有问题一次(并且它们必须以随机顺序出现)。那么,如果类型A,他必须选择一种帮助或拒绝获得帮助并可能修改他的答案。或者,如果是 B 类,则一一查看各种帮助(以随机顺序),并可能修改他的答案。

6->对于每个问题,对于每种类型的问卷,我必须知道答案是否被修改,哪种帮助导致用户修改以及(如果类型 B)这种帮助是否出现第 1、第 2、第 3 等。

我意识到这些可能不是最复杂的要求,但我对此并不陌生,而且相当困惑。到目前为止,我的关系如下所示

  • QUESTIONNAIRE(id,help_choice,类型,阶段)
  • QUESTION_CATEG(id,类型,名称,描述)
  • 图像(#qcat_id,文件路径)
  • 文本(#qcat_id,内容)
  • 包括( #questionnaire_id ,# qcat_id
  • 帮助( #id ,#qcat_id 内容)
  • 回答(#questionnaire_id#qcat_id,响应,was_modified,help_taken,help_order)。

help_taken 能够采用特殊值来表示没有帮助,而 help_choice 能够采用特殊值来表示所有帮助都已显示。

困扰我的是不同类型的问题。对于给定的问题类别,我不太喜欢(而且我不会这样做)区分文本类型和图像类型问题的方式。知道对于给定的类别(比如 BIRD)我可能同时具有两种类型(图像和文本),我在QUESTION_CATEG中包含了一个“类型”属性。但我觉得我在重复信息。

您对如何解决此问题有任何提示吗?甚至是完全不同的方法的想法。欢迎任何帮助。

0 投票
2 回答
33 浏览

mysql - 模型 NM 关系与“主”行的附加信息

我有一个关于如何在关系数据库中最好地建模关系的问题(我正在使用 MySQL):

我有一个实体“产品”,应该链接到一个或多个利益相关者。我使用包含利益相关者名称的单独表“利益相关者”和链接产品和利益相关者的链接表“Product2Stakeholder”对这种关系进行建模。

但是,我还想为每个产品指定一个主要利益相关者。我想知道是否要这样做,我应该

  • a) 在“Product”表中定义一个外键字段,其中包含“Stakeholders”表中主要利益相关者的 Id(例如“MainStakeholder”),或
  • b) 如果利益相关者是该产品的主要利益相关者(即布尔列“IsMainStakeholder”),则在包含信息的“Product2Stakeholder”表中添加一列,或
  • c) 采取完全不同的方法?

谢谢。