Chapter 1: 데이터베이스시스템개관

Similar documents
Microsoft PowerPoint 관계 대수 및 관계 해석(Part 1)


InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

PowerPoint Presentation

슬라이드 제목 없음

금오공대 컴퓨터공학전공 강의자료

슬라이드 제목 없음

OCW_C언어 기초

슬라이드 제목 없음

슬라이드 제목 없음

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

우루과이 내지-1

금오공대 컴퓨터공학전공 강의자료

세계 비지니스 정보

*통신1604_01-도비라및목차1~12

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

[96_RE11]LMOs(......).HWP

PowerPoint 프레젠테이션

03-01 데이터모델링과데이터모델의개념 개체-관계모델 논리적데이터모델

<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7>



CONTENTS.HWP

INDUS-8.HWP

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

Microsoft PowerPoint - chap04-연산자.pptx

PowerPoint Presentation


00-1표지

*통신1802_01-도비라및목차1~11

Microsoft PowerPoint - 27.pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

통신1310_01-도비라및목차1~9

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

미얀-내지-8차

표1

The Relational Model

israel-내지-1-4

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

영암군 관광종합개발계획 제6장 관광(단)지 개발계획 제7장 관광브랜드 강화사업 1. 월출산 기( 氣 )체험촌 조성사업 167 (바둑테마파크 기본 계획 변경) 2. 성기동 관광지 명소화 사업 마한문화공원 명소화 사업 기찬랜드 명소화 사업 240

PowerPoint Presentation

chap 5: Trees

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 중간착취의 금지 41 - 대판 , 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 , 2002도3883 [남녀고용평등법위

Microsoft PowerPoint - 26.pptx

MySQL-.. 1

À̶õ°³È²³»Áö.PDF

5장 SQL 언어 Part II

Microsoft PowerPoint - 5 [호환 모드]

*통신1510_01-도비라및목차1~12

내용 3.1 관계모델의개념 3.2 관계제약조건과관계형데이타베이스스키마 3.3 갱신연산과트랜잭션그리고제약조건의위반처리 3.4 요약 Ch6 Fundamentas of Database Systems 2

Microsoft PowerPoint - QVIZMVUMWURI.pptx

DBMS & SQL Server Installation Database Laboratory

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

금오공대 컴퓨터공학전공 강의자료

chap x: G입력

VENUS Express 사용자 매뉴얼

6 장. 데이터베이스언어 SQL SQL 에서의단순질의하나이상의릴레이션을포함하는질의부질의 (subquery) 릴레이션전체를다루는연산데이터베이스변경 SQL 에서릴레이션스키마의정의뷰정의 2

SQL

컴파일러


12. 데이타베이스 설계


금오공대 컴퓨터공학전공 강의자료

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

Microsoft PowerPoint Predicates and Quantifiers.ppt

<C1A4C3A5BFACB1B D3420C1A4BDC5C1FAC8AFC0DAC0C720C6EDB0DFC7D8BCD220B9D720C0CEBDC4B0B3BCB1C0BB20C0A7C7D120B4EBBBF3BAB020C0CEB1C720B1B3C0B020C7C1B7CEB1D7B7A520B0B3B9DF20BAB8B0EDBCAD28C7A5C1F6C0AF292E687770>

세계 비지니스 정보

강의 개요

°æÁ¦Àü¸Á-µ¼º¸.PDF

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint Relations.pptx

untitled

2 ㆍ 大 韓 政 治 學 會 報 ( 第 20輯 1 號 ) 도에서는 고려 말에 주자학을 받아들인 사대부들을 중심으로 보급되기 시작하였고, 이후 조선시대에 들어와서는 국가적인 정책을 통해 민간에까지 보급되면서 주자 성리학의 심 화에 커다란 역할을 담당하였다. 1) 조선시대

<4D F736F F F696E74202D E20B0FCB0E BCB3B0E820BECBB0EDB8AEC1F2B0FA20C3DFB0A1C0FB20C1A4B1D4C7FC>

Microsoft PowerPoint SQL 추가 기능

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Microsoft PowerPoint 관계 대수 및 관계 해석(Part 2)

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

설계란 무엇인가?

PowerPoint Presentation

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - ch07 - 포인터 pm0415


제 출 문 환경부장관 귀하 본 보고서를 폐기물관리 규제개선 방안연구 에 관한 최종보고서로 제출합니다 연구기관 한국산업폐기물처리공제조합 연구책임자 연 구 원 연구보조원 이 남 웅 황 연 석 은 정 환 백 인 근 성 낙 근 오 형 조 부이사장 상근이사 기술팀장 법률팀장 기

