Ans.
男同士の夜勤禁止が、間違っています。「かつ」は、「全員」という意味です。この制約を言葉にしてみると、
男全員が男全員と入りをすることは禁止
という意味になります。そもそも男全員が夜勤に入ること自体があり得ないので、それを禁止にしても意味はありません。
問題は、二つあり
■同じ集合である「男」と「男」を禁止にしていること、
■全員の意味である「かつ」を使用している
看護師男の少なくとも一人以上が、介護男の少なくとも一人以上と夜勤をすることを禁止。
と、制約意図と合致していることが分かります。
ペア制約での記述でも間違いではありませんが、Betterな記述は、次のように列制約で記述します。
このとき、スタッフプロパティは、以下のようにします。この記述スタイルの利点は、以下です。
■ペア制約で個人名を使わずに記述可能。スタッフプロパティシートは毎月変更するので、スタッフの退職・入職等の変更等のメンテナンスはこのシートを弄ることになります。制約は時が経つと忘れてしまいますが、このシートは、全項目をメンテする、とだけ覚えておけばよい。
■ペア集合1、2、3の変更はスタッフプロパティシート上で自由である。また複数人数のペア禁止も可能、使わなければブランクでもOK。列制約で制約したことは忘れてよい。メンテナンス性が良い。より汎用的であり、将来の変更のし易さが違います。
■ペア制約では、「看護師男」、「介護男」と集合を分けて記述する必要がありますが、このスタイルでは、「男」だけで記述でき、新たに集合を合成する必要がない
0 件のコメント:
コメントを投稿