4장. 관계 대수와 SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어

Slides:



Advertisements
Similar presentations
시모노세키 및 하카타 (CJ, YS) 실제수출비용 비교분석표 시모노세키 및 하카타 (CJ, YS) 실제수출비용 비교분석표 ㈜케이로즈 사무국.
Advertisements

수학 일기 제 1 라운드 스피드 퀴즈 피타고라스 수학책 1. 구장산술 2. 주비산경 3. 차근방몽구 4. 기하학원론 5. 산술관견.
교회를 교회되게 예밸 예배되게 우릴 사용 하소서 진정한 부흥의 날 오늘 임하도록 우릴 사용 하소서
교회를 교회되게 예밸 예배되게 우릴 사용 하소서 진정한 부흥의 날 오늘 임하도록 우릴 사용 하소서
2015년 창업기업 ICT개발기술 해외현지화 지원사업 사업계획서 작성방법
19.(코드+년도+월)별,(코드)별,전체총액을 한번에
Mathematics for Computer Graphics
3장. 디지털 회로 Lecture #3.
Perfect! 대용량 데이터베이스 튜닝Ⅱ.
2017 법인관련 개정세법 곽장미 세무사.
실전 데이터모델링 & 데이터베이스 설계와 구축
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
제2장 부울대수와 논리 게이트 내용 2.1 논리신호 2.2 기본 논리함수 : NOT 게이트(INV 게이트)/ AND 게이트/ OR 게이트 2.3 부울대수 : 부울대수의 정의와 사용 / 부울대수의 기본법칙/ 쌍대성/ 드모르강 정리 2.4 만능 게이트 : NAND.
Chapter 02. 데이터 모델링.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
대용량 데이터베이스 솔루션 발표자: 박보영 2007년 5월19일.
오라클 데이터베이스 성능 튜닝.
Chapter 5 SQL: 확장된 질의, 주장, 트리거, 뷰.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
5 불 대수 IT CookBook, 디지털 논리회로.
Information Technology
관계 데이타 모델 (Relational Data Model)
질의처리 최적화 충북대학교 정보통신공학부 복경수
논리회로 설계 기초 (1) Lecture #1.
부울대수(Boolean Algebra)
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
1장. 디지털 논리 회로 다루는 내용 논리 게이트 부울 대수 조합 논리회로 순차 논리회로.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
이산수학(Discrete Mathematics) 수학적 귀납법 (Mathematical Induction)
9 장. 관계 데이터베이스의 함수적 종속성과 정규화
Chapter 4 – 연 산 자 Outline 4.1 산술 연산자 4.2 관계 연산자 4.3 동등 연산자 4.4 논리 연산자
질의처리(Query Processing)와 최적화(Optimization)
DP-ORA 쿼리 최적화 가이드 쿼리 최적화 방법 2014년 7월.
컴퓨터 구조 2장. 논리회로의 활용.
SQL.
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
5. 관계대수와 관계해석 관계자료 연산(operation)
제 4 장 관계 데이터 연산 1. 개요 2. 관계 대수 3. 관계 해석.
관계 해석(Relational Calculus)
Tree & Heap SANGJI University Kwangman Ko
CHAP 7:트리 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
Chapter 3: Introduction to SQL
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
Sql & DB
CHAP 7:트리 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
View(뷰) 1 가상 테이블(Virtual Relation)
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
(주)아이티아이에스 각 분야별 신입/경력사원 모집
Database 중고차 매매 DB 비즈니스IT 윤동섭.
관계 해석(Relational Calculus)
DIAT 스프레드시트 작성방법 한국정보통신진흥협회.
Microsoft Office Specialist
4. 관계 데이터 모델.
관계 기본 개념 관계의 표현 관계의 성질 관계의 연산 관계의 폐포 동치 관계 부분순서 관계.
학습목표 학습목표 본 장은 데이터베이스를 구성하는 개체, 속성, 관계 등을 다룬다. 특별히 데이터베이스의 구조를 테이블에 기초하여 조직하는 관계 데이터 모델은 개체(entity)와 관계(relationship) 들이 테이블의 집합 형태로 되어 간단하고 이해하기 쉬우며.
Chapter 5. 자료의 연산과 논리회로 e-learning Computers.
06. SQL 명지대학교 ICT 융합대학 김정호.
2010년 연말정산 교육자료 센터운영팀 인사파트
데이터베이스 (Database) 관계 대수와 관계 해석 (Part 1) 문양세 강원대학교 IT대학 컴퓨터과학전공.
이산수학(Discrete Mathematics)
Chapter 07 트리.
시외버스 안내방송 연결 메뉴얼 DAEWOO BS106 안내방송 배선 연결도[2008년 이후 모델]
7장 테이블 조인하기.
쿼리 활용하기 1 담당교수 : 박흠 실용컴퓨터 데이터베이스 기초 Access 담당교수 박흠.
Chapter 3. 집합론.
Instruction to Computer
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
Presentation transcript:

4장. 관계 대수와 SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어 관계 해석(relational calculus) 어떻게 검색할 것인가 보다 무엇을 검색할 것인가 만을 기술하는 선언적 언어 투플 관계 해석(tuple relational calculus)와 도메인 관계 해석(domain relational calculus) 관계 대수(relational algebra) 어떻게 질의를 수행할 것인가를 명시하는 절차적 인어 관계 대수는 SQL을 구현하고 최적화하기 위해 DBMS의 내부 언어로서도 사용됨 관계 해석과 관계 대수는 표현 방법의 차이는 있지만 그 표현 능력에 있어서는 동등 (logically equivalent) 4장. 관계 대수와 SQL

4.1 관계 대수 관계 대수 일반적으로 대수학은 연산자(operator)와 원자성의 피연산자(operand) 로 구성 (x+y) * z 또는 ((x+7)/(y-3)) + x 관계 대수학은 대수학의 또 다른 예 관계 대수는 릴레이션을 처리하기 위한 연산의 집합으로 각 연산의 피연산자가 모두 릴레이션이고 연산 결과도 또한 릴레이션이라는 특성을 갖는다 전통적인 관계 대수학의 연산은 크게 네 가지로 분류 집합 연산: 합 집합, 교 집합, 차 집합 제거 연산: selection, projection 합 연산: Cartesian product, join 재명명(renaming) 연산 릴레이션이나 관계 대수식(이것의 결과도 릴레이션)에 연산자들을 적용하여 보다 복잡한 관계 대수식을 점차적으로 만들 수 있음 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) selection 연산자 결과 릴레이션의 카디날리티는 항상 원래 릴레이션의 카디날리티보다 작거나 같음 selection 조건을 predicate라고도 함 selection 조건은 일반적으로 릴레이션의 임의의 애트리뷰트와 상수, = , <>, <=, <, >=, > 등의 비교 연산자, AND, OR, NOT 등의 부울 연산자를 포함할 수 있음 형식: σ<selection 조건) (R) <속성> 비교연산자 <상수>, <속성> 비교연산자 <속성> <조건> AND <조건>, <조건> OR <조건>, NOT <조건> 4장. 관계 대수와 SQL