Microsoft PowerPoint - 13(FD1) [호환 모드]

PowerPoint Presentation


금오공대 컴퓨터공학전공 강의자료

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - SDSw doc

Microsoft PowerPoint - 4(SQL-Data Definition,BasicQuery) [호환 모드]

KSKSKSKS SKSKSKS KSKSKS SKSKS KSKS SKS KS KS C 3004 KS C

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint Presentation

Transcription:

3.

데이터 : 현실세계 vs. 컴퓨터 현실세계 ( 개체 ) 개념세계 ( 개념 ) 컴퓨터세계 ( 데이타 ) 개체 개체타입 레코드타입 특성 속성 필드 값 값 값 값 추상화 추상적 변환 데이타구조의 사실 개념적모델링 개념적표현 데이타모델링 논리적표현 3.

: 현실세계 vs. 컴퓨터 현실세계 개체 개념세계 개념적구조 일치성 저장 컴퓨터세계 논리적구조 3.3

데이터모델 (Data Model) - I 다음사항들을기술하기위한개념적표현 데이터 데이터들간의관계 데이터의의미 일관성제약조건 데이터모델 : D = < S, O, C > S : 데이터의구조 (Structure) 정적성질 ( 추상적개념 ) - 개체타입과이들간의관계를명세 O : 연산 (Operations) 동적성질 - 개체인스턴스를처리하는작업 ( 데이터조작 ) 에대한명세 C : 제약조건 (Constraints) 데이타의논리적제약 - 개체인스턴스의허용조건 데이타조작의한계를표현한규정 3.4

데이터모델 (Data Model) - II 현실세계 개체 일치성 개념세계 개념적구조 개체 - 관계모델 저장 컴퓨터세계 논리적구조 관계형모델 설계 3.5

관계형데이터모델 안동대학교정보과학교육과 3.6

배울내용 관계대수 일반집합연산 순수관계대수연산 확장관계대수연산 의수정 뷰 3.7

관계대수 (Relational Algebra) 릴레이션을처리하기위한연산의집합 릴레이션 : 투플의집합 기본연산 일반집합연산 : 합집합, 교집합, 차집합, 카티션프로덕트 순수관계연산 : 실렉트, 프로젝트, 조인, 디비전 폐쇄성질 (closure property) 피연산자와연산결과가모두릴레이션 중첩 (nested) 된수식의표현이가능 3.8

일반집합연산 (I) 합집합 (union, ) R S = { t t R t S } R S R + S 교집합 (intersect, ) R S = { t t R t S } R S min{ R, S } 차집합 (difference,-) R S = { t t R t S } R S R 카티션프로덕트 (cartesian product, ) R S = { r s r R s S } : 접속 (concatenation) R S = R S 차수 (degree) = R의차수 + S의차수 3.9

합집합연산 일반집합연산 (II) 표기법 : r s 정의 : r s = {t t r or t s} r s가가능하려면, r과 s는같은항 ( 애트리뷰트의수가같음 ) 을가져야함 애트리뷰트의도메인은양립할수있어야함 예 즉, r 의두번째열은 s 의두번째열의것과같은유형의값을다룸 릴레이션 r A B 릴레이션 s A B 3 r s A B 3 3.0

교집합연산 일반집합연산 (III) 표기법 : r s 정의 : r s = {t t r and t s} 가정 : r과 s는같은항을갖는다. r과 s의애트리뷰트는양립성이있다. 유의 : r s = r - (r - s) 예 릴레이션 r A B 릴레이션 s A B r s A B 3 3.

차집합 일반집합연산 (IV) 표기법 : r - s 정의 : r - s = {t t r and t s} r - s가가능하려면, r과 s는같은항 ( 애트리뷰트의수가같음 ) 을가져야함 애트리뷰트의도메인은양립할수있어야함 예 즉, r 의두번째열은 s 의두번째열의것과같은유형의값을다룸 릴레이션 r A B 릴레이션 s A B 3 r - s A B 3.

일반집합연산 (V) 카티젼곱연산 표기법 : r s 정의 : r s = {t q t r and q s} r(r) 과 s(s) 의애트리뷰트가서로다르다고가정 ( 즉, R S = φ). r(r) 과 s(s) 의애트리뷰트가서로같다면, 재명명을사용해야함 예 r s A B C D E 0 + 릴레이션 r 릴레이션 s A B C D E γ 0 0 0 0 + + - - γ γ 0 0 0 0 0 0 0 + - - + + - - 3.3

