Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 구현
- 파이썬
- 그리디 알고리즘
- Python
- DFS
- oracle
- 깊이우선탐색
- 다이나믹 프로그래밍
- 문자열
- DP
- 그래프 이론
- SWEA
- 브루트포스
- BFS
- SW Expert Academy
- 백트래킹
- 완전탐색
- 다익스트라
- 너비 우선 탐색
- 오라클
- 자바스크립트
- 그래프 탐색
- 브루트포스 알고리즘
- 백준알고리즘
- 스택
- 프로그래머스
- 너비우선탐색
- 데이터베이스
- javascript
- 백준 알고리즘
Archives
- Today
- Total
민규의 흔적
[오라클 DB] 질의에 대한 관계 대수식 표현 예제 본문
Q. 다음 릴레이션 스키마를 보고 질의에 관계 대수식으로 표현하시오.
CUSTOMER(CUSTOMER_ID, NAME, ADDRESS, PHONE)
VIDEO(VIDEO_ID, TITLE, GENRE)
RESERVED(CUSTOMER_ID, VIDEO_ID, DATE)
Q1. 제목이 ‘Avartar’인 비디오 테이프의 장르를 검색하시오.
비디오 릴레이션에서 제목이 'Avartar'인 영화를 추출해 결과 릴레이션을 도출하고, 해당 결과 릴레이션의 장르 애트리뷰트로 구성된 튜플을 구하면 된다.
Q2. 예약되지 않은 비디오 테이프의 ID를 검색하시오.
비디오 릴레이션에서 VIDEO_ID 애트리뷰트로 구성된 모든 튜플을 뽑은 릴레이션에서, 예약 릴레이션에 존재하는 모든 VIDEO_ID 애트리뷰트로 구성된 모든 튜플을 뽑은 릴레이션을 차집합 연산하면 결과 릴레이션은 예약되지 않은 비디오 ID로 구성된 릴레이션이 남을 것이다.
Q3. 비디오 테이프를 예약한 고객의 이름과 전화번호를 검색하시오.
손님 릴레이션과 예약 릴레이션을 자연 조인한 결과 릴레이션은 예약한 손님들에 대한 튜플 정보들의 집합인 릴레이션일 것이다.
해당 결과 릴레이션에서 NAME과 PHONE 애트리뷰트로 구성된 튜플을 구하면 비디오 테이프를 예약한 고객의 이름과 전화번호 정보로 구성된 릴레이션이 남을 것이다.
Q4. 장르가 'Action'인 비디오 테이프를 예약한 고객의 주소를 검색하시오.
이번 문제는 단위 문제로 접근하였다.
R1 릴레이션 : 장르가 ACTION인 비디오 릴레이션
R2 릴레이션 : 장르가 액션인 비디오를 예약한 데이터 릴레이션
R3 릴레이션 : 장르가 액션인 비디오를 예약한 고객 데이터 및 예약 데이터 릴레이션
R4 릴레이션 : 장르가 액션인 비디오를 예약한 고객 데이터 및 예약 데이터 릴레이션에서, ADDRESS 애트리뷰트 값을 프로젝션한 튜플들의 집합 릴레이션
'데이터베이스' 카테고리의 다른 글
[오라클 DB] 데이터 정의어(DDL) (0) | 2023.10.18 |
---|---|
[오라클 DB] SQL 개요 (0) | 2023.10.18 |
[오라클 DB] 관계 대수 연산자 - 순수 관계 연산자 (2) | 2023.10.18 |
[오라클 DB] 관계 대수 연산자 - 일반 집합 연산자 (0) | 2023.10.18 |
[오라클 DB] 관계 데이터 모델과 관계 대수의 기본 개념 (0) | 2023.10.18 |