标签: schema

这个模式模式的名称是什么

几年过去了……但我遇到了一个问题集,它让我想起了模式设计模式,我正在努力回忆细节。

本质上,该模式由一个为所有插入、更新和删除提供服务的3 NF(或其他)数据库组成。在某些定期或事件驱动的基础上,它会将其全部(或部分)状态发布到另一个针对高性能只读访问进行了优化的数据库。本质上,发布通常针对完全不同或非规范化的模式。

问题是……这是众所周知的模式吗?如果是,它叫什么,除了相同状态的重复存储之外还有什么陷阱。

schema data-warehouse database-design

6
推荐指数
2
解决办法
485
查看次数

银行业的 noSQL ACID 和一致性

我们正在构建一个实时银行平台和应用程序。

我们主要关注的是跨多个数据库服务器的数据的安全性和一致性。我们需要事务,我们不能承受断电和丢失数据的风险(我说的是 MongoDB)。我们的次要关注是架构 - 为我们的应用程序租户用户提供的功能。

我们还想避开大型数据库上的模式更新地狱。我们租户的自定义架构是可选的,但非常可取。

我们是非常重的 AJAX 前端,我们的后端是完整的 nodejs。我们做了很多 JSON 数据处理。

我们应该使用 MySQL 吗?对于我们的案例,是否有任何 noSQL 解决方案(也许是 CouchDB?)?

感谢您抽出宝贵时间回答这个问题!

schema nosql

6
推荐指数
1
解决办法
2179
查看次数

将数据库从 GUID 转换为整数键

我有一个中等大小的数据库(约 100 个表),它使用 GUID 作为所有表中的主键。

在我们最活跃的表之一中,GUID 导致存储需求不必要的增加。该表本质上是一个主键 (GUID)、4 个外键 (GUID) 和两个datetime字段。

我想将主键和所有外键更改为整数,从而将表降低到当前大小的三分之一左右。系统中还没有大量数据,因此转换现有数据应该不是一个大问题。

我的主要问题是,最好的方法是什么?

  1. 将所有引用的表(以及我数据库中的大多数表)转换为使用整数键。

  2. 向每个引用表添加额外的自动增量整数标识以用作外键,并维护这些表中的 GUID 以供外部引用(通过 API 等使用)。

schema sql-server-2008

6
推荐指数
1
解决办法
2267
查看次数

多少个字段对于主键来说太多了?

我正在创建一个表来存储有关对象在网格(游戏地图)中的位置的信息。

例如,我有一个 10x10 的网格,我想在数据库中存储单元格 (5,5) 有一个蓝色框,(3,3) 有一把红色椅子等等。

任何一个方格中可以有多个项目,但同一个项目不应该在同一个方格中出现两次。

这种结构可以接受吗?(主键中的所有列)

 (room_id (FK), room_object_id (FK), x_cell, y_cell)(PK)
Run Code Online (Sandbox Code Playgroud)

还是有这个会更好

id(PK), room_id (FK), room_object_id (FK), x_cell, y_cell
Run Code Online (Sandbox Code Playgroud)

我认为第一种方法更有意义,但我担心在输入内容时增加完整性检查可能会产生大量不必要的开销。

schema database-design primary-key

6
推荐指数
1
解决办法
1903
查看次数

当可选字段导致非规范化时,如何规范化数据库?

假设您有一个装满小部件的仓库。仓库中的每个小部件都存储在仓库内的特定可识别位置。您可能有一个如下所示的架构:

原始布局

小部件也可以(可选)位于仓库中的购物车上,这可能会导致这样的模式:

添加到架构的购物车

但是,出现了一个问题,因为购物车也只能位于仓库内的一个位置,这将先前的模式变成了这样:

非规范化模式

但是,此模式是非规范化的,可能会导致异常,例如数据是:

widgetID storageLocationID 购物车ID
================================
1 foo
2 巴

尽管两个小部件位于同一个购物车上,但数据库将它们显示在不同的位置,这是不可能的。