순수관계연산 (I) 선택연산 표기법 : σ P (r) 정의 : σ P (r) ={ t t r and P(t)} 여기서, P 는다음과같은유형의표현을다루는조건식 < 속성 > = ( 또는, >,, <, ) < 속성 > 또는 < 상수 > (and), (or), (not) 으로연결된다. 예제 릴레이션 r A B C D 5 3 7 7 3 0 σ A=B D>5 (r) A B C D 7 3 0 3.4

순수관계연산 (II) 추출연산 표기법 : Π A, A,, Ak(r) 여기서 A, A 는애트리뷰트명이고 r은릴레이션명 결과는명시하지않은열을제외한 k 열의릴레이션 릴레이션은집합이기때문에중복행은결과에서제거 예 릴레이션 r A B C 0 0 30 40 Π A, C (r) A C A C 3.5

순수관계연산 (III) 죠인연산 표기법 : r θ s (= Theta join), r N s (= Natural join) r 과 s 를각각스키마 R 과 S 상의릴레이션이라하면, 죠인연산결과는 r 의튜플 t r 과 s 의튜플 t s 의각쌍을고려해얻은스키마 R S 상의릴레이션이다. t r 과 t s 가 R S 의애트리뷰트각각에같은값을가지면, 다음과같이튜플 t 가결과에추가된다. t 는 r 상에 t r 로서같은값을갖는다. t 는 s 상에 t s 로서같은값을갖는다. 예 : R = (A, B, C, D), S = (E, B, D) 결과스키마는 (A, B, C, D, E) r s 는다음과같이정의된다. Π r.a, r.b, r.c, r.d, s.e (σ r.b=s.b r.d=s.d (r s)) 3.6

3.7 순수관계연산 (IV) 죠인연산 ( 계속 ) - 예 A B C D γ δ 4 γ γ a a b a b 릴레이션 r B D E 3 3 a a a b b γ δ ε 릴레이션 s A B C D E δ γ γ a a a a b γ γ δ r s

순수관계연산 (V) 나누기연산 표기법 : r s 모두에대한 이라는구절을내포한질의에적합하다. r 과 s 를각각이다음과같은스키마 R, S 상의릴레이션이라하면, 예 R = (A,, A m, B,, B n ), S = (B,, B n ) r s 의결과는스키마 R-S = (A,, A m ) 상의릴레이션 r s = {t t Π R-S (r) u s(tu r)} 릴레이션 r A γ δ δ δ δ ε ε B 3 3 4 6 릴레이션 s B r s A ε 3.8

순수관계연산 (V-) 나누기연산예 학과목 (SC) 과목 (C) 과목 (C) 과목 3(C3) 학번 과목번호 (SNO) (CNO) 00 C43 00 E4 00 C3 300 C3 300 C34 300 C43 400 C3 400 C34 400 C43 400 E4 500 C3 과목번호 (CNO) C43 학번 (SNO) 00 300 400 과목번호 (CNO) C3 C43 과목번호 (CNO) C3 C43 E4 SC C SC C SC C3 학번 (SNO) 300 400 학번 (SNO) 400 3.9

순수관계연산 (VI) 재명명연산 이름을줄수있도록하여관계대수표현식의결과를참조하도록함 하나이상의이름으로릴레이션을참조하도록함 예: ρ x (E) 이름 x로표현식 E를돌려줌 예 : 관계형대수표현식 E 가 n 항이면, ρ x (A, A,,An) (E) 이름 x 하에 A, A,,A n 으로재명명된애트리뷰트를가진표현식 E 의결과를돌려줌 3.0

재명명연산예 순수관계연산 (VI-) Account-number Branch-name balance 0 0 0 5 7 305 Downtown Perryridge Brighton Mianus Brighton Redwood Round hill 500 400 900 700 750 700 350 은행에서가장큰잔고를찾아라. Π balance (account) Π account.balance (σ account.balance < d.balance (account X ρ d (account))) 3.

순수관계연산 (VII) 배정연산 배정연산 ( ) 은복잡한질의를편리하게표현하는방법을제공 질의를일련의배정연산과질의의결과값이출력되는표현식으로구성된순차프로그램으로작성 배정은항상임시릴레이션변수로작성되어야함 예 : r s 는다음과같이작성한다. temp Π R-S (r) temp Π R-S ((temp s) - Π R-S,S (r)) result = temp - temp 의오른쪽결과가 의왼쪽의릴레이션변수에배정 연속표현식내에변수를사용할수있음 3.

