标签: database-schema

SaaS数据库设计 - 多个数据库?分裂?

我见过SaaS应用程序以多种不同的方式托管.跨多个数据库拆分功能和模块是一个好主意吗?例如,将User表放在一个DB上,将功能/ app特定表放在另一个DB上,也可能放在另一个DB中的其他常用共享表中?

architecture database-design saas multi-tenant database-schema

20
推荐指数
3
解决办法
2万
查看次数

将ManyToManyField迁移为null tr​​ue,空白为true,无法识别

我做了一个模型改变

standard = models.ManyToManyField(Standard)
Run Code Online (Sandbox Code Playgroud)

standard = models.ManyToManyField(Standard, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

此应用程序的南模式迁移无法识别更改?

类似于这个问题,这个问题没有得到解决: 南方迁移和许多可能领域的变化

django django-models database-schema django-south django-migrations

20
推荐指数
1
解决办法
8181
查看次数

具有"开放式架构"的数据库 - 好或坏的想法?

Reddit的联合创始人介绍了他们在向数百万用户扩展时所遇到的问题.这里有摘要.

让我感到惊讶的是第3点:

相反,他们保留了一个Thing Table和一个数据表.Reddit中的所有内容都是一件事:用户,链接,评论,子评价,奖励等.事物保持共同属性,如上/下投票,类型和创建日期.Data表有三列:thing id,key,value.每个属性都有一行.标题,网址,作者,垃圾邮件投票等都有一行.当他们添加新功能时,他们不再需要担心数据库了.他们不必为新事物添加新表或担心升级.

这对我来说似乎是一个可怕的想法,但它似乎已经为Reddit解决了.不过,一般来说这是一个好主意吗?或者Reddit的特点恰好为他们解决了?

database schema database-design database-schema

19
推荐指数
3
解决办法
8007
查看次数

19
推荐指数
1
解决办法
4万
查看次数

数据库架构 - 表示位置

我需要表示一些事件的位置,我正在为这个应用程序设计数据库模式.我有两种方法来展示位置:

方法1: 4表:

  • 国家
  • 状态
  • 城市
  • 位置(在位置我有country_id,state_id和city_id的外键)

方法2: 1表:

  • 地点和简单的字段国家,州,城市,存储为文本(没有外国ID)

你会推荐哪种方法?第一个将有助于消除例如同一个国家(美国,美国,美国等)的可能的不同名称,并且可能有助于在文本框中写入可能是强制性的时候提供建议.

但是,第二种方法似乎可以让一切变得更简单,并且应该减少对数据库的查询次数.

你觉得哪一个更好?你知道这种情况下的最佳做法是什么吗?例如,它是如何做一些大型门户网站,他们也需要像位置这样的东西(例如foursquare等).Afaik facebook使用第二种方法,但是......我想听听你的意见以及为什么你会选择一种方法而不是另一种方法.

谢谢!

mysql database database-schema

19
推荐指数
2
解决办法
6112
查看次数

为多对多关系(产品的变体)的组合设计SQL模式

我希望这个标题有点帮助.我正在使用MySQL作为我的数据库

我正在建立一个产品数据库,我不知道如何处理产品变化的存储价格/ SKU.产品可能有无限的变化,每个变化组合都有自己的价格/ SKU /等.

这就是我现在设置我的产品/变体表的方法:

PRODUCTS
+--------------------------+
| id | name | description  |
+----+------+--------------+
| 1  | rug  | a cool rug   |
| 2  | cup  | a coffee cup |
+----+------+--------------+

PRODUCT_VARIANTS
+----+------------+----------+-----------+
| id | product_id | variant  | value     |
+----+------------+----------+-----------+
| 1  | 1          | color    | red       |
| 2  | 1          | color    | blue      |
| 3  | 1          | color    | green     |
| 4  | 1          | material …
Run Code Online (Sandbox Code Playgroud)

sql schema database-administration e-commerce database-schema

19
推荐指数
3
解决办法
2万
查看次数

如何设计SaaS数据库

我有一个我为卡车公司建立的网络应用程序,我想作为SaaS提供.设计数据库的最佳方法是什么?

我应该为每家公司创建一个新数据库吗?或者我应该使用一个数据库,其中包含具有公司名称前缀的表格?或者我应该在每个表中使用一个数据库,只需在表中添加公司ID字段?或者还有其他方法吗?

database database-design database-schema

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

用于在人与人之间存储聊天消息的数据库

我正在尝试构建一个消息/聊天系统.它可以按时间顺序存储两个人之间的对话.此外,如果用户A删除了对话,则用户B仍然应该访问该对话,直到他希望删除它们为止.

  1. 收件箱 - 用户从各个用户收到的所有邮件都将显示该特定帖子的最新消息.

  2. 会话屏幕 - 用户A和用户B之间会话的时间顺序

这是我提出的数据库的基本结构.我应该在数据库中存储两次消息吗?

  1. ID
  2. to_id
  3. from_id
  4. 信息
  5. 时间戳

mysql database database-design database-schema

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

是`date`一个有效的mysql列名?

我想知道是否date实际上是一个有效的mysql列名?

根据手册

MySQL允许将一些关键字用作不带引号的标识符,因为许多人以前使用它们.示例是以下列表中的示例:

  • 行动
  • BIT
  • 日期
  • ENUM
  • 没有
  • 文本
  • 时间
  • TIMESTAMP

因此,从我收集到的内容,您可以使用date作为列名,但并不是说不建议使用.

那么,使用date列名是否有任何影响?

mysql database-design database-schema

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

在PHP中构建多通知系统的最佳方法

我目前正在开发一款移动应用程序,可让您向朋友询问收藏,它是HTML5前端和PHP后端.我不知道建立通知系统的最佳方式是什么,更多的是数据库模式而不是实际的代码本身.

移动应用程序流程如下:

  • 用户请求帮助
  • 用户可以选择; 通知所有朋友,通知最喜欢的朋友或通知朋友
  • 根据用户的选择,人们会收到通知

在PHP和MySQL中执行此操作的最佳方法是什么?我并不是真的要求任何人给我写PHP代码,而是映射出最理想的MySQL表和字段模式,因为这是我目前所坚持的.在此先感谢您的帮助.

php mysql database-design codeigniter database-schema

17
推荐指数
3
解决办法
1万
查看次数