4.1 관계 대수(계속) selection 연산자(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) projection 연산자 한 릴레이션의 애트리뷰트들의 부분 집합을 구함 selection의 결과 릴레이션에는 중복 투플이 존재할 수 없지만, projection 연산의 결과 릴레이션에는 중복된 투플들이 존재할 수 있음 형식: Π<속성 리스트> (R) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 집합 연산자 합집합 호환 릴레이션이 투플들의 집합이기 때문에 기존의 집합 연산이 릴레이션에 적용됨 세 가지 집합 연산자: 합집합, 교집합, 차집합 연산자 집합 연산자들은 두 개의 릴레이션을 입력으로 받아들이므로 이항 연산자 집합 연산자의 입력으로 사용되는 두 개의 릴레이션은 합집합 호환(union compatible)이어야 함 합집합 호환 두 릴레이션 R1(A1, A2, ..., An)과 R2(B1, B2, ..., Bm)이 합집합 호환일 필요 충분 조건은 n=m이고, 모든 1<=i<=n에 대해 domain(Ai)=domain(Bi) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 합집합 연산자 두 릴레이션 R과 S의 합집합 R ∪ S는 R 또는 S에 있거나 R과 S 모두에 속한 투플들로 이루어진 릴레이션 결과 릴레이션에서 중복된 투플들은 제외됨 결과 릴레이션의 차수는 R 또는 S의 차수와 같으며, 결과 릴레이션의 애트리뷰트 이름들은 R의 애트리뷰트들의 이름과 같거나 S의 애트리뷰트들의 이름과 같음 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 교집합 연산자 두 릴레이션 R과 S의 교집합 R ∩ S는 R과 S 모두에 속한 투플들로 이루어진 릴레이션 결과 릴레이션의 차수는 R 또는 S의 차수와 같으며, 결과 릴레이션의 애트리뷰트 이름들은 R의 애트리뷰트들의 이름과 같거나 S의 애트리뷰트들의 이름과 같음 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 차집합 연산자 두 릴레이션 R과 S의 차집합 R - S는 R에는 속하지만 S에는 속하지 않은 투플들로 이루어진 릴레이션 결과 릴레이션의 차수는 R 또는 S의 차수와 같으며, 결과 릴레이션의 애트리뷰트 이름들은 R의 애트리뷰트들의 이름과 같거나 S의 애트리뷰트들의 이름과 같음 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 카티션 곱 연산자 카디날리티가 i인 릴레이션 R(A1, A2, ..., An)과 카디날리티가 j인 릴레이션 S(B1, B2, ..., Bm)의 카티션 곱 R × S는 차수가 n+m이고, 카디날리티가 i*j이고, 애트리뷰트가 (A1, A2, ..., An, B1, B2, ..., Bm)이며, R과 S의 투플들의 모든 가능한 조합으로 이루어진 릴레이션 카티션 곱의 결과 릴레이션의 크기가 매우 클 수 있으며, 사용자가 실제로 원하는 것은 카티션 곱의 결과 릴레이션의 일부인 경우가 대부분이므로 카티션 곱 자체는 유용한 연산자가 아님 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 관계 대수의 완전성 합집합, 교집합, 카티션 프로덕트 연산들은 결합적(associative) 성질 (RUS)UT = RU(SUT) = RUSUT (R∩S) ∩T = R ∩(S ∩T) = R ∩S ∩T (RXS)XT = RX(SXT)=RXSXT 합집합, 교집합, 카티션 프로덕트 연산들은 교환적(commutative) 성질 RUS =SUR, R ∩S = S ∩R, RXS = SXR 이러한 성질은 관계 데이터를 처리하는 과정에서 최적화 할 때 이용할 수 있다 관계 대수의 완전성 selection, projection, 합집합, 차집합, 카티션 곱은 관계 대수의 필수적인 연산자 다른 관계 연산자들은 필수적인 관계 연산자를 두 개 이상 조합하여 표현할 수 있음 임의의 질의어가 적어도 필수적인 관계 대수 연산자들만큼의 표현력을 갖고 있으면 관계적으로 완전(relationally complete)하다고 말함 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 조인 연산자 세타 조인과 동등 조인 두 개의 릴레이션으로부터 연관된 투플들을 결합하는 연산자 관계 데이터베이스에서 두 개 이상의 릴레이션들의 관계를 다루는데 매우 중요한 연산자 세타 조인(theta join), 동등 조인(equijoin), 자연 조인(natural join), 외부 조인(outer join), 세미 조인(semijoin) 등 세타 조인과 동등 조인 두 릴레이션 R(A1, A2, ..., An)과 S(B1, B2, ..., Bm)의 세타 조인의 결과는 차수가 n+m이고, 애트리뷰트가 (A1, A2, ..., An, B1, B2, ..., Bm)이며, 조인 조건을 만족하는 투플들로 이루어진 릴레이션 세타는 {=, <>, <=, <, >=, >} 중의 하나 동등 조인은 세타 조인 중에서 비교 연산자가 =인 조인 형식: R R.속성=S.속성 S 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 자연 조인 동등 조인의 결과 릴레이션에서 조인 애트리뷰트를 한 개 제외한 조인 여러 가지 조인 연산자들 중에서 가장 자주 사용됨 실제로 관계 데이터베이스에서 대부분의 질의는 selection, projection, 자연 조인으로 표현 가능 형식: R * <R.속성, S.속성> S 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 디비전 연산자 차수가 n+m인 릴레이션 R(A1, A2, ..., An, B1, B2, ..., Bm)과 차수가 m인 릴레이션 S(B1, B2, ..., Bm)의 디비전 R ÷ S는 차수가 n이고, S에 속하는 모든 투플 u에 대하여 투플 tu(투플 t와 투플 u을 결합한 것)가 R에 존재하는 투플 t들의 집합 형식: R S 4장. 관계 대수와 SQL