순수관계연산 (VIII) 복합연산 ( 예, σ A=C (r s) ) (r s) r s A B C D E 0 + 릴레이션 r 릴레이션 s A B C D E γ 0 0 0 0 + + - - γ γ 0 0 0 0 0 0 0 + - - + + - - σ A=C (r s) A B C D E 0 0 0 + + - 3.3

배울내용 관계대수 일반집합연산 순수관계대수연산 확장관계대수연산 의수정 뷰 3.4

확장관계대수연산 (I) 일반화추출연산 추출리스트에산술함수를사용하도록함으로써추출연산을확장 Π F, F,, Fn (E) E 는관계형대수표현식이다. F, F,, F n 각각은 E 의스키마내에상수와애트리뷰트를내포하고있는산술표현식이다. 주어진릴레이션 credit-info(customer-name, limit, credit-balance) 에대해각개인이얼마까지사용할수있는지를찾아라. Π customer-name, limit credit-balance (credit-info) 3.5

확장관계대수연산 (II) 외부조인 (I) 정보의손실을피하기위한조인연산의확장 조인을계산하고다른릴레이션의튜플과부합하지않는어떤릴레이션의튜플들을조인의결과에추가 널값을사용 널은알려지지않은값이나존재하지않는값을의미 널을내포한모든비교는정의에의해거짓 3.6

확장관계대수연산 (III) 외부조인예제 (I) loan 릴레이션 branch-name loan-number Downtown L-70 Redwood L-30 Perryridge L-60 amount 3000 4000 700 borrower 릴레이션 customer-name loan-number Jones L-70 Smith L-30 Hayes L-55 3.7

외부조인예제 (II) loan borrower 확장관계대수연산 (IV) branch-name loan-number amount Downtown L-70 3000 Redwood L-30 4000 customer-name Jones Smith loan borrower branch-name loan-number amount customer-name Downtown Redwood Perryridge L-70 L-30 L-60 3000 4000 700 Jones Smith null 3.8

확장관계대수연산 (V) 외부조인예제 (III) loan borrower branch-name loan-number amount Downtown L-70 3000 Redwood L-30 4000 null L-55 null customer-name Jones Smith Hayes loan borrower branch-name loan-number amount Downtown L-70 3000 Redwood L-30 4000 Perryridge L-60 700 null L-55 null customer-name Jones Smith null Hayes 3.9

확장관계대수연산 (VI) ⅰ. 세미조인 (Semijoin, ) R(X), S(Y) 의조인애트리뷰트를 Z=X Y 라하면 R S = R N(Π Z (S)) = Π X (R NS) S 와자연조인을할수있는 R 의투플 특징 R S S R R NS = (R S) NS = (S R) NR 처리해야될데이타의양이다름 3.30

자연조인과세미조인 확장관계대수연산 (VII) R S Π X Y (S) A B C B C D B a b c b c d b a b c b c d b a3 b c b c3 d3 a4 b c3 C c c3 N R N S N R S A B C D A B C a b c d a b c a b c d N a b c a b c d a4 b c3 a b c d a4 b c3 d3 ( 세미조인 ) ( 자연조인 ) 3.3

확장관계대수연산 (VI) 집성함수 집성연산자는값의모임을취해하나의값을결과로돌려준다. avg: 평균값 min: 최소값 max: 최대값 sum: 합계 count: 값의개수 G, G,, Gn F A, F A,..., Fn An (E) E는관계형대수표현식 G, G,, G n 은그룹핑할애트리뷰트리스트 F i 는집성함수 A i 는애트리뷰트명 3.3

집성함수예 (I) 확장관계대수연산 (VII) 릴레이션 r A B C 7 7 3 0 sum c (r) sum-c 7 3.33

집성함수예 (II) branch-name 확장관계대수연산 (VIII) 릴레이션 account 를 branch-name 으로그룹핑한다. branch-name account-number balance Perryridge A-0 400 Perryridge A-0 900 Brighton A-7 750 Brighton A-5 750 Redwood A- 700 sum balance(account) branch-name sum-balance Perryridge 300 Brighton 500 Redwood 700 3.34

배울내용 관계대수 일반집합연산 순수관계대수연산 확장관계대수연산 의수정 뷰 3.35

