SQL 문제 질문 드립니다.
엔티티(entity)는 다음과 같습니다.
1) 학과(dept)는 학과명(dept-name), 학과 위치(dept-loc), 대표전화(dept-tel), 학과장명(dept-chief-name)으로 인식한다.
2) 교수(prof)는 주민등록번호(id-no), 이름(name), 학위(degree), 주소(address)로 인식한다.
3) 학생(student)은 학번(stud-no), 이름(name), 주소(address)로 인식한다.
4) 동아리(circle)는 동아리명(circle-name), 동아리위치(location), 전화번호(tel-no)로 인식한다.
5) 자격증(certificate)은 일련번호(serial-no), 자격증명(cert-name), 취득일(get-date)로 인식한다.
관계(relationship)
1) 학과(dept)와 교수(prof) 간에 일대다 관계(d-p)
2) 학과(dept)와 학생(student) 간에 일대다 관계(d-s)
3) 교수(prof)와 학생(student) 간에 일대다 관계(advisor)
4) 교수(prof)와 동아리(circle)간에 다대다 관계(circle-adviso)
5) 학생(student)과 동아리(circle) 간에 다대다 관계(circle-stud)
6) 학생(student)과 자격증(certificate) 간에 일대다 존재종속관계(s-c)
위 엔티티와 관계를 바탕으로 다음의 질의를 SQL로 풀어야 하는데 도와주실 분 있으신가요?
1) ‘홍길동’ 이란 학생이 속한 학과의 학과장명과 그 학과에 속한 교수명을 알고 싶다.
2) ‘홍길동’ 이란 학생이 가진 자격증명과 그가 속한 동호회명 및 해당 동아리의 지도교수명을 알고 싶다.
도와주시면 감사하겠습니다.
Entity-Relationship이 주어졌을 때
Entity-Relationship이 주어졌을 때 SQL을 사용하려면 Relational model로 옮겨야 합니다.
여기서 다 설명드리기는 좀 버겁고, Raghu Ramakrishnan와 Johannes Gehrke의 Database Management Systems 책을 추천합니다.
http://pages.cs.wisc.edu/~dbbook/
Chapter 3까지 한 100페이지 정도만 읽으면 주어진 문제를 Relational model로 바꿀 수 있게 될 겁니다.
거기서 80페이지 정도 더 읽어서 Chapter 5까지 떼면 문제를 스스로 끝까지 풀 수 있을 만큼 SQL를 공부하실 수 있고요.
물론 시간과 노력이 좀 필요합니다만, 학교 과제 같은 것도 아닌데 뭐 급하게 생각할 필요 있겠습니까.
하루에 어느 정도씩 공부할 수 있는지에 따라 다릅니다만 대충 2주에서 4주쯤 걸리지 않을까요.
그렇게 해서라도 문제를 스스로 풀 수 있게 되면 좋은 일이겠지요.
만일을 대비해서 질문 원본을 기록으로 남겨둡니다.
만일을 대비해서 질문 원본을 기록으로 남겨둡니다.
http://archive.is/7gW4u
댓글 달기