4.1 관계 대수(계속) ÷ = T1 = ∩B(R) T2 = ∩B((S × T1) - R) T = T1 – T2 R(Z) ÷ S(X)는 다음과 같이 정의됨 ( X⊆Z 이고, Y=Z-X 임) - T1 – ∩Y(R) - T2 = ∩Y((S × T1) - R) - T = T1 – T2 예 R A B a1 b1 a2 b1 a3 b1 a4 b1 a1 b2 a3 b2 a2 b3 a3 b3 a4 b3 a1 b4 a2 b4 a3 b4 S A a1 a2 a3 T B b1 b4 ÷ = T1 = ∩B(R) T2 = ∩B((S × T1) - R) T = T1 – T2 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 개명 연산 (RENAME, ρ) 중간 결과 릴레이션에 이름을 지정하거나 애트리뷰트 이름을 변경할 때 사용 ρS(E) 관계 대수식 E의 결과 릴레이션의 이름을 S로 지정 ρS(B1,B2, … ,Bm )(E) 관계 대수식 E의 결과 릴레이션의 이름을 S로 지정하면서 애트리뷰트 이름을 각각 B1,B2, … ,Bm 으로 변경 ρ(B1,B2, … ,Bm )(R) 릴레이션 R의 애트리뷰트 이름을 각각 B1,B2, … ,Bm 으로 변경 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 다수의 연산을 결합하여 관계 대수식(질의) 형성할 수 있음 부서 4에서 일하는 사원들의 이름과 봉급을 검색하라 ΠFNAME,LNAME,SALARY (σDNO=4(EMPLOYEE)) 각 중단 단계의 임시 릴레이션에 이름을 부여할 수도 있음 DEPT4_EMPS <- σDNO=4(EMPLOYEE)) R <- ΠFNAME,LNAME,SALARY (DEPT4_EMPS) 관계 대수 질의의 예 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 관계 대수의 한계 관계 대수는 산술 연산을 할 수 없음 집단 함수(aggregate function)를 지원하지 않음 정렬을 나타낼 수 없음 데이터베이스를 수정할 수 없음 projection 연산의 결과에 중복된 투플을 나타내는 것이 필요할 때가 있는데 이를 명시하지 못함 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 추가된 관계 대수 연산자 집단 함수 SUM, AVG, MAX, MIN, COUNT 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 추가된 관계 대수 연산자(계속) 그룹화 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 추가된 관계 대수 연산자(계속) 외부 조인 조인 할 때 상대 릴레이션에서 대응되는 투플을 갖지 못하는 투플이나 조인 애트리뷰트에 널값이 들어 있는 투플들을 다루기 위해서 조인 연산을 확장한 조인 두 릴레이션에서 대응되는 투플들을 결합하면서, 대응되는 투플을 갖지 않는 투플과 조인 애트리뷰트에 널값을 갖는 투플도 결과에 포함시킴 왼쪽 외부 조인(left outer join), 오른쪽 외부 조인(right outer join), 완전 외부 조인(full outer join) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 왼쪽 외부 조인 오른쪽 외부 조인 릴레이션 R과 S의 왼쪽 외부 조인 연산은 R의 모든 투플들을 결과에 포함시키고, 만일 릴레이션 S에 관련된 투플이 없으면 결과 릴레이션에서 릴레이션 S의 애트리뷰트들은 널값으로 채움 오른쪽 외부 조인 릴레이션 R와 S의 오른쪽 외부 조인 연산은 S의 모든 투플들을 결과에 포함시키고, 만일 릴레이션 R에 관련된 투플이 없으면 결과 릴레이션에서 릴레이션 R의 애트리뷰트들은 널값으로 채움 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 4장. 관계 대수와 SQL

4.1 관계 대수(계속) 완전 외부 조인 릴레이션 R와 S의 완전 외부 조인 연산은 R과 S의 모든 투플들을 결과에 포함시키고, 만일 상대 릴레이션에 관련된 투플이 없으면 결과 릴레이션에서 상대 릴레이션의 애트리뷰트들은 널값으로 채움 4장. 관계 대수와 SQL