수정 (I) 의내용은다음연산을사용해수정 삭제 삽입 갱신 이들모든연산은배정연산자를사용해표현 3.36

수정 (II) 삭제 삭제요청은질의와유사하게표현되나, 사용자에게튜플을출력하는대신에, 선택한튜플들이에서제거 튜플을통째로삭제할수있지, 특정애트리뷰트의값만을삭제할수는없음 삭제는관계형대수로다음과같이표현 r r - E 여기서 r 은릴레이션이고, E 는관계형대수질의 3.37

수정 (III) 삭제예 Perryridge 지점의모든계좌레코드를삭제하라. account account - σ branch-name = Perryridge (account) 0부터 50 사이의금액을가진모든대출레코드를삭제하라. loan loan - σ amount 0 and amount 50 (loan) Needham에위치한지점의모든계좌를삭제하라. r σ branch-city = Needham (account branch) r Π branch-name, account-number, balance (r ) r 3 Π customer-name, account-number (r depositor) account account - r depositor depositor - r 3 3.38

수정 (IV) 삽입 릴레이션에데이터를삽입하려면 삽입될튜플을지정 결과가삽입될튜플의집합인질의를작성 관계형대수에서, 삽입은다음과같이표현 r r E 여기서 r 은릴레이션이고, E 는관계형대수표현식 단일튜플의삽입은 E 를하나의튜플을내포한상수릴레이션이되도록하여표현 3.39

수정 (V) 삽입예 에 Smith 가 Perryridge 지점에,00 불의계좌 A-973 을가지고있다는정보를삽입하라. account account { Perryridge, A-973, 00} depositor depositor { Smith, A-973} Perryridge 지점의모든대출고객에게 00 불의저축예금계좌를제공하고자한다. 대출번호를새로운저축계좌의계좌번호로하자. r (σ branch-name = Perryridge (borrower loan)) account account Π branch-name, loan-number, 00 (r ) depositor depositor Π customer-name, loan-number (r ) 3.40

수정 (VI) 갱신 튜플내의모든값을바꾸지않고일부값을변경하는기법 일반화추출연산자를사용 r Π F, F,, F n (r) 각 F i 는 i 번째애트리뷰트가갱신되지않거나갱신될 r 의 i 번째애트리뷰트이다. F i 는애트리뷰트에새로운값을주는상수와 r 의애트리뷰트만을내포하는표현식이다. 3.4

수정 (VII) 갱신예 모든잔고에 5% 의이자를지급하라. account Π BN, AN, BAL BAL*.05 (account) 여기서 BAL, BN 및 AN 은각각 balance, branch-name 및 account-number 를나타낸다. 0,000 불을초과하는잔고에는 6% 의이자를지급하고그외의잔고에는 5% 의이자를지급하라. account Π BN, AN, BAL BAL*.06 (σ BAL > 0000 (account)) Π BN, AN, BAL BAL*.05 (σ BAL 0000 (account)) 3.4

배울내용 관계대수 일반집합연산 순수관계대수연산 확장관계대수연산 의수정 뷰 3.43

뷰 (View) 어떤경우에도, 모든사용자가전체논리모델을보는것이바람직하지않음 전체논리모델 에저장된모든실제릴레이션 고객의대출번호는알필요가있으나대출금액을알필요가없는개인을고려해보자. 이사람은다음과같이관계형대수로기술된릴레이션을보아야만한다. Π customer-name, loan-number (borrower loan) 개념적모델의일부는아니지만사용자에게 가상릴레이션 으로보이는릴레이션을뷰라한다 3.44

뷰 (II) 뷰의정의 create view v as < 질의표현식 > 여기서 < 질의표현식 > 은관계형대수질의표현식 뷰명은 v로표현 일단뷰가정의되면, 뷰를생성하는가상릴레이션을참조하는데뷰명이사용될수있음 뷰정의는질의표현식을평가함으로써새로운릴레이션을생성하는것과는다르게뷰를사용하는질의내에대치될표현식을저장 3.45

뷰의예 뷰 (III) 지점과고객으로구성된뷰 ( 뷰명 : all-customer) 를고려해보자. create view all-customer as branch-name, customer-name (depositor account) branch-name, customer-name (borrower loan) Perryridge 지점의모든고객은다음과같이찾을수있다. customer-name (σ branch-name = Perryridge (all-customer)) 3.46

요약 관계대수 일반집합연산 순수관계대수연산 확장관계대수연산 의수정 뷰 다음배울내용 : 관계형설계 3.47