如果需要购物车,通过简单地从Widgets表中删除storageLocationID来解决这个标准化问题会相对简单。但是,由于不需要购物车,该解决方案将不起作用。

如何构造这些数据以消除异常情况?

schema normalization database-design

6
推荐指数
3
解决办法
1306
查看次数

跨多个模式查询,直到执行时间未知

我有多个需要查询的模式。模式是事先未知的,例如:

  • U111
  • U222
  • U333

我需要从这些模式中的每一个中的特定表中选择这三个模式。我可以将这个查询放在这三个模式中吗?如果是这样,我如何查询它们?请记住,我不会提前知道模式名称,因此需要动态构建它们。

schema postgresql dynamic-sql plpgsql

6
推荐指数
2
解决办法
1万
查看次数

Postgres:修改现有的search_path(保留当前值)

有时我想扩展现有的搜索路径,而不是替换它,比如:

首先说它已经设置如下:

SET search_path TO schema_b, schema_c, public;
Run Code Online (Sandbox Code Playgroud)

我想将我的架构添加到行的前面:

SET search_path TO schema_a + search_path;   --doesn't work
Run Code Online (Sandbox Code Playgroud)

我的想法类似于我在 BASH 中所做的:

PATH=path_a:$PATH
Run Code Online (Sandbox Code Playgroud)

额外的问题,可能是相关的:有没有办法可以暂时存储当前路径,以便我可以将其更改为完全不同的内容,然后无需知道它是什么就可以恢复它?

schema postgresql

6
推荐指数
1
解决办法
4389
查看次数

ER 与数据库模式图

当我在网上搜索“ER 图”和“数据库模式”时,找到了这 3 种图类型,但它们都被称为“ER 图”。我想知道:

  • 什么是数据库架构图,什么是 ER 图?
  • 为什么都命名为“ER图”?

图一 在此处输入图片说明

schema erd

5
推荐指数
1
解决办法
2万
查看次数

Web 开发公司的 ERD

我正在研究一个 ERD,它表示Web 开发公司行为模型中实体之间的关系。在那里我有这样的实体:

  1. 顾客
  2. 服务 -----------(如:网页开发、网页设计、网页咨询、...)
  3. 订单项 -------(如:网页开发、网页设计、网页咨询等)
  4. 命令
  5. 发票
  6. 项目
  7. 项目阶段
  8. 任务 ---------------(如:网页开发任务 3、网页设计任务 7)
  9. 开发商
  10. 交付 -----------(例如:开发的网络应用程序、网络咨询会议、...)

到目前为止,我有这张图,但我知道它仍然存在重大问题,这只是一个起点:

ERD1

主要概念

  • 客户在order-items 上生成services,组合形成与order相关的invoice
  • 每个project都有多个project-phases,每个都project-phase与一个 相关order
  • 每个project-phase都有多个tasks,每个都分配给一个developer
  • 每个project-phase都有一个delivery,将在相关orders付款后交付invoice

问题

  1. hascontains完全一样的吗?如果不是,如何在他们之间选择关系?!什么措施?!
  2. 主要概念部分是否有任何合理的问题?
  3. 任何有用的想法或建议来改进这个模型?

对此有任何帮助,将不胜感激。

更新 1

精制版图

ERD2

更新 2

考虑一个快餐店的类比会有所帮助:

  1. 客户 ---------- 饥饿的人 …

schema erd database-design database-diagrams

5
推荐指数
1
解决办法
2198
查看次数

多语言内容的高效数据库模式?

假设我有一个用于博客文章posts、 和架构的表

id
author
title
content
Run Code Online (Sandbox Code Playgroud)

每个都post可以属于一些categories

id
name
descrtiption
Run Code Online (Sandbox Code Playgroud)

所以一篇博文可以属于多个类别。

显然titleand contentin posts、 andnamedescriptionincategories可以翻译成不同的语言。

那么,考虑到现有的 db 模式设计,扩展对多语言应用程序的支持的最有效和最合理的方法是什么?

schema database-design application-design

5
推荐指数
1
解决办法
978
查看次数