将单个非重复数据存储到数据库的最佳方法是什么?

Gro*_*ady 11 mysql sql database mongodb nosql

将数据存储在数据库中的最佳实践是什么,该数据库只需要一次输入.一个例子是与整个应用程序/网站有关的配置数据.为此创建一个只有一个条目的表是常见的吗?

我在MongoDB数据库的上下文中问,虽然我认为这个问题对SQL数据库也有效.

one*_*hen 6

通常在数据库中找到的辅助表的示例将被调用Constants并且可以保持这样的pi值,该想法开始使用数据库的所有应用程序都需要使用相同的比例和精度.在标准SQL中,要确保它们最多只有一行,例如(来自Joe Celko):

CREATE TABLE Constants
(
 lock CHAR(1) DEFAULT 'X' NOT NULL PRIMARY KEY, 
 CHECK (lock = 'X'),
 pi FLOAT DEFAULT 3.142592653 NOT NULL,
 e FLOAT DEFAULT 2.71828182 NOT NULL,
 phi FLOAT DEFAULT 1.6180339887 NOT NULL, 
 ...
);
Run Code Online (Sandbox Code Playgroud)

因为mySQL不支持CHECK约束,所以需要一个触发器来实现相同的功能.


Die*_*ego 5

一张表就可以了,没有理由不使用它,因为它只有一行。

我只是有一个最奇怪的想法(我不会实现它,但出于某种原因我想到了这一点)。您可以像这样创建硬编码视图:

create view myConfigView 
as
select 'myConfigvalue1' as configValue1, 'myConfigvalue2' as configValue2
Run Code Online (Sandbox Code Playgroud)

并做select * from myConfigView :)

但同样,没有理由不使用表仅仅因为它只有一行


Dha*_*dya 0

对于 MongoDB 数据库,我通常只是创建一个新的“表”,但是,对于 SQL 数据库,这需要更多(特别是当其他人也在同一个数据库上工作时;SQL 没有那么可塑性),所以,你可能想要要更加小心一点。