问题标签 [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.
ruby-on-rails - 将数据库模型转换为 Ruby On Rails 上的模型
我正在通过学校的购买/转售平台项目开始使用 Ruby On Rails。当我尝试从关系模型中翻译模型时,我遇到了问题。
首先,我对我的数据库进行了建模。这里简化了实体关系模型:
然后我将它翻译成关系模型:
最后,我在 Ruby On Rails 中实现了它。
我已经实现了一个模型 Client :
/li>我已经实现了一个模型 Seller :
/li>我已经实现了一个模型文章
/li>我已经实现了一个模型 Purchasing :
/li>我修改了采购数据库迁移:
/li>
我知道这是不正确的,因为当我在 Rails 控制台上执行以下代码时:
p2.save
返回真,而文章不能由同一个卖家出售并由两个不同的客户购买。
database - 我的数据库架构设计的弱点?
因此,对于表1,我有一个关系的数据库架构:
ABC(doc-name,doc-gender,registration_num ,资格,pat-name,pat-gender,DOB,address,phone-num,约会日期,约会时间,类型)
我的设计的弱点是什么?
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
database - 在这种情况下,如何在 ER 模型中转换 (0,N)(0,N)(0,N) 三元关系?
假设为实体:HOMEWORK、STUDENT、ANSWER
和约束(仔细看约束1):
例子:
注意 学生不可能为同一个作业提交 2 个解决方案;因此不应允许插入行 XXX A 2
我会用三元关系对此建模:
但是然后使用通常的翻译算法翻译成关系模型:
由于 ANSWER 是主键的一部分,这意味着学生可以解决相同的作业并提交不同的答案;这违反了预期的约束。
可能我会解决这个问题:
但我想知道您的意见。(例如,如果您在 ER 中以不同的方式对这个问题建模)。
PS -我使用 Postgres
database - 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,但如果可能的话,我想避免这种情况。
database - 为什么关系模型中没有指针?
这与这个问题不同,因为正如我在自己的帖子中解释的那样,我的目的是找出为什么数据库不使用指针而不是键,以及实现其功能的其他选项是什么。
当我阅读关系数据库的实现时,其中没有任何概念pointer
。
这是我的问题:
- 为什么关系模型中没有指针?
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
MOHDatabaseDB2.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) 处为空
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中包含了一个“类型”属性。但我觉得我在重复信息。
您对如何解决此问题有任何提示吗?甚至是完全不同的方法的想法。欢迎任何帮助。
mysql - 模型 NM 关系与“主”行的附加信息
我有一个关于如何在关系数据库中最好地建模关系的问题(我正在使用 MySQL):
我有一个实体“产品”,应该链接到一个或多个利益相关者。我使用包含利益相关者名称的单独表“利益相关者”和链接产品和利益相关者的链接表“Product2Stakeholder”对这种关系进行建模。
但是,我还想为每个产品指定一个主要利益相关者。我想知道是否要这样做,我应该
- a) 在“Product”表中定义一个外键字段,其中包含“Stakeholders”表中主要利益相关者的 Id(例如“MainStakeholder”),或
- b) 如果利益相关者是该产品的主要利益相关者(即布尔列“IsMainStakeholder”),则在包含信息的“Product2Stakeholder”表中添加一列,或
- c) 采取完全不同的方法?
谢谢。