在emacs组织模式中,我们可以使用标记来设置Emphasis和monospace.
例如
*粗体*
/ 斜体 /
我们怎样才能说出粗体和斜体呢?
它似乎既不是*/.../*也不是/*...*/有效.
如果我们要开发一个多语言应用程序,我们应该将翻译存储在资源文件还是数据库中?
假设我们选择在数据库中进行。是否有一种标准方法可以在关系模型中对多语言实体进行建模?
我们可以将所有翻译存储在一张表中,并使用与语言无关的键作为属性值。
人员(SSN、名字、姓氏、生日)
翻译(关键、懒惰、翻译)
人物(SSN、生日)
PersonML(SSN、LangId、名字、姓氏)
我更喜欢这种方法。确实是1:N的关系。
看来多语言列不能用于形成主键。
假设每个人都有一个唯一的名字,那么 (FirstName, LastName) 可以用作主键。
人(名字、姓氏、生日)
然而,当考虑到多语言时,(FirstName, LastName) 无法识别一个人。
显然我们不能添加 LangId 来形成主键。
人(LangId、名字、姓氏、生日)
在这种情况下,一个人将存储在多行中,并且非键列将被重复。
我们是否必须使用与语言无关的列作为主键?
当没有这样的列时,我们应该使用代理吗?
有人告诉我不应盲目使用代孕妈妈,我非常同意。
在示例中,我假设FirstName和LastName需要进行本地化。
如果每个实体总是有一些属性,例如 SSN,则第二种方法更有意义。
但是,如果某些有效主键包含需要本地化的列,则它们可能会变得无效。
每个公司都有一个唯一的名称,因此 CompanyName …
我正在学习关系模型和数据建模.
我对子类型有一些困惑.
我知道数据建模是一个迭代过程,有许多不同的方法可以对事物进行建模.
但我不知道如何选择不同的选项.
假设我们想要模拟粒子(分子,原子,质子,中子,电子......).
为简单起见,让我们忽略夸克和其他粒子.
由于所有相同类型的粒子表现相同,我们不打算对单个粒子进行建模.
换句话说,我们不会存储每个氢原子.
相反,我们将储存氢,氧和其他原子类型.
我们要建模的实际上是粒子类型和它们之间的关系.
我不小心使用" 类型 " 这个词.
氢原子是一个实例.氢是一种类型.氢也是一种原子.
是的,涉及的类型层次结构.我们忽略了最低级别(单个粒子).
我可以想到几种模拟它们的方法.
质子(质子)
中子(中子)
电子(电子)
原子(Atom)
Atom_Proton(原子,质子,数量)
Atom_Neutron(原子,中子,数量)
Atom_Electron(原子,电子,数量)
分子(分子)
Molecule_Atom(Molecule,Atom,Quantity)
原子(原子,质子数量,中子数量,电子量子)
分子(分子)
分子 _ 原子(分子,原子,数量)
在这个简化的模型中,关于质子的事实已经丢失.
粒子(粒子)
Atom_Proton(Particle,Particle,ProtonQuantity)
Atom_Neutron(Particle,Particle,NeutronQuantity)
Atom_Electron(Particle,Particle,ElectronQuantity)
Molecule_Atom(Particle,Particle,AtomQuantity)
粒子(粒子)
粒子组成(粒子,粒子,数量)
这种简化不会丢失任何东西.我认为这更好.
但如果存在特定于Atom_Proton/Atom_Neutron/Atom_Electron的事实,2.1可能会更好.
粒子(粒子) …
database-design data-modeling relational-database relational-model subtype
在关于如何在关系中设置主键的问题中,PerformanceDBA谈到了关系完整性,并指出它与参照完整性不同.
我听说过与外键有关的参照完整性.
但是关系完整性对我来说似乎很奇怪.
在这个问题中,关系完整性和引用完整性是一回事吗?,克里斯说,两者是一回事.
数据库世界中的术语和定义让我感到困惑.
有人可以解释关系完整性吗?
自Edgar F. Codd 于1970年在他的论文中提出关系模型以来,关系数据库理论已经建立了几十年.
但是,书籍或网络上的正常形式,完整性等没有一致的定义.
作为一个学习者,我很困惑.