小编dzh*_*zhu的帖子

在emacs组织模式中标记为粗体和斜体

在emacs组织模式中,我们可以使用标记来设置Emphasis和monospace.
例如

*粗体*

/ 斜体 /

我们怎样才能说出粗体和斜体呢?
它似乎既不是*/.../*也不是/*...*/有效.

emacs org-mode

7
推荐指数
2
解决办法
5497
查看次数

如何在关系数据库中建模多语言实体

如果我们要开发一个多语言应用程序,我们应该将翻译存储在资源文件还是数据库中?

假设我们选择在数据库中进行。是否有一种标准方法可以在关系模型中对多语言实体进行建模?

1. 一张大翻译表

我们可以将所有翻译存储在一张表中,并使用与语言无关的键作为属性值。

人员(SSN、名字、姓氏、生日)

翻译(关键懒惰、翻译)

2. 每个实体一个翻译表

人物(SSN、生日)

PersonML(SSNLangId、名字、姓氏)

我更喜欢这种方法。确实是1:N的关系

问题

看来多语言列不能用于形成主键
假设每个人都有一个唯一的名字,那么 (FirstName, LastName) 可以用作主键。

人(名字姓氏、生日)

然而,当考虑到多语言时,(FirstName, LastName) 无法识别一个人。
显然我们不能添加 LangId 来形成主键。

人(LangId名字姓氏、生日)

在这种情况下,一个人将存储在多行中,并且非键列将被重复。

我们是否必须使用与语言无关的列作为主键?
当没有这样的列时,我们应该使用代理吗?
有人告诉我不应盲目使用代孕妈妈,我非常同意。


更新1

在示例中,我假设FirstNameLastName需要进行本地化。

如果每个实体总是有一些属性,例如 SSN,则第二种方法更有意义。
但是,如果某些有效主键包含需要本地化的列,则它们可能会变得无效。

另一个例子

每个公司都有一个唯一的名称,因此 CompanyName …

multilingual database-design relational-database

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

子类型的关系数据建模

我正在学习关系模型和数据建模.
我对子类型有一些困惑.

我知道数据建模是一个迭代过程,有许多不同的方法可以对事物进行建模.
但我不知道如何选择不同的选项.

假设我们想要模拟粒子(分子,原子,质子,中子,电子......).
为简单起见,让我们忽略夸克和其他粒子.

由于所有相同类型的粒子表现相同,我们不打算对单个粒子进行建模.
换句话说,我们不会存储每个氢原子.
相反,我们将储存氢,氧和其他原子类型.
我们要建模的实际上是粒子类型和它们之间的关系.

我不小心使用" 类型 " 这个词.
氢原子是一个实例.氢是一种类型.氢也是一种原子.
是的,涉及的类型层次结构.我们忽略了最低级别(单个粒子).

途径

我可以想到几种模拟它们的方法.

1.每种类型的事物(粒子类型)的一个表(关系,实体).

1.1我想到的第一种方法.

质子(质子)
中子(中子)
电子(电子)

原子(Atom)
Atom_Proton(原子,质子,数量)
Atom_Neutron(原子,中子,数量)
Atom_Electron(原子,电子,数量)

分子(分子)
Molecule_Atom(Molecule,Atom,Quantity)

1.2由于只有一种质子/中子/电子,我们可以简化它.

原子(原子,质子数量,中子数量,电子量子)
分子(分子)
分子 _ 原子(分子,原子,数量)

在这个简化的模型中,关于质子的事实已经丢失.

2.一个表中的所有内容,其中关联表表示它们之间的关系.

2.1每个关系的一个关联表

粒子(粒子)

Atom_Proton(Particle,Particle,ProtonQuantity)
Atom_Neutron(Particle,Particle,NeutronQuantity)
Atom_Electron(Particle,Particle,ElectronQuantity)
Molecule_Atom(Particle,Particle,AtomQuantity)

2.2单关联表

粒子(粒子)
粒子组成(粒子,粒子,数量)

这种简化不会丢失任何东西.我认为这更好.
但如果存在特定于Atom_Proton/Atom_Neutron/Atom_Electron的事实,2.1可能会更好.

2.3结合2.1和2.2

粒子(粒子) …

database-design data-modeling relational-database relational-model subtype

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

什么是关系完整性

在关于如何在关系中设置主键的问题中,PerformanceDBA谈到了关系完整性,并指出它与参照完整性不同.

我听说过与外键有关的参照完整性. 但是关系完整性对我来说似乎很奇怪.

在这个问题中,关系完整性和引用完整性是一回事吗?,克里斯说,两者是一回事.

数据库世界中的术语和定义让我感到困惑.
有人可以解释关系完整性吗?


Edgar F. Codd 于1970年他的论文中提出关系模型以来,关系数据库理论已经建立了几十年. 但是,书籍或网络上的正常形式,完整性等没有一致的定义. 作为一个学习者,我很困惑.

data-integrity relational-database relational-model

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