두 개의 하위 테이블이있는 테이블이 있습니다. 부모 테이블의 각 레코드에 대해 자식 테이블 중 하나에 하나의 레코드 만 필요합니다. 어떻게 정의 할 수 있습니까?하나의 테이블 또는 다른 테이블에 하위 레코드를 보장 하나 둘 모두를 보장하지 않습니까?
여기에 뒷 이야기가 있습니다. 이 구현을 비판하는 것은 자유롭지 만 위의 질문에 답하십시오.이 문제는 내가 만난 유일한시기가 아니기 때문에 답하십시오.
사용자 설문 조사와 관련된 데이터가있는 데이터베이스가 있습니다. 그것은 원래 설문 조사를 시작하기위한 하나의 인증 방법으로 설계되었습니다. 그 이후로 요구 사항이 변경되었으므로 누군가가 설문 조사를 시작하기 위해 사인 할 수있는 두 가지 방법이 있습니다.
원래 설문 조사 테이블의 열에 인증 토큰을 캡처했습니다. 요구 사항이 변경 되었기 때문에 인증에서 캡처 할 다른 세 가지 데이터가 있습니다. 따라서 조사 테이블의 각 레코드에 대해 하나의 토큰 또는 세 개의 토큰을 갖게됩니다. 이들 중 네 가지 유형이 모두 다르므로 내 생각에 두 열 중 하나가 null이거나 세 가지가 null이 될 수도있는 (또는 더 나쁜 경우 해당 시나리오 중 하나의 나쁜 매시업) 4 개의 열이있는 대신 나는 두 개의 자식 테이블을 가질 것이고 하나는 하나의 인증 토큰을 보유하고, 다른 하나는 세 개를 보유 할 것이다. 문제는 DDL에서 정의하는 방법을 알지 못합니다.
저는 MySQL을 사용하고 있습니다. MySQL이 구현하지 않는 기능이 있습니다.
아를 읽어보세요! 방아쇠는 내가 사용한 적이없는 것입니다. 이 상황이 다른 옵션이 아닌 트리거일까요? 내가하고 싶은 일을 어떻게 하겠니? – user151841
3 정규형을 위반하고 하나의 테이블에 4 개의 열을 넣는 것을 고려할 것입니다. –
Practicality wins out, Raj :) – user151841