2011-01-31 2 views
0

내 소개 데이터베이스 클래스에 과제가 있습니다. Bookings, Clients, OtherCharges, Payments, Rooms 등 5 개의 테이블이 호텔에 제공되었습니다. Clients 테이블에는 ClientID (PK), FirstName (필수), LastName (필수), Birthdate, Street, City, Province, PostalCode, Phone (전화 또는 전자 메일 필요), Email 또는 전자 메일이 필요함), 신용 카드 (중복이 없어야 함). Visio에서 ERD를 구축했으며 (지시 한대로) SQL 워크 시트에 모든 TABLE CREATE를 완료했습니다. 내 질문은 두 가지입니다. A) Visio에서 전자 메일/전화 요구 사항을 어떻게 나타낼 수 있습니까? 필수 속성에 대한 체크 박스가 있지만 둘 다 필요하지 않기 때문에 둘 다 확인할 수는 없습니다. 뭐라 구요? B) SQL에서 어떻게 처리합니까? CHECK 제약 조건입니까?ERD 및 데이터베이스 관리 입문

도움을 주시면 감사하겠습니다. 감사.

답변

1

표준 Visio "데이터베이스 모델 다이어그램"을 사용하는 경우 다중 열 검사 제한을 직접 나타낼 수 없습니다. 두 번째 질문에 대해서는 그렇습니다. CHECK 제약 조건입니다.

+0

당신은 어떻게 그 제약 조건을 말합니까? CHECK 이메일 = NULL이 아니거나 전화 = NOT NULL일까요? – mrwienerdog

+0

정확한 systax는 SQL Server에서 데이터베이스에 종속적 일 수 있습니다. CHECK (전자 메일은 NULL이 아니거나 전화가 NULL이 아닙니다) – ThomasMcLeod

+0

감사합니다. 감사합니다. – mrwienerdog

0

데이터베이스 수준에서 전화 및 이메일을 보내려면 varchar로 고정하십시오. 보다 정교한 유효성 검사를 실행하려면 응용 프로그램 수준에서이를 구현하는 것이 좋습니다.

+0

간단하게 보이지만 데이터 형식 (CHAR, VARCHAR 등)이 제한을 적용하는 것과 어떤 관련이 있습니까? 강사는 필수 필드 (NULL이 아님) 중 하나 또는 다른 (이메일 또는 전화)에 관한 일종의 구분을 원한다고 생각합니다. – mrwienerdog

+0

이것은 과제이며, 과제를 변경할 수 없습니다. – ThomasMcLeod