问题标签 [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.
hardware - 完整设计基于关系模型的原型机
在 Ted Codd 的The Relational Model for Database Management, Version 2的序言中,他写道(第一段):
今天,如果你有一个设计良好的数据库管理系统,你就拥有了数据处理和决策支持王国的钥匙。 这就是为什么现在有一个原型机,其完整的设计是基于关系模型的。它的算术硬件只是架构中很小的一部分。事实上,旧术语“计算机系统”现在似乎用词不当。
有谁知道 Ted Codd 指的是什么原型机?我很想阅读描述这台机器的旧计算机科学/计算机工程论文。
database-design - 概念到关系映射
这是一个家庭作业问题。我已经有了自己的答案,但我不确定它是否正确,需要你们的建议。这是概念图:
这是我的关系模式:
Employer(EmployerID, name) -> 主键是 EmployerID
雇员(EmpID, name) -> 主键是 EmpID
我认为雇主和雇员实体应该是正确的,作为它的正常类。但是我不确定正在运行的项目和项目实体,即关联类和依赖类。这是我的答案:
运行项目(EmpID、Year、Duration、ProjectID、ProjectName)-> 所有主键
Project(ProjectID, ProjectName) -> 所有主键
uml - 如何从 UML 类模型生成关系模型?
有谁知道允许自动从 UML 类模型映射到数据库关系模型的应用程序(企业架构师,...)?如何?
谢谢
hibernate - 使用@Version 列不允许@ManyToOne 关系属性作为参考
我正在使用休眠 3.6.3.Final。我有两个关系实体 A 和 B,其单向 ManyToOne 定义为:
现在假设我在 db 中已经有一个 pk id = 1 的 B 实例,然后执行以下操作:
引发著名的“TransientObjectException:对象引用了未保存的瞬态...”异常。令人惊讶的是,如果@Version @Column 被删除或设为@Transient,上面的代码将完全正常工作。知道为什么我要观察这种行为吗?schema - 关系数据库理论和键
我正在设计一个模式来在基于浏览器的游戏中保存玩家数据。
我有三个关系。其中两个至少有两个候选键,但是第三个只有三个属性:{playerId, message, date}
由于存在 1..1:0..* 关系,因此该关系不会包含唯一的行,这意味着每个玩家可以有任意数量的新闻元组。无论如何,我不需要能够唯一地识别任何元组,并且没有一个属性实际上可以成为候选者。
我的问题是:我了解关系模型指出不能有重复的元组,并且每个关系都必须有一个键。我上面的模式与这两个约束相矛盾,但适用于我的目的。我知道我可以简单地添加一个唯一的索引属性(如 ID),但这似乎没有必要。我错过了什么吗?
谢谢你的时间。
sql - 是否有任何不依赖 SQL 的 DBMS?
这个话题与这个问题有些相关。在那里,我的答案是假设 SQL 是访问我所知道的每个数据库中的数据所必需的。
AFAIK,无论您是使用某些 dbms 客户端直接访问数据,还是使用某些 db 连接器使用某些程序(c++、java、cobol 等)执行逐行操作(即游标),您都需要在某些时候, 编写一些 SQL 来实际读取/修改数据。
现在我要问:这是真的吗?是否有任何不依赖某些 SQL 方言的 RDBMS?
我知道 SQL 是(不严格)基于关系代数的,它是 EFCodd (1970) 的关系模型的基础。
所以我还要问的是:是否有任何 RDBMS 可以更好地实现关系模型?
database - 有意义的元组
我有一个称为人员的关系的表格表示,我被要求完成许多任务,例如度数和基数为 5 和 3,但有人问我为什么谈论第二个元组没有意义关系,我不知道为什么会这样。
*这是一个模拟考试,没有答案。
database - 求解三进制创建数据库
我有这个表:电影、会话(在日期时间显示的电影)和用户。
用户可以在具体会话中预订电影。画它我有它:
我正在考虑创建这样的表:
电影(id,标题,分钟)会话(id,idMovie,日期时间)用户(id,名称)预订(idSesion,idUser,numTickets)
会好吗?或者我应该在我的预订表中加入 idMovie 吗?
谢谢。
database-design - 关系设计场景:限制子关系
请考虑以下情况。一个宠物主人可能有多只猫,也可能有多只狗。有些狗与同一个主人的一些猫有关系(即它们打架:-)) 。
以下关系设计没有施加此限制,因为不同所有者的猫和狗可能是相关的。有没有办法通过关系设计来施加这种限制?
postgresql - 具有用户提供的字符串列、外键的复合键
假设我有下表
subgroup_name
对 a 是唯一的group(group_id)
。- 一个
group
可以有很多subgroups
。 - 由
subgroup_names
用户提供。(我想避免使用subgroup_id
列。subgroup_name
在模型中具有意义并且不仅仅是一个标签,我提供了一个预先确定的名称列表,但允许用户添加自己的名称以提高灵活性)。 - 该表有 2 级引用包含子组属性的子表(具有多对一关系);
我想在 (group_id, upper(trim(subgroup_name))) 上有一个主键;
据我所知,postgres 不允许在函数上使用 PRIMARY KEY/UNIQUE。IIRC,关系模型还要求将列用作存储。
CREATE UNIQUE INDEX ON subgroups (group_id, upper(trim(subgroup_name)));
不能解决我的问题,因为我模型中的其他表将有指向这两列的 FOREIGN KEYs。
我看到两个选项。
选项 A)
- 将清理后的子组名称存储在 subgroup_name 中
- 添加一个名为 subgroup_name_raw 的额外列,其中包含未清理的字符串
选项 B)
- 在我的密钥对上创建一个 UNIQUE INDEX 和 PRIMARY KEY。(似乎是一个巨大的浪费)
有什么见解吗?
注意:我使用的是 Postgres 9.2