我和我的朋友正在为职业足球联赛创建 ER 图,我们对数据库都很陌生,所以我们不确定我们所做的一切是否正确。
我很困惑为什么 managedBy 和 signsWith 这两个关系是多对多。我的朋友说多个经理可以一次一对一地管理多个俱乐部。但那不应该是一对一吗?因为在任何时刻,一个俱乐部只能由一名经理管理,而一名经理只能管理一个俱乐部(在这种情况下我们不关心助理经理);signsWith 关系也是如此。
那么我们当中哪一个人是对的?
为什么这么多人喜欢列式数据库?据我了解,人们更喜欢列式数据库,因为 CPU 能够可预测地缓存下一个值,因此查询速度更快。
如何在Flutter中创建唯一的id以添加到firebase中的数据库中?
在数据存储方面,我是个新手,想学习一些技巧。
我想知道如何在 RDBMS 和 NoSQL 存储之间做出选择。
让我们举一个数据量相当大(比如 TB)的系统的例子。而且我们还需要强一致性,而且还需要低延迟。
考虑到数据大小,NoSQL 可能比较合适,但出于一致性原因,RDBMS 类型可能看起来不错。但高一致性意味着低延迟。
尽管一些 RDBMS 也提供分片来解决大数据问题,但延迟仍然是一个问题。
我们如何权衡所有这些利弊来做出决定?
此外,来自初学者 POV 的有关此主题的任何资源可能会有很大帮助。
数据
假设我有一个网格,代表房间里的所有人以及他们彼此交谈时的对话。
约翰 | 苏珊 | 布莱恩 | 雷切尔 | |
---|---|---|---|---|
约翰 | 放心 | 工作 | 运动的 | 电影 |
苏珊 | 工作 | 咕哝着 | 旅行 | 音乐 |
布莱恩 | 运动的 | 旅行 | 没有什么 | 食物 |
雷切尔 | 电影 | 音乐 | 食物 | 自嘲 |
数据库
最初我考虑只制作一个常规表格People
和Conversations
桌子Conversations
是一把钥匙,topic
participant1
participant2
困境
参与者的顺序完全无关。一个简单的问题“Rachel 和 Brian 谈论什么”变成了一个需要运行的复杂查询。
因此必须做以下两件事之一:
采用上面的 1 会创建一个不可持续的 O(n^2) 数据库模型,而 2 似乎是 DBA 试图查询有意义的数据的噩梦。
问题
如何对这样的数据结构进行建模?SQL 是否是适合这项工作的工具,还是我应该完全研究其他东西?
我使用以下信息创建了概念数据模型和物理数据模型:
概念数据模型:
物理数据模型:
我希望“购买”有很多“门票”。例如,如下所示:
(PurchaseID, TicketID)
( 1 1 )
( 1 1 )
( 1 2 )
( 1 2 )
这可能对应于“一次购买 4 张门票,2 张一种门票和 2 张另一种门票” )
如何才能正确建模?
这是停车场面试问题的一部分,要求候选人设计停车场系统。停车场的设计实体是一个值得讨论的问题。但我被困在我们必须为车辆分配停车位的部分。
假设我们正在使用外部数据存储来实现停车场问题。并且有很多并发请求,请求停车位。最基本的实现是,
为每个停车位创建单独的数据库行,列可用性为真/假。
每当车辆到来时,找到一个可用的插槽(假设插槽 ID X)
使用乐观锁定将 DB 的可用性更新为 false(即,如果 slotid=X 且可用性 =false 则更新)
上述方法在高并发场景中效果不佳,因为可能会为多个车辆分配相同的槽位,并且步骤 3 对于所有这些车辆都会失败,我们必须从步骤 2 再次重试。
为了最佳地处理这个问题,我应该合并步骤 2、3 并将分配卸载到数据库本身。新流程应如下所示
在 SQl DB 中可以这样做吗?是否有其他方法来实现此功能。
我目前正在学习一个关于数据库开发的单元,我正在学习一个关于规范化的模块,我相信这个ERD已经完成了第二种形式的规范化,因为每个表都有一个主键,所有数据都是原子的,并且没有重复的组,并且我不认为存在任何部分关键依赖性。但我是新人,理解还很薄弱。所以我想知道是否有人可以看看并让我知道他们的想法以及可能的任何帮助,我将不胜感激。
编辑:我不确定是否要抓取 PostCodeAndCity 表并将城市数据包含在地址表中,但是我的学习材料建议这样做。
编辑2:由于创建了这个问题的帐户,我没有声誉来支持你的答案,但我只是想感谢所有花时间分享你的知识的人,我真的很感激它,它进一步提供了帮助我的大大!
是否可以设计一个具有经典树结构(无嵌套集)的数据库,强制只有两个级别?
我认为表格应该是:
ID | 标题 | 父 ID |
---|---|---|
1 | 排 | 无效的 |
2 | 孩子 | 1 |
3 | 孙子错误 | 2 |
第三排应该是不可能的。
我可以在没有触发器或没有任何编程语言的情况下得到它吗?