학생 정보가 포함 된 STUDENTS
테이블이 있습니다. 각 학생은 CANDIDATE BIT
값에 따라 대학 투표 이벤트에서 CANDIDATE
일 수도 있고 아닐 수도 있습니다.테이블 정의의 참조 무결성 검사
VOTE
테이블을 갖고 싶지만, VOTES_FOR
으로 삽입되는 학생이 실제로 CANDIDATE
인지 확인하고 싶습니다. 보통 영어로 : 투표 대상자가 실제로 후보자인지 아닌지 확인하십시오.
이 제약 조건을 어떻게 확인할 수 있습니까? 저장 프로 시저 및 PL/SQL 또는 T-SQL이 아닌 간단한 일반 DDL 명령을 사용하여이 작업을 수행하려고합니다.
CREATE TABLE STUDENTS(
ID INT NOT NULL UNIQUE AUTO_INCREMENT = 1,
FIRST_NAME NVARCHAR(20) NOT NULL ,
LAST_NAME NVARCHAR(20) NOT NULL,
CANDIDATE BIT DEFAULT '0',
PRIMARY KEY(ID)
);
CREATE TABLE VOTE(
STUDENT_ID references STUDENTS(ID),
VOTES_FOR references STUDENTS(ID),
PRIMARY KEY STUDENT_ID
);
나는 귀하의 목표가 비 후보자에 대한 투표를 막는 것이라고 가정하고 있습니다. 맞습니까? 당신은 자신이 응용 프로그램에서 이것을 막지 못하도록 제한되어 있습니까? – ermagana
네, 맞습니다. 응용 프로그램 자체가 아니라 테이블 정의 레벨을 갖고 싶습니다. –
PL/SQL에 대한 언급으로 오라클을 사용하고있는 것 같아요? – ermagana