DB 공부중인데 관계대수 연산중에 합집합 부분에서 궁금한게 생겨서 질문드립니다..ㅠㅠ
DB 좀 아시면 대답좀 해주세요 ㅠㅠ
DB에서 합집합의 조건이 합병가능한 릴레이션이라고 되어있는데
합병가능한 릴레이션은
1. 차수(어트리뷰트의 수)가 같아야한다.
2. 대응 어트리뷰트 별로 도메인이 같아야한다.(어트리뷰트 이름도 서로 같아야하는것온 아니다.)
이렇게 되어있는데
여기서 2번의 저 어트리 뷰트의 이름이 서로 같아야하는것이 아니라면, 릴레이션 두개가
완전히 다른 두 릴레이션이 있다고했을때(단, 차수는 같고 대응되는 도메인은 같음)
1번 릴레이션 2번 릴레이션
A | B | C X | Y | Z
---------- --------------
a1 b1 c1 x1 y1 z1
a2 b2 c2 x2 y2 z2
a3 b3 c3 x3 y3 z3
이렇게 두 릴레이션이 있으면 이런경우에는
합집합의 결과 릴레이션이 어떻게 나오나요?
A B C 와 X Y Z는 각각 어트리뷰트이고 각각 대응되는 도메인은 같지만 속성이름은 다름
즉 예를들어 A가 INT 도메인이면 X도 INT 도메인이지만 A는 학번이고 B는 주민번호라던지 이런식으로..
이런식이면 합병가능 릴레이션이라는 조건을 만족하게 되는데.. 합집합을 하게되면
어트리뷰트 차수같은건 어떻게 되나요? 6개로 늘어나게되는건가요? 넘 궁금합니다 해결좀 해주십쇼 ㅠㅠ
학식숙제 ㅁㅈㅎ
뭔 숙제여,,혼자 공부하는거구만 --
이런거 실무에 도움안된다
그럴 수도 있겠지만 이거 이해가 안되니 집중이 잘안돼서요..학교 공부이기도한데 시험이랑은 좀 무관한데 의문이 생기니 궁금해 미치겠으여..
네임은 새로 정해줘야지, 여러가지 방법이 있는데 1번 릴레이션과 2번 릴레이션의 어트리뷰트 이름을 D E F로 바꿔준 다음 둘을 합치면 문제가 없겠지?
음 합집합 하기전에 일부러 그렇게 바꾸어 주어야하나요 저는 저 연산 그대로의 결과가 어떻게 되는지가 궁금한데..
어렵게 생각하지마라. korea라는 테이블에 이름, 성별이라는 어트리뷰트가 있고 us라는 테이블에 name, sex라는 어트리뷰트가 있다 치자. 회사의 합병으로 회원 테이블을 통합할때 새로운 이름을 정해주던지 기존 이름중에 하나를 고르면 그만이다.
결과는 3줄 + 3줄 이니까 6줄이 세로로 나오는거야.
만약, 첫번째 테이블이 이름, 성별이고 두번째 테이블이 이름, 주소인 경우 결과는 3개의 어트리뷰트를 가져야겠지.. 성별과 주소는 다른 속성이니까. 근데 이름이라는게 키로 쓸수도 있지만 동명이인 같은 경우가 있을수 있어서 키로 쓸수없다면 애초에 두개의 테이블의 합집합은 구할수 없는거고.. 내가 아까 했던 설명은 이름을 키로 쓸수 있다는 가정에서 한 말이야.
굉장히 상식적인 이야기를 책에선 어렵게 설명한건데, 그냥 상식적으로 생각해봐라. 별거 아니다.