database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27874 게시물 읽기
No. 27874
초보 디자인 질문
작성자
우세연(w2share)
작성일
2008-11-18 09:12
조회수
3,996

국가, 영화, 제목, 제작연도, 배우


이런 데이터가 있을때요 처음에는 디자인하기 간단하겠다 싶었는데요 갑자기 딱 막히네요.


국가 (국가ID)

영화 (영화ID, 제목, 제작연도, 국가ID)

배우 (배우ID, 이름, 생년월일, 국가ID, 영화ID)


이렇게 할경우

배우의 테이블에서는 같은 배우를 각각 다른 배우ID 로 출연한 영화ID 마다 따로 해야하나요?

제가 너무 초보라서 황당한 질문일것 같습니다. 

어떤식으로 디자인 하는것이 좋을지 도움을 얻고 싶습니다.

이 글에 대한 댓글이 총 2건 있습니다.

안녕하세용 오늘도 좋은 아침입니다. 

Table 설계를 하시는군요.... 설계는 하면 할수록 어렵다는...orz


쉽게 생각해서 

각 각의 객체를 먼저 잡으시구요  (이게 테이블이 되겠구요)

그 객체에서 가지는 데이터를 생각합니다. (이게 컬럼이죠)

그리고 각 컬럼별로 Type을 생각해주시구요...


그럼 끝이죠.. ^^;; 쉽죠..(물런 정규화는 해주셔야됩니다 ^^;;)

-------------------------------------------------------------
배우(배우ID(PK), 이름, 생년월일, 국가ID(FK))

영화(영화ID(PK), 영화이름, 제작연도)

출연작 (출연작ID(PK), 배우ID(FK), 영화ID(FK))

국가(국가ID(PK), 국가명)
--------------------------------------------------------------

이정도 되겠네요.. 

초기 작성버전에는 배우하나당 영화ID가 하나만 들어가기 때문에 이렇게 분리를했지요..

또한, FK를 건다고 해서 INDEX가 걸리지 않으니 Index또한 고려하시기 바랍니다. 

급조한 테이블 스키마라 완벽하지 않습니다. 설계는 사람마다 다르게 나오니까요 ^^;

조금더 생각해보고 고려해 보시기 바랍니다. ^^


좋은하루 되시길..

박성원(darkancia)님이 2008-11-18 09:53에 작성한 댓글입니다.
이 댓글은 2008-11-18 09:55에 마지막으로 수정되었습니다.

비슷한 내용으로 설계를 해본 적이 있습니다.

 

그런데 실세계에는 미처 생각치 못한 경우가 허다하게 있었습니다... -_-;;

 

-. 최소한 제가 요구받았던 스키마에는 영화에도 국적이 있습니다.(개인적으로 김개똥이 주연하고 나까무라가 감독했는데 제작사는 hollywood인 영화가 나오면 어떻게 정할지 좀 궁금하긴 했지만요, ^^;; )

-. 미처 생각하지 못했던 부분 중에 하나는 실세계에는 2중 국적 내지는 다중 국적이 허락되는 경우가 있더군요.

-. 이름도 성룡, jacky chan, 成龍 식으로 각각을 저장해야 되는 경우도 발생해서 '이름테이블을 아예 따로떼?', '걍 비정규화해서 한 컬럼에 다 때려 넣어?' 고민도 해봤습니다.(영화 제목도 마찬가지입니다.)

-. 원본은 하난데 상영시 영어+한글자막, 한국어더빙 식으로 나뉘어지는 경우, 예전에 개봉했었는데 무슨 상탔다고 다시 상영하는 경우, 스타워즈처럼 리마스터링해서 또 나오는 경우 등등으로 실제 상영정보도 가져가야 되는 경우에는 서로 다른 ID를 갖어야 되기도 해서 영화자체에 대한 테이블과 상영시 붙을 수 있는 옵션을 담는 테이블 따로 떼어냈었습니다.

-. 위에 답변에서의 출연작 테이블처럼 생겼지만 배우ID + 영화ID로 PK를 걸었는데 출연작의 경우에는 영화 내에서 무슨 배역이었는지도 저장하는 것도 문제는 없을 거라고 생각했는데 1인 다역의 경우가 발생해서 PK를 바꿔버린 경우도 있었습니다.

-. 007시리즈 같이 서로간에 엮어줘야 하는 부분도 있었습니다.

 

뭐 시간이 꽤 흘러서 디테일하게는 기억나지 않지만 저놈의 영화라는 게 파다 보면 (원래의 요구사항에는 절대 없었던!!!) 폭탄이 사방군데에서 펑펑 터져나오더라구요. ^^;;

우욱님이 2008-11-20 02:38에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27877프로시저 질문입니다!! 공부 좀 하게 도와주세요!!ㅜㅜ
이주형
2008-11-21
4018
27876다음 두가지의 디비 구조에서 어느것이 더 빠를까요? [1]
써니~~
2008-11-18
4361
27875[잡담]우어어어.. [2]
박성원
2008-11-18
4040
27874초보 디자인 질문 [2]
우세연
2008-11-18
3996
278731433포트를 사용하려고 합니다. [2]
서로로로롱
2008-11-16
4858
27872테이블 생성이 안됩니다 [1]
검객
2008-11-14
4641
27871미러링후.. [1]
이성식
2008-11-14
3994
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다