1 / 27

학습목표

학습목표. 학습목표.

Download Presentation

학습목표

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 학습목표 학습목표 본 장은 데이터베이스를 구성하는 개체, 속성, 관계 등을 다룬다. 특별히 데이터베이스의 구조를테이블에 기초하여 조직하는 관계 데이터 모델은 개체(entity)와 관계(relationship) 들이 테이블의 집합 형태로 되어 간단하고 이해하기 쉬우며 사용자는 개체들 간의 관계의 유형이나 관계의 방향성 등을 알 필요 없이 데이터에 접근이 용이하다.본 장은관계 데이터 모델에 대해 자세히 소개하고 관계 데이터 모델을 다루기 위한 관계 대수의 여러 가지 연산 등을 다루고 있다.

  2. 데이터 모델 1. 데이터 모델 • 개체-관계 데이터 모델(entity- relationship data model) • 실존 개체 • 개체를 구성하는 속성 • 개체 들간의 관계 • 관계의 유형 • 연산 • 무결성 원칙 • 관계 데이터 모델(relational data model) • 데이터베이스의 구조를 테이블에 기초 • 개체(entity), 관계(relationship) 모두를 테이블의 집합 형태로 표현 • 간단, 이해하기 쉽다. • 관계의 유형, 관계의 방향성에 무관하게 데이터에 접근이 용이하다. 망 데이터 모델 표현방식에 따라 계층 데이터 모델 관계 데이터 모델

  3. 데이터 모델 1.1 개체(entity) • 실존하거나 의미 있는 정보 단위를 말함. • 하나의 개체 단위 별로 데이터베이스 내에서 관리됨. • 서로 관련 있는 속성(attribute) 들로 이루어짐. • 개체 타입(type) 과 개체 인스턴스(instance) 로 구성됨. < ‘고객’ 개체 타입(type) > 속성들 < ‘고객’ 개체 인스턴스(instance) 의 집합>

  4. 데이터 모델 1.2 관계 (relationship) • 개체와 개체 사이의 상관 관계 • 통합 저장된 데이터베이스의 특성 상 관계 또한 하나의 중요한 정보로 취급 <고객-> 개체> <주문->관계> <상품-> 개체>

  5. 자녀1 학생1 과목1 남편 아내 부모 자녀2 학생2 과목2 자녀n 학생n 과목n 1 : 1 1 : N N : M 데이터 모델 1.3 관계의 유형 • 관계의 유형 종류 • 일 대 일 (1 : 1) ex) 남편과 아내 • 일 대 다 (1 : N) ex) 부모와 자녀들 • 다 대 다 (N : M) ex) 학생과 교과목 • E-R Diagram • 개체, 속성, 관계 등의 정보를 표현하는 시각적 도구

  6. 릴레이션 2. 관계 데이터 모델과 릴레이션 2.1 릴레이션의 개념 • 릴레이션은 관계 데이터 모델에서 데이터 집합을 의미함. • 릴레이션은 테이블의 형태로 표현됨. • 테이블은 행(row) 과 열(column) 로 구성됨. • <용어 비교> • 릴레이션은 릴레이션 스키마(구조)와 릴레이션 인스턴스(data set)로 구성 • 도메인은 어트리뷰트가 가질 수 있는 값을 말함.

  7. 릴레이션 <<릴레이션에서 사용되는 용어>>

  8. 릴레이션 2.2 릴레이션의 특성 • 릴레이션은 테이블과는 다른 특징이 있으며 집합의 개념으로 해석 • 릴레이션에 포함된 모든 투플은 유일하게 식별 가능하다. • 같은 릴레이션 내의 투플들의 순서는 의미가 없다. • 같은 릴레이션 내의 어트리뷰트의 순서는 의미가 없다. • 어트리뷰트의 값은 원자 값이다.

  9. 릴레이션 2.3 릴레이션의 제약조건 • 도메인 제약 조건 : 릴레이션의 어트리뷰트는 지정된 도메인에 의한 값만을 가진다. • 개체 무결성 : 기본 키에 속하는 어트리뷰트는 널(NULL) 값을 가질 수 없다. • 참조 무결성 : 릴레이션의 외래키는 참조 할 수 없는 값을 가질 수 없다. • <용어> • 기본키 : 릴레이션에서 투플들을 유일하게 식별할 수 있는 어트리뷰트 들 중에 선택된 하나. • 외래키 : 개체와 개체 사이를 연결해 주는 어트리뷰트

  10. 릴레이션 <<기본 키, 외래 키, 후보 키>> <고객-> 개체> <상품-> 개체> <주문->관계> 기본키 외래키 외래키

  11. 릴레이션 <<제약조건 위배 사례>> <도메인 제약 조건 위배> 예)전화는 char(15) 인데 가질 수 없는 값(문자 15자 이상)이 입력됨. <개체 무결성 제약조건 위배> 예) 상품코드가 기본 키인데 null 임. <참조 무결성 제약조건 위배> 예) 아이디 chili77 는 고객 릴레이션에 없는 아이디이다. 고객 릴레이션을 참조하는 외래키 상품 릴레이션의 기본키

  12. 관계 대수의 연산 3. 데이터 조작을 위한 관계 대수의 연산 • 릴레이션을 조작하기 위한 연산은 관계대수와 관계해석이 있다. • 관계 대수 :상용 DBMS의 언어인 SQL의 이론적인 기초 • <연산자 들의 종류와 기호>

  13. 관계 대수의 연산 3.1 셀렉트(SELECT) • 하나의 릴레이션에 주어진 조건에 만족하는 투플들만 걸러내는 연산 • 결과 릴레이션은 입력 릴레이션과 어트리뷰트 수는 같으며 투플의 수는 같거나 적게 나옴. • 실습예제 : ‘고객’ 릴레이션에서 등급이 ‘silver’ 인 고객을 찾아라. • 명령 : σ 등급 = ‘silver’(고객)

  14. 관계 대수의 연산 3.2 프로젝트(PROJECT) • 하나의 릴레이션에 원하는 어트리뷰트들만 걸러내는 연산 • 결과 릴레이션은 입력 릴레이션과 어트리뷰트 수는 적고 투플의 수는 같다. • 실습예제 : ‘상품’ 릴레이션에서 종류와 가격을 나타내어라. • 명령 : ∏종류, 가격(상품) (릴레이션의 특성 상 동일한 투플은 제거된다. )

  15. 관계 대수의 연산 3.3 조인(JOIN) • 두 개 이상의 릴레이션에서 원하는 투플들만 걸러내는 연산 • 두 릴레이션을 곱한 후 실렉트 한 것과 같다. • 조인의 종류 : 세타조인, 외부조인, 자연조인, 동등조인, 세미조인

  16. 관계 대수의 연산 3.3 조인(JOIN) - 동등조인 • 실습예제 : ‘상품’ 릴레이션과 ‘납품업체’ 릴레이션을 동등 조인 하라. • 명령 : 상품 ⋈ 업체코드 = 업체코드 업체 <동등 조인 결과>

  17. 관계 대수의 연산 3.3 조인(JOIN)-자연조인 • 실습예제 : ‘상품’ 릴레이션과 ‘납품업체’ 릴레이션을 자연 조인 하라. • 명령 : 상품 ⋈N업체코드 = 업체코드 업체 <자연 조인 결과>

  18. 관계 대수의 연산 3.3 조인(JOIN)-세미조인 • 실습예제 : ‘상품’ 릴레이션과 ‘납품업체’ 릴레이션을 세미 조인 하라. • 명령 : 상품 ⋉업체코드 = 업체코드 업체 1 단계 : ∏ 업체코드(업체) < 2 단계 : 세미 조인 결과>

  19. 관계 대수의 연산 3.3 조인(JOIN)-외부조인 • 실습예제 : ‘상품’ 릴레이션과 ‘납품업체’ 릴레이션을 외부 조인 하라. • 명령 : 상품 ⋈+업체코드 = 업체코드 업체 <외부 조인 결과>

  20. 관계 대수의 연산 3.4 디비전(DIVISION) • 공통된 어트리뷰트를 가지는 두 릴레이션을 이용해 나누는 것 • 실습예제 : ‘주문’ 릴레이션을 ‘상품그룹’ 릴레이션으로 디비전 하라. • 명령 : 주문 ÷상품 그룹 <디비전 결과>

  21. 관계 대수의 연산 3.5 합집합(UNION) • 어트리뷰트의 개수와 대응되는 도메인이 같은 두 릴레이션을 합하는 것 • 실습예제 : 아이디가 ‘WOW’인 고객이 주문한 상품코드와 • 상품명이 ‘니트’인 상품코드를 합집합(UNION)을 구하라. • 명령 : ∏ 상품코드(σ 아이디= 'wow' (주문))∪∏ 상품코드(σ 품명='니트' (상품)) <합(UNION) 결과>

  22. 관계 대수의 연산 3.5 합집합-외부합집합(OUTER UNION) • 어트리뷰트의 개수가 다르지만 동일한 어트리뷰트를 가지고 있는 두 릴레이션을 합하는 것 • 실습예제 : ‘주문’ 릴레이션과 ‘상품’ 릴레이션의 외부합집합(OUTER UNION) 을 구하라. • 명령 : 주문 ∪+상품 <외부 합(OUTER UNION) 결과>

  23. 관계 대수의 연산 3.6 교집합 (INTERSECT) • 두 릴레이션의 공통 어트리뷰트를 이용하여 공통 투플만 구하는 것 • 실습예제 : ‘주문’ 릴레이션과 ‘상품’ 릴레이션의 교집합(INTERSECT)을 구하라. • 명령 : 주문 ∩상품 <교집합(INTERSECT) 결과>

  24. 관계 대수의 연산 3.7 차집합 (DIFFERENCE) • 릴레이션 A에는 속하지만 릴레이션 B에는 속하지 않는 투플을 구하는 것 • 실습예제 : ‘상품’릴레이션과 ‘주문’릴레이션을 이용해 주문이 하나도 없는 상품을 구하라. • 명령 : 상품 - 주문 <차집합(DIFFERENCE) 결과>

  25. 관계 대수의 연산 3.8 카티션 프로덕트 (CARTESIAN PRODUCT) • 두 릴레이션의 곱을 구하는 것 • 결과가 두 릴레이션의 모든 어트리뷰트, 모든 투플의 집합으로 나오므로 매우 신중해야 한다. • 실습예제 : ‘상품’릴레이션과 ‘고객’릴레이션의 곱을 구하라. • 명령 : 상품 x 주문 <상품 릴레이션> < 카티션 프로덕트 (CARTESIAN PRODUCT)결과> <고객 릴레이션>

  26. 단원 요약 단원요약 1 ★ 데이터 모델의 구성요소는 개체(entity), 개체를 구성하는 , 그리고 각 개체들 간의 관계(relationship) 이다. 또, 관계는 개체끼리 대응하는 형태에 따라 일대일, 일대다, 다대다의 형태로 구분된다. ‘학생’ 개체와 ‘교과목’ 개체 사이에는 의 관계라고 할 수 있다. ? ? 답: 속성(attribute), 다 대 다 단원요약 2 ★ 관계 데이터 모델의 릴레이션은 데이터 집합을 기초로 한 것인데 릴레이션은 행과 열을 가지는 형태로 표현된다. 릴레이션은 릴레이션의 구조를 나타내는 와 릴레이션의 데이터 값을 나타내는 로 구성된다. ? ? ? 답:테이블, 스키마, 인스턴스

  27. 단원 요약 단원요약 3 ★ 관계 데이터 모델에서는 데이터의 무결성을 위해 도메인 제약 조건, 기본키에 의한 , 외래키에 의한 참조무결성이라는 제약 조건을 지원한다. ? 답: 개체 무결성 단원요약 4 ★ 관계 데이터 모델의 조작을 위해서 사용하는 연산으로 관계해석과 가 있다. 셀렉트, 프로젝트, 조인, 디비전, 카티션 프로덕트, union 등 다양한 연산이 존재한다. 이 연산들은 상용 DBMS의 언어인 의 이론적인 기초가 된다. ? ? 답: 관계 대수, SQL

More Related