많은 필드가있는 양식이 많은 웹 응용 프로그램이 있습니다. 이 필드 중 일부는 필수이고 일부는 필요하지 않지만 사용자가 진행 상황을 저장할 수 있도록 데이터베이스 테이블에 양식 값을 저장할 수 있기를 원합니다. 이 열에 대한 메타 정보는 어떻게 저장합니까? 구체적으로, 나는 테이블을 가지고 말 :데이터베이스 디자인 : 열 속성을 저장하는 방법?
create table form1 (
field1 text,
field2 text,
-- ...
fieldn text
)
나는 같은 것을 얻을 수있는 DB를 조회 할 수 있도록 필드 어딘가에 요구되는 대한 비즈니스 로직을 저장하고 싶습니다 :
('field1_val', true, null, false, ..., 'fieldn_val', true)
을
모든 홀수 열은 테이블에 저장되는 값이며, 심지어 짝수 열은 필드가 필요한지 여부입니다. 나는 그래서 요구 사항 데이터를 저장하는 별도의 테이블을 가지고 생각 :
create table form1_requirements (
table_name text,
field_name text,
required boolean
);
insert into form1_requirements values ('foo', 'field1', true);
insert into form1_requirements values ('foo', 'field2', false);
insert into form1_requirements values ('foo', 'fieldn', true);
그러나, 나는 그것이 그런 식으로 가입 할 수 있는지 확실하지 않다, 그것은 권할 경우.
가장 적합한 솔루션은 무엇입니까? 나는 주로 postgresql에 관심이 있지만 mysql과 sqlite3에도 관심이있다.
내가 질문에서 말했듯이 불완전한 양식을 저장할 수 있기를 원합니다. – user3243135
그래서 Gordon의 아이디어를 사용하면 불완전한 양식 데이터를 첫 번째 삽입이 실패 할 때 별도의 테이블에 저장하지만 dB 사전의 메타 데이터를 사용하여이 시각을 not null 제약 조건으로 정의합니다. 여기에 코멘트와 기본값을 유지할 수도 있습니다. –