0

イントロデータベースクラスに割り当てがありますが、1つ困惑しています。ホテル用に作成する5つのテーブル(予約、クライアント、OtherCharges、Payments、Rooms)が提供されています。Clientsテーブルには、ClientID(PK)、FirstName(必須)、LastName(必須)、Birthdate、Street、City、Province、PostalCode、Phone(電話または電子メールのいずれかが必要)、Email(いずれかの電話)の属性があります。または電子メールが必要です)、CreditCard(重複が含まれていてはなりません)。(指示に従って)VisioでERDを作成し、SQLワークシートですべてのTABLECREATEを実行しました。私の質問は2つあります。A)Visioで電子メール/電話の要件をどのように表現しますか?必須属性のチェックボックスがありますが、両方とも必須ではないため、両方をチェックすることはできません。何が得られますか?B)SQLでそれをどのように処理しますか?CHECK制約ですか?

どんな助けでもいただければ幸いです。ありがとう。

4

2 に答える 2

1

標準のVisioの「データベースモデル図」を使用している場合、複数列のチェックコンテンツを直接表すことはできません。そして2番目の質問については、はい、それはCHECK制約です。

于 2011-01-31T01:47:36.380 に答える
0

データベースレベルで電話と電子メールをvarcharに固執するだけです。より高度な検証を実施する場合は、アプリケーションレベルで実装することをお勧めします。

于 2011-01-31T01:45:57.457 に答える