컴퓨터 과학!/Database2004. 10. 13. 18:14
[요구사항]
때는 바야흐로 22세기. 21세기에 유행하던 얼짱 신드롬이 사회 전반적으로 확산되고, 짱이 연예인의 유일한 등용문이 되면서, 이를 효과적으로 대처하기 위해 "짱 키우기 신개념 프로젝트"를 추진하기에 이르렀다. 당시 연예인 협회 회장이 된 데이터베이스 롸목 반장은, "짱 키우기 신개념 프로젝트"를 위해 얼짱 이회에 각종 짱들을 육성하고 이들을 관리하기 위하여 데이터베이스 시스템을 구축하기로 하였다. 각종 사이트를 통하여 다수의 추천을 받은 들은 주민등록번호이름을 기본적으로 등록하고, 각자의 재능에 따라 얼짱, 몸매짱, 노래짱이 될 수 있으며, 워낙 능력이 뛰어나 재능을 크게 인정 받은 짱들은 몇몇 분야(얼굴 또는 몸매 또는 노래)를 아우르는 짱이 될 수도 있다. 짱으로 인정을 받으면, 얼짱인 경우 코높이눈크기, 얼굴 비율을 등록해야 하고, 몸매짱인 경우는 몸무게를, 노래짱인 경우는 성량음역대를 등록해야 한다.
모든 짱들은 자신을 좋아하는 팬들로 구성된 팬클럽을 여러 개 가질 숙 있으며, 한 짱에 소속된 팬클럽들은 그 팬클럽 이름으로 구별이 가능하고, 팬클럽 관리 차원에서 매년 팬클럽이 결성된 날 팬 캠프를 하기 위하여 비상 연락처로 팬클럽의 회장 이름과 연락처를 관리한다.
짱들은 등록된 연예기획사오디션을 통해서만 연예인으로 데뷔할 수 있으며, 오디션의 관리를 위하여 시행된 날짜응시 분야, 평가 점수를 기록하도록 한다. 한 명의 짱은 같은 날 같은 분야에 대해서 여러 연예기획사의 오디션을 볼 수도 있다. 오디션의 평가점수에 의해 등록된 연예기획사들로부터 지목된 짱들은 연예인으로써 하나의 등록된 연예기획사와 계약을 통해 연예인이 되는데, 이 때는 계약금계약 기간을 명시하도록 한다. 연예인이 되면, 코디매니저연락처를 추가로 관리한다. 10명 이상의 연예인을 관리하는 연예기획사가 각 시/도별로 사업자 등록이 가능하며 등록 시에는 등록번호가 주어지고, 회사 주소대표이름을 관리하도록 한다.

1. 요구사항에서, entity, attribute, relationship을 분석해 보자.
: 주민등록 번호, 이름
얼짱 : 코높이, 눈크기, 얼굴 비율
몸짱 : 키, 몸무게
노래짱 : 성량, 음역대
팬클럽 : 팬클럽 이름, (회장의 이름, 회장의 연락처)
연예기획사
등록 (연예인 10명 이상): 등록번호, 회사 주소, 대표이름.
=> 각 시/도 별로 등록이 가능하고 등록할 때 마다 등록번호가 주어지므로, multivalued attribute.
미등록 : x
오디션 : 시행된 날짜, 응시 분야, 평가 점수
=> 오디션은 연예기획사에서 주최하므로, 연예기획사를 owner entity로 하는 weak entity가 되어야 한다.
연예인 : 코디, 매니저, 연락처
=> 짱이 등록된 연예기획사와의 계약으로 연예인이 되므로,
짱을 owner entity로 하고, 계약을 owner relationship으로 하는 weak entity가 된다.

2. 애매하여 가정이 필요한 부분이 있는가?
(1) 연예기획사에 대하여.
10명 이상의 연예인이 있어야 등록이 가능하고, 짱들은 등록된 연예기획사의 오디션만 볼 수 있고, 오디션에 합격하면 계약하여 연예인이 될 수 있다. 이 등록된 연예기획사는 짱이 연예인이 되기 위한 유일한 등용문이기 전부터 연예인을 관리하여 등록된 기획사이며, 새로 생기는 기획사는 기존의 연예인을 10명 이상 다른 연예기획사로부터 스카웃 해와야 한다.
연예기획사는 기본적으로 회사 이름을 가지며, 같은 이름의 연예기획사가 두 개 이상 있을 수 없다.
(2) 오디션
오디션은 등록된 연예기획사만 주최할 수 있으며, 미등록 기획사는 주최할 수 없다. 왜냐하면, 짱들은 등록된 연예기획사에서만 오디션을 볼 수 있기 때문이다.
(3) 짱과 팬클럽
팬클럽을 가지지 않는 짱이 있을 수도 있다.

3. relationship을 뽑아내보자.
4. 모두 생략하고 걍 그려봤다.

1. 연예기획사 등록된 연예기획사와 미등록된 연예기획사로 나누는데,
미등록 연예기획사는 다른 기획사에 있는 연예인을 10명 이상 스카우트 해야만 등록이 가능하고,
등록 되기 전에는 DB에서 다루지 않는다.
2. 등록시의 문제로, 연예 기획사는 모두 다른 이름을 가지며, 이름과 대표이사 이름으로 관리한다.
3. 연예기획사는 시/도 별로 등록을 한 지사를 한 개 이상 가지고 있다.
각 지사는 회사 주소와 등록 번호로 관리되는데, 등록 번호로 지사를 identify할 수 있다.
4. 팬클럽을 가지지 않는 짱이 있을 수도 있다. 팬클럽은 한 짱에게 속하여 이름으로 구분된다.
5. 짱이더라도 오디션을 보지 않을 수도 있고, 등록된 연예기획사도 오디션을 주최하지 않을 수 있다.
6. 연예인은 오직 한 연예 기획사와만 계약을 할 수 있고, 짱은 꼭 얼짱, 몸짱, 노래짱 중에 하나 이상이다.
7. 오디션은 등록된 연예 기획사의 지사 아무 곳에서나 볼 수 있고,
그 기획사와의 계약은 모든 해당 회사의 모든 지사에서 유효하다.

<조교가 올려준 정답>

Posted by 스니