소개
EAV (Entity-Attribute-Value) 데이터베이스의 설계 철학은 데이터를 엔티티와 관련된 속성 값 쌍으로 저장하는 것입니다. 이 모델은 특히 히스토리 데이터를 처리 할 때 데이터 저장 및 쿼리의 유연성이 있습니다. 그러나 전통적인 EAV 설계는 종종 데이터 무결성, 보고서 생성 및 성능에 어려움을 겪습니다.
일반적인 EAV 결함을 해결
이러한 단점을 극복하기 위해 속성 유형에 따라 다른 엔티티 속성을 분리하는 것을 고려할 수 있습니다. 이 방법은 다음과 같은 장점이 있습니다.
예제 관계 데이터베이스 관리 시스템 (RDBMS) 스키마 설계
]다음 rdbms 패턴 설계는이 접근법을 구현하는 방법을 보여줍니다.
entity_type : 스토리지 엔티티 유형 (예 : "제품", "사용자") 엔티티 : 는 기본 엔티티 테이블을 나타냅니다 attr : 속성을 엔티티와 연결합니다 옵션 : 속성-값 쌍을 저장하기위한 옵션 attr_option : 속성-값 쌍에 대한 링크 옵션 attr_int : 정수 속성 값을 저장합니다 attr_relation : 다른 엔티티와의 관계를 저장합니다 attr_dateTime : 저장 날짜 및 시간 속성 값 attr_string : String 속성 값을 저장합니다 attr_text : 텍스트 속성 값을 저장합니다 attr_decimal : 소수점 속성 값
이 모드는 속성 값이 변경 될 때마다 새 속성 값 쌍을 삽입하여 히스토리 데이터를 저장할 수 있습니다.
제안 된 방법의 장점
]잠재적 문제
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3