나는 많은 시간을 Parameter Enumeration Tables이라고 불렀다. module은 내 ZXAF opensource framework의 일부입니다.
기본 디자인은 간단하며 매개 변수가있는 필드가 필요한 각 테이블과 1 - 많은 관계가있는 Parameters
테이블이 있습니다.
우리가 status
필드를 포함하는 users
테이블로 작업 할 경우 실제 예제를 제공하기 위해이에 확장 : 그것은 다음과 같이 보입니다. 우리는 다음과 같이 제약을 통해 params
테이블에 필드를 색인화하고 연결합니다.
INDEX `FK_user_status` (`status`),
CONSTRAINT `FK_user_status` FOREIGN KEY (`status`) REFERENCES `params` (`id`)
ON UPDATE CASCADE ON DELETE CASCADE
참고 : 이것은 우리에게 다음과 같은 스키마를 제공이
싶지 않을 때 나는 시간이있다, 여기 CASCADE
를 사용하고 있습니다;
이의 핵심 개념은 데이터베이스 참조 무결성을 유지하고, 코드 내에서 데이터 모델과 통합 매개 변수화 데이터를 포함 할 수 있도록하는 것입니다. 이 코드는 엔티티의 관련성을 데이터베이스에 쿼리하여 알 수 있습니다. 예를 들어 특정 필드의 유효한 값은 무엇입니까?
는 마지막으로 내가 소개하고 매개 변수 Tuples의 개념을 설명하고자합니다. 이것은 한 쌍의 매개 변수 (Tuple)를 값과 연관시킬 수있는 또 다른 테이블입니다. 이것은 데이터 중립적 인 방식으로 PET
을 확장하여 조회 및 예상 값을 제공 할 수 있습니다.이것은 새로운 열거 형을 추가 할 수있는 확장 가능 모델에 가장 적합하지만 값을 포함 할 수 있어야합니다. 그것은 * * 관계
내가 favour of enums in databases 아니에요 이렇게하는 것이 더 나은이지만,이 단지 내 의견이고 당신이이 마음에 뭔가있을 수 있습니다.
바인딩 및 마샬링은 어떻게 수행됩니까? 일반적인 매개 변수 표를 디자인하는 "패턴"또는 "일반적인 관행"을 알고 있습니까 (즉, 한 응용 프로그램에 모든 매개 변수가있는 경우)? – JPCF
마샬링 또는 언 마샬링 프로세스를 자동화 할 수 있습니까? 런타임에 DB 테이블에서 매개 변수를 생성합니까? 또는 어떤 패턴이 상수를 묶는 데 유용 할 수 있습니까? – JPCF
이것은 언어와 프레임 워크가 제공하는 도구에 전적으로 달려 있습니다. 파이썬에서는 거의 완전히 자동화 될 수 있습니다. C# (및 기타 .NET 언어)은 자동화를 제공하는 몇 가지 도구를 제공합니다. 프레임 워크가 투명한 마샬링 지원을 포함하도록 특별히 설계되지 않은 한 C와 같은 다른 요소는 안전한 자동 마샬링을 위해 어떠한 기회도 제공하지 않습니다. – Arafangion