저는 초보자이고 소셜 네트워킹 웹사이트를 디자인했습니다. 예를 들어 사용자 아바타 사진 테이블과 사용자 앨범 사진 테이블이 있습니다. 이 두 테이블을 별도로 만들어야 할까요, 아니면 서로 다른 유형의 테이블로 병합해야 할까요? 그림) 유형 필드를 사용하여 구별), 각각의 장점은 무엇입니까?
이론적으로 두 개의 테이블을 분리해야 합니다. 먼저 사용자는 하나의 아바타만 가지고 있으므로 사용자 ID와 아바타 사진은 1:1 관계입니다. 동일한 사용자와 앨범 사진은 1:n 관계입니다. , 아바타 사진과 사용자 앨범에는 각각 논리적으로 명확하고 관리하기 쉬운 자체 테이블이 있습니다. 두 테이블 모두 userId를 사용하여 사용자와 연결됩니다. 하지만 실제로 데이터베이스 관점에서는 하나의 테이블에 넣는 것과 따로 넣는 것에는 별 차이가 없습니다(아마도 데이터의 양이 많아지면 질의 효율에 차이가 있을 것 같습니다) 그림 테이블을 생성하고 보정을 하시면 됩니다. 아바타인지 앨범 사진인지에 관계없이 사진 테이블에 userId를 설정하여 해당 사진이 누구인지 식별해야 합니다.
이론적으로 두 개의 테이블을 분리해야 합니다. 먼저 사용자는 하나의 아바타만 가지고 있으므로 사용자 ID와 아바타 사진은 1:1 관계입니다.
동일한 사용자와 앨범 사진은 1:n 관계입니다. , 아바타 사진과 사용자 앨범에는 각각 논리적으로 명확하고 관리하기 쉬운 자체 테이블이 있습니다. 두 테이블 모두 userId를 사용하여 사용자와 연결됩니다.
하지만 실제로 데이터베이스 관점에서는 하나의 테이블에 넣는 것과 따로 넣는 것에는 별 차이가 없습니다(아마도 데이터의 양이 많아지면 질의 효율에 차이가 있을 것 같습니다)
그림 테이블을 생성하고 보정을 하시면 됩니다. 아바타인지 앨범 사진인지에 관계없이 사진 테이블에 userId를 설정하여 해당 사진이 누구인지 식별해야 합니다.