我曾经像这样标记数据库中的列:
user_id
user_name
user_password_hash
Run Code Online (Sandbox Code Playgroud)
为了避免在连接两个表时发生冲突,但后来我学到了更多关于如何为表设置别名的知识,我不再这样做了。
在数据库中标记列的有效方法是什么?为什么?
我应该如何在 SQL 中实现以下实体关系图中描述的场景?

如图所示,每个A实体类型出现都必须与至少一个 B对应项(由双连接线表示)相关,反之亦然。我知道我应该创建以下三个表:
CREATE TABLE A
(
a INT NOT NULL,
CONSTRAINT A_PK PRIMARY KEY (a)
);
CREATE TABLE B
(
b INT NOT NULL,
CONSTRAINT B_PK PRIMARY KEY (b)
);
CREATE TABLE R
(
a INT NOT NULL,
b INT NOT NULL,
CONSTRAINT R_PK PRIMARY KEY (a, b),
CONSTRAINT R_to_A_FK FOREIGN KEY (a)
REFERENCES A (a),
CONSTRAINT R_to_B_FK FOREIGN KEY (b)
REFERENCES B (b)
);
Run Code Online (Sandbox Code Playgroud)
但是,如何实现总参与约束(即,强制执行其中之一的每个 …
基于Traversing tree-like data in arelational database using SQL问题,我想知道如何在考虑物理含义的情况下经常使用的方式描述关系数据库上的树状数据?
我假设 RDBMS 除了常规 SQL ANSI 或常见可用功能之外没有特殊功能来处理它。
毫无疑问,我总是对 MySQL 和 PostgreSQL 以及最终的 SQLite 感兴趣。
我必须为涉及音乐艺术家描述的业务环境设计实体关系图 (ERD) ,我将在下面详细说明。
一个艺术家有一个名称,且必须要么一组 或一个独奏演员(但不能同时)。
一个小组由一名或多名独舞者组成,并有若干成员(应根据组成该组的独奏者人数计算)。
一个独奏演员可能是一个会员众多的群体或无的集团,并可以播放一个或多个仪器。
如何构建一个 ERD 来表示这种场景?我对它的“或”部分感到困惑。
我正在寻找有关存储调查、问题和响应的最佳关系建模方法的建议。
我正在寻找以下两种方法中的哪一种看起来最好,或者另一种方法。
我至少有这些实体:
至少有这些关系:
这就是我遇到麻烦的地方:如何对一个人对调查问题的回答进行建模。
这是我考虑过的两种方法,对我来说似乎都不是很好。此处的图表已大大简化以说明问题。
我不喜欢这种方法的地方:
survey_person_question_response表有两个不同的列引用调查:survey_question_survey_id和survey_person_survey_id
survey_id在这两列的一行中引用不同的是错误的。survey_question 必须与该人在survey_person 中进行的调查来自同一个调查。我看不出有什么好的方法来强制执行此操作。方法二:
尽量避免方法 1 中的两个 FK 应该引用相同的值......

我不喜欢这种方法的地方:
question_id和survey_idFK 来自有效的survey_question对survey_id和person_idFK 来自有效的survey_person对任何建议:
将不胜感激!
实体关系图中的索引是什么样的?
我用谷歌搜索过,但不确定 ERD 中索引的标准外观是什么。我说的是包含所有字段的 crowsfoot 图。
我正在创建一个概念图 [是的,我知道我已经包含了属性和键 - 但这只是让我在学习的同时巩固我正在做的事情] - 所以请把它当作概念性的,重点是关系和表格而不是如何绘制图表;)
我的障碍是: 我正在尝试确定对配置文件、位置和组织关系进行建模的最佳方式。
首先,规则:

Friend and Member differ, in that, Friends are like read-only and Members [depending on level] have full access to amend things.
更复杂的是,位置有自己的一套“进一步”细化规则,例如一个组织拥有两个位置,但根据位置规则,该组织的成员 [ …
我是一名学生,作为我的学术界的一部分,我正在开发几个项目。
在为其中一个项目开发数据库时,我们遇到了一种情况,我们考虑是否需要 ERD。目前,并不是我们每个人都同意先开发 ERD,然后从它开发数据库。
大多数人更喜欢直接根据纸上要求的系统口头开发数据库。
现在,我严格遵循数据库原则。我认为数据库应该只从 ERD 开发。所以,我只想知道以下几点:
我有一个 Oracle 数据库,我想在 Visio 2007 Pro 中创建一个 ERD。
到目前为止,我已经查看了 DBMS_METADATA.GET_DDL 命令来生成 DDL。我知道我可以将 Access DB 导入 Visio,但似乎 Access 理解与 Oracle 不同的 SQL 方言,因此我需要调整每个 Create Table 命令以更改数据类型。
有没有一种在 Visio Pro 2007 中使用 DDL 创建 ERD 的简单方法?
erd ×10
ddl ×1
import ×1
index ×1
inheritance ×1
many-to-many ×1
oracle ×1
recursive ×1
sql-server ×1
subtypes ×1
tree ×1
view ×1
visio ×1