헤더 테이블과 Item테이블의 차이는 먼가요?
Item테이블이 헤더테이블의 키값과 추가 키값이 들어있어서 헤더와 조인하여 사용하는것 같은데..
왜 헤더와 Item테이블을 나눈 건가요?? (제 짧은 생각 -->가장먼저 헤더테이블을 만들었다가 추가필드가 필요해서?? )
나눈다면 기준같은것이 있나요??
그리고 어떤item테이블은 clusted table로 만들어져있고 어떤 Item테이블은 transport 테이블로 만들어져있는데
왜 그런거죠??
테이블을 보다가 궁금해서 질문해봅니다.
댓글 11
-
버미!
2010.11.18 22:05
-
GeniuSH
2010.11.18 23:50
버미님 말씀 처럼 DB설계를 해 보시면 헤더와 아이템을 나누게 되는 이유를 누가 알려주지 않아도 알게 될거에요.
데이터의 접근과 수정 그리고 활용이 단일 데이터로 관리하는 것 보다 헤더와 아이템으로 구분하는 것이 용이 합니다.
-
언제나1등
2010.11.19 00:05
흠..일단은 데이터관리를 위해 나눈다고 이해해놓겠습니다.
그럼 헤더와 아이템의 차이는 먼가요???
-
기쁨
2010.11.19 00:39
헤더에 개미가 있으면
아이템에는 점프개미, 목수개미, 불개미, 검불개미, 레몬개미, 꿀단지개미, 짱구개미...가 있습니다.
-
버미!
2010.11.19 01:16
ㅋㅋㅋ...짱구개미... -
언제나1등
2010.11.19 02:09
아 그럼 상위 테이블이란 말이네요,, 그런데 제가 테이블 필드를 확인해보니깐 shipment table에서 헤더(142) 아이템(10),,,, 헤더 필드가 더 많은건 왜일까요?? 상위테이블 개념이면 헤더의 키값으로 아이템 필드를 검색하는게 더 좋게 아닌가요?
아님 비유를 빌리자면 ,,, 개미의 공통적이고 대표적인 정보 <--헤더
점프개미, 목수개미, 불개미등 개미의 부가적 정보<--아이템
이렇게 이해해도 되나요??
-
아밥 잭
2010.11.19 03:14
헤더없이 아이템에 데이터를 다 넣어도 상관은 없습니다. 하지만 공통적으로 들어가는 내용을
아이템에 다 넣으면 아템의 레코드길이가 길어져서 데이터의 공간을 많이 차지하겠지요.
그래서 공통으로 들어가는것은 헤더에 넣고, 다른내용이 하나 또는 그 이상을 헤더의키에다가
일련번호를 붙여서 아이템을 만들어서 사용합니다.
그리고 헤더가 있는데 아이템이 없으면 그건 무언인가 잘못된것입니다.
보통, 전표같은 테이블이 헤더와 아이템으로 구분되어 있습니다.
정보만 잘 보관되고 select할 때 문제가 없으면 구지 헤더,아이템 머 이런것은 필요없겠지요.
그러나 효율적인관리와 사용을 위해서는 필요합니다.
전문전인 답변인지 모르겠네요.....
-
맑은하늘
2010.11.19 03:30
네... 예를 다시 들어볼께요.
가족이 있습니다.
그럼 헤더에는 가족에 대한 공통요소들이 들어가겠죠.
가족 - 대한민국에 산다, 모든가족은 월세로 살고 있다, 구성원은 조부모, 부모, 자식3명 등등...
키(pk) 특성
-------------------- ---------------------------------------------------------------------------------
국적 지역 공통관심사 가족수 and so on
-------------------- ---------------------------------------------------------------------------------
무지게가족 대한민국 서울 주택마련 7
....
키(pk)는 가족1, 가족2, 등으로 일련번호로 잡거나, 무지개가족, 곰가족 등등 코드를 잡아서 기록할 수도 있을 거구요.
그리고 아이템에는 각 구성원이 들어가겠고, 각 구성원별 특성이 기록될 거에요.
구성원이 키가 되고 특성이 필드가 되겠죠.
무지개가족이라고 하면
키 특성
-------------------- ---------------------------------------------------------------------------------
이름 성별 나이 취미 and so on ...
-------------------- ---------------------------------------------------------------------------------
무지개가족, 할아버지 김봉수 남 75 데이트
무지개가족, 할머니 송은선 여 72 할아버지 괴롭히기
무지개가족, 아버지 김술광 남 47 골프
무지개가족, 어머니 신소연 여 43 뜨게질
무지개가족, 자식 1 김수완 남 18 축구
......
테이블 만든다면 그 특성별로 모아서 각 구성요소의 공통부분이 헤더가 될 거구요.
그 구성요소를 구성하는 각각에 대한 정보를 모은 것이 아이템이 될 거구요.
DB 를 만드는 것은 이처럼 현재에 존재하는 구성요소들을 집합화하는 것을 말하구요.
이를 특성별로 잘게 쪼개어 최적화시키는 과정을 정규화한다(nomalization)고 할 거예요.아마두요..
데이터베이스 개론본지 너무 오래되서 가물가물하네요.
위에 개미예도 언제나 1등님이 이해하신 것이 맞습니다.
단순히 개미의 종류별로 나눴는데요.
개미도 직업별로 세대별로 계급별로 기타등등으로 나눌수도 있겠죠.
뭐든 기본적으로 어떻게 분류할 것이냐를 정하고 하는 것이 좋을 거예요. ^^*
-
언제나1등
2010.11.19 03:57
개념 잡는데 도움이 많이 되었습니다.^^
답변 모두 감사합니다~~
-
날아라XG
2010.11.22 22:55
저도 잘 읽고 가요..덕분에 빠른 이해 ㅋ 감사합니다~
-
천사
2010.11.23 18:24
어떤item테이블은 clusted table로 만들어져있고 어떤 Item테이블은 transport 테이블로 만들어져있는데
왜 그런거죠??
이건 저도 궁금합니다. 알려 주세요....
1. DB 설계를 아시게 되면 왜 헤더와 아이템을 나누어서 테이블을 만들어야 하는 지 알게 될겁니다.
2. 여기 게시판에 검색해 보시면 답이 나올겁니다.