限定符、多重性和数据库
qualifier, multiplicity and database
我可以这样解释这个 class 图吗?某个文件在目录中可以有多个不同的名称。目录中的名称不能重复。一个目录中某个名称的文件的个数是0个或1个。但是如果我还想说一个目录可以存放很多文件,一个文件可以存放在多个目录中。该图是否也显示了该信息?根据此图,数据库中将有 3 个 table(目录、文件和连接 table)。 .
Directory(Did, Dname) 其中 Did 是主键。
文件 (Fid, Fsize),其中 Fid 是主键。
那么在join table中,必须有(Did, Fid, name)并且(Did,name)的组合必须是唯一的。我的理解对吗?
你的理解几乎是完美的。只有一个选择:左边的多重性表示有多少 目录 ,而不是多少 名称 与文件相关联。没有任何内容限制一个目录中有多少个文件名可以代表一个文件。换句话说,对于同一个文件,您可以在一个目录中使用多个名称,例如,这在基于 UNIX 的文件系统上是可能的。尽管如此,您的三个表和列的唯一性约束完美地代表了一切。
我可以这样解释这个 class 图吗?某个文件在目录中可以有多个不同的名称。目录中的名称不能重复。一个目录中某个名称的文件的个数是0个或1个。但是如果我还想说一个目录可以存放很多文件,一个文件可以存放在多个目录中。该图是否也显示了该信息?根据此图,数据库中将有 3 个 table(目录、文件和连接 table)。 . Directory(Did, Dname) 其中 Did 是主键。 文件 (Fid, Fsize),其中 Fid 是主键。 那么在join table中,必须有(Did, Fid, name)并且(Did,name)的组合必须是唯一的。我的理解对吗?
你的理解几乎是完美的。只有一个选择:左边的多重性表示有多少 目录 ,而不是多少 名称 与文件相关联。没有任何内容限制一个目录中有多少个文件名可以代表一个文件。换句话说,对于同一个文件,您可以在一个目录中使用多个名称,例如,这在基于 UNIX 的文件系统上是可能的。尽管如此,您的三个表和列的唯一性约束完美地代表了一切。