1. 관계 데이터베이스에서 아래의 sample table을 참조하여 합집합, 교집합, 차집합, 카티션프로덕트, 실렉트, 프로젝트, 조인, 디비젼의 예를 만들고 답을 쓰시오. (예: S1과 S2의 합집합, A와 B의 디비젼에 대한 결과)
sample table S1
sid |
sname |
rating |
age |
22 |
Dustin |
7 |
45.0 |
31 |
Lubber |
8 |
55.5 |
58 |
Rusty |
10 |
35.0 |
sample table S2
sid |
sname |
rating |
age |
28 |
yuppy |
9 |
35.0 |
31 |
Lubber |
8 |
55.5 |
44 |
guppy |
5 |
35.0 |
58 |
Rusty |
10 |
35.0 |
sample table R1
sid |
bid |
day |
22 |
101 |
10/10/96 |
58 |
103 |
11/12/96 |
sample table A, B
sno |
pno |
s1 |
p1 |
s1 |
p2 |
s1 |
p3 |
s1 |
p4 |
s2 |
p1 |
s2 |
p2 |
s3 |
p2 |
s4 |
p2 |
s4 |
p4 |
pno |
p1 |
p2 |
p4 |
합집합, 교집합, 차집합, 카티션프로덕트, 실렉트, 프로젝트, 조인, 디비젼
1. 합집합 (S1 ∪ S2)
sid |
sname |
rating |
age |
22 |
Dustin |
7 |
45.0 |
31 |
Lubber |
8 |
55.5 |
58 |
Rusty |
10 |
35.0 |
28 |
yuppy |
9 |
35.0 |
44 |
guppy |
5 |
35.0 |
2. 교집합 (S1 ∩ S2)
sid |
sname |
rating |
age |
31 |
Lubber |
8 |
55.5 |
58 |
Rusty |
10 |
35.0 |
3. 차집합 (S1 - S2)
sid |
sname |
rating |
age |
22 |
Dustin |
7 |
45.0 |
4. Cartesian Product(S1 x S2)
sid |
sname |
rating |
age |
sid |
sname |
rating |
age |
22 |
Dustin |
7 |
45.0 |
28 |
yuppy |
9 |
35.0 |
22 |
Dustin |
7 |
45.0 |
31 |
Lubber |
8 |
55.5 |
22 |
Dustin |
7 |
45.0 |
44 |
guppy |
5 |
35.0 |
22 |
Dustin |
7 |
45.0 |
58 |
Rusty |
10 |
35.0 |
31 |
Lubber |
8 |
55.5 |
28 |
yuppy |
9 |
35.0 |
31 |
Lubber |
8 |
55.5 |
31 |
Lubber |
8 |
55.5 |
31 |
Lubber |
8 |
55.5 |
44 |
guppy |
5 |
35.0 |
31 |
Lubber |
8 |
55.5 |
58 |
Rusty |
10 |
35.0 |
58 |
Rusty |
10 |
35.0 |
28 |
yuppy |
9 |
35.0 |
58 |
Rusty |
10 |
35.0 |
31 |
Lubber |
8 |
55.5 |
58 |
Rusty |
10 |
35.0 |
44 |
guppy |
5 |
35.0 |
58 |
Rusty |
10 |
35.0 |
58 |
Rusty |
10 |
35.0 |
5. Select(∑age>=45.0(S1, S2))
- SQL:>select * from S1, S2 where age>=45.0;
sid |
sname |
rating |
age |
22 |
Dustin |
7 |
45.0 |
31 |
Lubber |
8 |
55.5 |
6. Project(∏sid,rating(S2))
-SQL:>select sid, rating from S2;
sid |
rating |
28 |
9 |
31 |
8 |
44 |
5 |
58 |
10 |
7. JOIN(S1∞R1)
-SQL:>select * from S1, R1 where S1.sid=R1.sid;
S1.sid |
sname |
rating |
age |
R1.sid |
bid |
day |
22 |
Dustin |
7 |
45.0 |
22 |
101 |
10/10/96 |
58 |
Rusty |
10 |
35.0 |
58 |
103 |
11/12/96 |
8. DEVISION(A÷B)
sno |
s1 |
9. SQL Query
* rating >9 이상이고 S1.sid=S2.sid 일 때 rating=11 값으로 수정..
-update S1
set rating=11
where rating>9 AND (select rating from S2 where rating>9)>9
AND sid IN (select sid from S2);
ER-WIN
1. 어떤 대학의 데이터베이스는 교수들(ssn으로 식별)과 과목(courseid로 식별)에 대한 정보를 포함한다. 교수는 과목을 강의한다. 다음의 각 상황이 Teaches 관계 집합과 관계된다. 각 상황에 대하여, (더 이상의 제약조건들은 없다고 가정하고) 그것을 기술하는 ER 다이어그램을 작성하시오.
1) 교수는 같은 과목을 여러 학기에 걸쳐 강의할 수 있으며, 각 개설학기는 기록되어야 한다.
2) 교수는 같은 과목을 여러 학기에 걸쳐 강의할 수 있으며, 가장 최근의 개설학기만 기록될 필요가 있다.(이 조건이 다음의 모든 질문에 똑같이 적용된다고 가정한다).
3) 모든 교수들은 어떤 과목을 반드시 강의하여야 한다.
4) 각 교수들은 오직 한 과목만을 강의한다.
5) 각 교수들은 오직 한 과목만을 강의하며, 각 과목은 어떤 교수에 의해 반드시 강의되어야 한다.
6) 어떤 과목은 교수들의 팀에 의하여 공동으로 강의될 수 있으나, 한 팀에 있는 어느 교수도 이 과목을 혼자서는 가르칠 수 없다.
2. 한 대학 데이터베이스에 관하여 다음과 같은 정보를 고려해 보자.
1) 교수는 ssn, 이름, 나이, 등급, 연구분야를 가지고 있다.
2) 프로젝트는 프로젝트번호, 지원기관(예, 공학재단), 시작일, 종료일, 예산액이 있다.
3) 대학원생은 ssn, 이름, 나이, 학위과정(예, 석사, 박사)을 가지고 있다.
4) 각 프로젝트는 한 명의 교수(그 프로젝트의 책임연구자)에 의해서 관리된다.
5) 각 프로젝트는 한 명 이상의 교수들(그 프로젝트의 책임연구자)에 의해 수행된다.
6) 교수는 여러 프로젝트를 관리할 수 있고 수행할 수도 있다.
7) 각 프로젝트는 한 명 이상의 대학원생들(그 프로젝트의 연구조교들)에 의해 수행된다.
8) 대학원생들이 어떤 프로젝트를 수행할 때에는, 한 명의 교수가 그 프로젝트에 대해 그들의 연구를 감독해야 한다. 대학원생들은 여러 프로젝트를 수행할 수 있으며, 각 수행 프로젝트마다 한명의 감독자가 있어야 한다.
9) 학과는 학과번호, 학과이름, 학과사무실이 있다.
10) 학과는 그 학과를 운영하는 한 명의 교수(학과장)가 있다.
11) 교수들은 하나 이상의 학과에서 근무하고, 근무하는 각 학과별 시간 비율이 그들의 업무와 관련되어 있다.
12) 대학원생들은 그들이 학위 과정을 수행하는 전공학과를 두고 있다.
13) 각 대학원생들은 어떤 과목을 수강할지를 조언하는 선배 대학원생(학생조언자)을 두고 있다.
3. 어떤 회사의 데이터베이스는 (ssn으로 식별되고, 애트리뷰트 salary와 phone을 갖는) 직원, (dno로 식별되고, 애트리뷰트 dname과 budget을 갖는) 부서, 직원의 (애트리뷰트 name과 age를 갖는)자녀들에 대한 정보를 저장하려고 한다. 직원은 부서에서 근무하고 각 부서는 한 직원에 의해 관리된다. 한 자녀는 그 부모(직원이며 한 명의 부모만이 그 회사에서 근무한다고 가정)를 알면 name으로 유일하게 식별되어야 한다. 일단 그 부모가 회사를 떠나면 그 자녀에 대한 정보는 더 이상 필요하지 않다.
4. 전산학과에서 비행기 여행을 자주하는 사람들이 Dane Country Airport 당국에게 그 공항의 서투른 조직 구성에 대하여 불평을 해왔다. 이 결과로, 공항 당국은 그 공항에 관련된 모든 정보가 DBMS를 이용하여 구성되어야 한다고 결정했고, 여러분은 그 데이터베이스를 설계하도록 고용되었다. 여러분의 첫 번째 임무는 그 공항에 배치되어 관리되는 모든 비행기에 대한 정보를 구성하는 것이다. 관련 정보는 다음과 같다.
1) 비행기마다 등록번호가 있으며, 각 비행기는 특정한 모델에 속한다.
2) 그 공항은 여러 비행기 모델을 수용하는데, 각 모델은 모델번호(예, DC-10)로 식별되며 용량(좌석 수)과 중량이 있다.
3) 여러 기술자들이 그 공항에 근무한다. 각 기술자의 이름, ssn, 주소, 전화번호, 봉급을 저장한다.
4) 각 기술자는 하나 이상의 비행기 모델의 전문가이며, 그(그녀)의 전문 분야는 다른 기술자들의 전문 분야와 중복될 수 있다. 기술자들에 대한 이러한 정보도 기록되어야 한다.
5) 항공 관제사들은 매년 의료 진단을 받아야 한다. 각 항공 관제사에 대하여, 가장 최근의 진단 일자를 저장해야 한다.
http://cafe.daum.net/goerrorzero/EOxb/47
'정보기술의 샘터........о♡ > 시스템분석&디자인' 카테고리의 다른 글
국내 SCI 및 SCI-E 논문집 (0) | 2008.09.22 |
---|---|
SOC (0) | 2008.09.19 |
세계 IT시장은 지금 클라우드 컴퓨팅 열풍 (0) | 2008.08.27 |
최소한의 교수임용 기본조건 (0) | 2008.06.26 |
전국 333개대 교수 논문 한 눈에 본다 (0) | 2008.06.26 |