Uml 限定符、多重性和数据库

Uml 限定符、多重性和数据库,uml,Uml,我可以这样解释这个类图吗?某个文件在一个目录中可以有许多不同的名称。目录中的名称不得重复。目录中具有特定名称的文件数为零或1。但如果我还想说,一个目录可以存储许多文件,一个文件可以存储在许多目录中。这个图表也显示了这些信息吗?根据此图,数据库中将有3个表(目录、文件和联接表)。 目录(Did,Dname),其中Did是主键。 文件(Fid,Fsize),其中Fid是主键。 然后在联接表中,必须有(Did、Fid、name)并且(Did、name)的组合必须是唯一的。我的理解正确吗?你的理解近乎完

我可以这样解释这个类图吗?某个文件在一个目录中可以有许多不同的名称。目录中的名称不得重复。目录中具有特定名称的文件数为零或1。但如果我还想说,一个目录可以存储许多文件,一个文件可以存储在许多目录中。这个图表也显示了这些信息吗?根据此图,数据库中将有3个表(目录、文件和联接表)。 目录(Did,Dname),其中Did是主键。 文件(Fid,Fsize),其中Fid是主键。
然后在联接表中,必须有(Did、Fid、name)并且(Did、name)的组合必须是唯一的。我的理解正确吗?

你的理解近乎完美。这里只有一个细节:左边的多重性表示有多少目录,而不是有多少名称与一个文件关联。没有任何东西限制一个目录中有多少文件名可以代表一个文件。换句话说,对于同一个文件,可以在一个目录中有多个名称,例如,在基于UNIX的文件系统上,这是可能的。尽管如此,您的三个表和列唯一性约束完美地代表了一切

●如果没有限定符,一个文件只能在一个目录中保存一次,因为一对对象之间只能有一个链接。但是使用限定符,一个文件可以在一个目录中多次使用不同的名称,因为文件链接到目录中的名称(而不是链接到目录),所以在一个目录中可能多次出现。因此,在我看来,左边的多重数应该是名称的数量,而不是目录的数量。我不明白。对于左重数,必须忽略限定符,对于右重数,必须考虑限定符??删除限定符并将右重数更改为*。左边多重数的含义保持不变。