음악 앨범의 많은 레코드가있는 테이블을 나타 내기 위해 MVC 패턴을 사용하고 있습니다. 각 음악 앨범에는 속성 (장르, 아티스트, 평점 등)이 있습니다. 각 속성은 여러 값을 가질 수 있습니다 (예를 들어 한 앨범의 장르는 "팝"과 "라틴"둘 다 가능합니다). 그 속성 값을 표를 사용하여 표현하고 싶습니다.레코드에 여러 특성을 할당해야합니다. 하나의 테이블 또는 여러 테이블을 선택해야합니까?
내가 생각할 수있는 두 가지 기본 접근 방식이 있습니다. 어떤 접근 방식이 더 좋은지 궁금합니다.
- 각 속성에 대해 별도의 테이블을 가지고 (예컨대,
GENRE
,ARTIST
). 각 테이블의 열은 album_id 및 attr_value입니다. album_id 및 값 외에도 속성 이름 ("genre", "artist"...)을 포함하는 단일 테이블
ATTRIBUTES
이 있습니다. 일반적으로
나는 방법 1 (관계형 DB 및 모든)을 선택하는 것입니다,하지만 난 방법 2를 선택하면, 내 생각이 나는 새로운 속성을 추가 할 때, 나는를 만들 필요가 없다는 것입니다 새로운 모델, 컨트롤러 및 뷰.
의견이 있으십니까?
이미 일반 테이블이있는 경우 모든 용도로 사용해야하지 않는 이유는 무엇입니까? – Sleepster
성능을 향상시키고 유효성을 효과적으로 제어 할 수 있습니다. 물론 올바른, 정규화 된 형식이기 때문입니다. –