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

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

Microsoft PowerPoint - 27.pptx

The Relational Model

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

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

RDB개요.ppt

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

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

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

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

untitled

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

슬라이드 제목 없음

슬라이드 제목 없음

<4D F736F F F696E74202D E20B0FCB0E820B5A5C0CCC5CD20B8F0B5A8B0FA20B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20C1A6BEE020C1B6B0C7>

윈도우시스템프로그래밍

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

thesis

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

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

DBMS & SQL Server Installation Database Laboratory

목 차

강의 개요

MySQL-.. 1

step 1-1

Microsoft PowerPoint - QVIZMVUMWURI.pptx

강의 개요

TITLE

PowerPoint Presentation

12. 데이타베이스 설계

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

01-OOPConcepts(2).PDF

PowerPoint Presentation

윈도우시스템프로그래밍

PowerPoint 프레젠테이션

슬라이드 제목 없음

초보자를 위한 ADO 21일 완성

MS-SQL SERVER 대비 기능

소프트웨어개발방법론

03-최신데이터

PowerPoint Presentation

Something that can be seen, touched or otherwise sensed

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

5장 SQL 언어 Part II

Simplify your Job Automatic Storage Management DB TSC

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

<3130C0E5>

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

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

DW 개요.PDF

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

슬라이드 제목 없음

Microsoft PowerPoint - 26.pptx

public key private key Encryption Algorithm Decryption Algorithm 1

<B3EDB9AEC1FD5F3235C1FD2E687770>

VENUS Express 사용자 매뉴얼

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to

DIY 챗봇 - LangCon

10.ppt

PowerPoint Presentation

PowerPoint 프레젠테이션

Microsoft PowerPoint - Database.ppt

Microsoft PowerPoint Python-DB

Microsoft PowerPoint - 10Àå.ppt

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

ETL_project_best_practice1.ppt

216 동북아역사논총 41호 인과 경계공간은 설 자리를 잃고 배제되고 말았다. 본고에서는 근세 대마도에 대한 한국과 일본의 인식을 주로 영토와 경계인 식을 중심으로 고찰하고자 한다. 이 시기 대마도에 대한 한일 양국의 인식을 살펴볼 때는 근대 국민국가적 관점에서 탈피할

Orcad Capture 9.x

Relational Model

C# Programming Guide - Types

<4D F736F F F696E74202D E20B0FCB0E BCB3B0E820BECBB0EDB8AEC1F2B0FA20C3DFB0A1C0FB20C1A4B1D4C7FC>

Microsoft PowerPoint Relations.pptx

< B3E220C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE B3E2B0A320B1E2C3E2B9AEC1A6C0BAC7E02E687770>

#KM560

LXR 설치 및 사용법.doc

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

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

PowerPoint 프레젠테이션

강의10

PowerPoint Presentation

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

DocsPin_Korean.pages

<B1A4B0EDC8ABBAB8C7D0BAB8392D345F33C2F75F E687770>

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

untitled

#KM-235(110222)

Microsoft PowerPoint Predicates and Quantifiers.ppt

<28C3D6C1BE29312DC0CCBDC2BEC62E687770>

Object Oriented Analyis & Design Training Agenda

<C1DF3320BCF6BEF7B0E8C8B9BCAD2E687770>

No Slide Title

R50_51_kor_ch1

PowerPoint 프레젠테이션

untitled

자연언어처리

- 이 문서는 삼성전자의 기술 자산으로 승인자만이 사용할 수 있습니다 Part Picture Description 5. R emove the memory by pushing the fixed-tap out and Remove the WLAN Antenna. 6. INS

PowerPoint Template

Remote UI Guide

Output file

Transcription:

데이터베이스및설계 Chap 4. 관계데이터베이스 (#1/2) 2013.03.20. 오병우 컴퓨터공학과

관계데이터모델 관계데이터모델 (relational data model) 의탄생 1970 년대 IBM 의 E. F. Codd 에의해제안 Data structure Data manipulation (operation) Data integrity (constrains) 관계데이터모델의특성 릴레이션 (relation) 과수학적인이론에기초 일반사용자는테이블형태로생각 통상적인테이블의개념과는다름 관계데이터모델의직관적인이해에는도움이됨 테이블의열 (column) = 필드 (field) 혹은아이템 (item) 관계데이터모델의애트리뷰트 (attribute) 테이블의행 (row) = 레코드 (record) 관계데이터모델의투플 (tuple) 2

Relations Table A concrete representation of an abstract object (i.e, relation) Easy to use and easy to understand 구체적인 Distinct attribute name Several attributes from the same domain Distinct role name common domain name Attribute 이름은중복되면안됨 별개의 3

관계데이터모델예제 학생 (STUDENT) 테이블 : 릴레이션 학생 (STUDENT) 학번 이름 학년 학과 (Sno) (Sname) (Year) (Dept) 100 나수영 4 컴퓨터 200 이찬수 3 전기 300 정기태 1 컴퓨터 400 송병길 4 컴퓨터 500 박종화 2 산공 4

Formal Relational Terms Relation table Tuple row of a table Attribute column of a table Cardinality number of tuples Degree number of attributes Primary key unique identifier for the table Domain 여러개가모여서될수도있음 a pool of values for an attribute Department of Computer Engineering 5

릴레이션의예제 INTEGER.. DSNO CHAR(10).. NAME INTEGER.. DYEAR CHAR(6).. DEPT 도메인 학생 (STUDENT) 학번 (Sno) 이름 (Sname) 학년 (Year) 학과 (Dept) 100 나수영 4 컴퓨터 200 이찬수 3 전기 300 정기태 1 컴퓨터 400 송병길 4 컴퓨터 500 박종화 2 산공 투플 애트리뷰트 릴레이션스킴 인스턴스 학생 (STUDENT) 릴레이션 6

Domains Atomic ( 가장작은단위 ) The smallest semantic unit of data ( scalar value) Non decomposable ( lose meaning) Domain ( attribute) A named set of scalar values, all of the same type 애트리뷰트가취할수있는값 (value) 들의집합 A pool of values (the actual values appearing in attributes) 1. simple domains simple attributes Domains of scalar values 단순애트리뷰트 : 원자값 2. composite domains composite attributes 애트리뷰트이름과도메인이름은같을수도있음 A combination of simple domains 복합애트리뷰트 : 복합값연, 월, 일 날짜 :< 연, 월, 일 > Attribute 값을의미상하나의단위로취급하면문제없음 값의집합은허용하지않음 의미의 분해할수있는 값의집합이되면 Unnormalized relation ( 비정규화릴레이션 ) 7

Significance of domains Domains contain comparisons (ex) Domains SELECT P.*, SP.* SELECT P.*, SP.* FROM P, SP FROM P, SP WHERE P.P# = SP.P# ; WHERE P.WEIGHT = SP.QTY defined on the same domain make sense defined on different domains do not make sense Prevent users from making silly mistakes inform the user 8

Attribute Attribute name (vs. domain name) 해당도메인의이름을그대로사용할수도있고, 별도의이름을사용할수도있음 임의의도메인이릴레이션에서담당하고있는역할의이름으로지정 (SNAME) CREATE DOMAIN NAME CHAR(20); CREATE TABLE S (S# CHAR(5) NOT NULL, SNAME DOMAIN (NAME) NOT NULL, CITY CHAR(15) NOT NULL, PRIMARY KEY (S#) ); Composite domain A combination of simple domains CREATE DOMAIN MONTH CHAR(2); CREATE DOMAIN DAY CHAR(2); CREATE DOMAIN YEAR CHAR(2); CREATE DOMAIN DATE (MONTH DOMAIN (MONTH), DAY DOMAIN (DAY), YEAR DOMAIN (YEAR)); 9

도메인예제 릴레이션학생 (STUDENT) 의정의 DCL DOMAIN DSNO INTEGER; DCL DOMAIN NAME CHAR(10); DCL DOMAIN DYEAR INTEGER; DCL DOMAIN DEPT CHAR(6); DCL RELATION STUDENT (Sno DOMAIN DSNO, Sname DOMAIN NAME, Year DOMAIN DYEAR, Dept DOMAIN DEPT); 도메인명세가생략된릴레이션 STUDENT 의정의 DCL RELATION STUDENT (Sno Sname Year Dept INTEGER, CHAR(10), INTEGER, CHAR(6)); 10

Relations A relation (R) on domains D 1, D 2,, D n (n = degree) Heading : (relation) schema, scheme, intension A fixed set of attribute domain pairs (AD-pair) {(A 1 :D 1 ), (A 2 :D 2 ),, (A n : D n ) } where A j s must all be distinct» { (Sno:DSNO), (Sname:NAME), (Year:DYEAR), (Dept:DEPT) } Body : (relation) instance, state, extension A time-varying set of tuples, where each tuple : a set of attribute value pairs (AV-pair) {(A 1 :V i1 ), (A 2 :V i2 ),, (A n :V i n) } i = 1,, m (m = cardinality)» { (Sno:100), (Sname: 나수영 ), (Year:4), (Dept: 컴퓨터 ) },» { (Sno:200), (Sname: 이찬수 ), (Year:3), (Dept: 전기 ) },» 11

릴레이션스킴 (Relation Scheme) 릴레이션내포 (relation intension) 또는릴레이션스키마라고도함 릴레이션이름 + 애트리뷰트이름 R(A 1, A 2,..., A n ), A i D i R({A 1, A 2,..., A n }) 애트리뷰트이름의집합 정적성질 시간에무관 릴레이션타입 12

릴레이션인스턴스 (Relation Instance) 릴레이션외연 (relation extension) 이라고도함릴레이션 R 의릴레이션인스턴스 어느한시점에릴레이션 R 이포함하고있는투플들의집합 {< V 1, V 2,..., V n >} V i D i 릴레이션의내용, 상태 {(attr 1 =V 1, attr 2 =V 2,, attr n =V n )} 동적성질 삽입, 삭제, 갱신으로시간에따라변함 릴레이션값 ( 보통릴레이션 ) 13

ⅰ. 수학적정의 릴레이션 (Relation) R 릴레이션 R : 카티션프로덕트 (Cartesian product) 의부분집합 R D 1 D 2... D n 즉 n- 투플 <d 1, d 2,..., d n > 의집합 단 D i : i 번째도메인 d i D i, i = 1,2,...,n n : R의차수 (degree : 일차, 이차, 삼차,..., n차 ) 투플의수 : 카디널리티 (cardinality) ⅱ. 개념적정의 릴레이션스킴 + 릴레이션인스턴스 학번 (Sno) 100 200 과목번호 (Cno) C412 C123 C312 학번 ⅹ 과목번호 (Sno ⅹ Cno) <100,C412> <100,C123> <100,C312> <200,C412> <200,C123> <200,C312> 14

Properties of relations There are no duplicate tuples Relations 중요 Relation body is a mathematical set There is always a primary key Tuples are unordered (top to bottom) Relation body is a mathematical set Attributes are unordered (left to right) Relation heading is defined as a set Attributes : always referenced by name, never by position All attribute values are atomic All underlying domains are simple in turn Relations do not contain repeating groups (normalized relation) 15

ⅰ. 투플의유일성 릴레이션의특성 (1) 릴레이션 = 서로다른투플들의 " 집합 " ⅱ. 투플의무순서성 릴레이션 : 추상적개념 투플들의집합테이블 : 구체적개념 ⅲ. 애트리뷰트의무순서성 릴레이션스킴 애트리뷰트들의 " 집합 " 투플 : <attr:value> 쌍의집합 16

릴레이션의특성 (2) ⅳ. 애트리뷰트의원자성 애트리뷰트값 = 원자값 (atomic value) 논리적으로분해불가능 정규화릴레이션 (normalized relation) 비정규화릴레이션은분해로정규화 동등한의미유지 널값 (null value) = 원자값 unknown, inapplicable 도메인 단순도메인 복합도메인 : 값을하나의단위로취급 17

등록 1 (ENROL1) 학번 (Sno) 릴레이션의 Normalization 과목번호 (Cno) 과목성적 (Cgrade) 성적 (Grade) 100 C413 A E412 200 C123 B 300 400 C312 C324 C413 C312 C324 C413 E412 500 C312 B (a) 비정규릴레이션 A A C A A A B C Degree : 2 등록 (ENROL) 학번 (Sno) 과목번호 (Cno) Degree : 3 성적 (Grade) 100 C413 A 100 E412 A 200 C123 B 300 C312 A 300 C324 C 300 C413 A 400 C312 A 400 C324 A 400 C413 B 400 E412 C 500 C312 B (b) 정규릴레이션 18

Relations Kinds of relations 1. base relations (real relations) A named, autonomous relation (direct part of the database) 2. view (virtual relations) A named, derived relation (purely by its definition) 3. snapshots A named, derived relation Real, not virtual 자주적인 파생된 CREATE SNAPSHOT SC AS SELECT S#, CITY FROM S REFRESH EVERY DAY; 19

Kinds of relations (cont d) 4. query results Relations (cont d) The final output relation resulting from a query No persistent existence within the database 5. intermediate results Results from some relational expression that is nested within some larger No persistent existence within the database 끊임없이지속되는, 영속적인 SELECT DISTINCT S.CITY FROM S WHERE S.S# IN (SELECT SP.S# FROM SP WHERE SP.P# = P2 ); 6. temporary relations A named relation that is automatically destroyed at some appropriate time 20

Relational database Relational Databases A database that is perceived by the user as a collection of time-varying, normalized relations of assorted degrees Correspondences to file system Relation : file Tuple : record (occurrence) Attribute : field (type) Major features of relational files (vs. traditional files) 1. each file contains only one record type 2. the fields have no particular order, left to right 3. the records have no particular order, top to bottom 4. every field is single-valued 5. the records have a unique identifier field or field combination called the primary key ~ 으로여기다 여러가지 관련성 21

관계데이터베이스 관계데이터베이스 데이터베이스를시간에따라그내용 ( 상태 ) 이변할수있는테이블형태로표현 관계데이터베이스스키마 = { 릴레이션스킴 } + 무결성제약조건 관계데이터모델 프로그래밍시스템 Notes 릴레이션 파일 투플 레코드 ( 레코드어커런스 ) 애트리뷰트 필드 ( 필드타입 ) 관계데이터베이스는데이터가꼭물리적테이블형태로저장되는것을의미하지는않음 22

Example 대학 (University) 관계데이터베이스 학생 (STUDENT) 학번 (Sno) 이름 (Sname) 학년 (Year) 학과 (Dept) 100 나수영 4 컴퓨터 200 이찬수 3 전기 300 정기태 1 컴퓨터 400 송병길 4 컴퓨터 500 박종화 2 산공 과목 (COURSE) 과목번호 (Cno) 과목이름 (Cname) 학점 (Credit) 학과 (Dept) C123 프로그래밍 3 컴퓨터 C312 자료구조 3 컴퓨터 C324 화일구조 3 컴퓨터 C413 데이터베이스 3 컴퓨터 E412 반도체 3 전자 담당교수 (PRname) 김성국황수관이규찬이일로홍봉진 23

Example (cont d) 대학 (University) 관계데이터베이스 (cont d) 학번 (Sno) 100 100 200 300 300 300 400 400 400 400 500 과목번호 (Cno) C413 E412 C123 C312 C324 C413 C312 C324 C413 E412 C312 성적 (Grade) A A B A C A A A B C B 중간성적 (Midterm) 90 95 85 90 75 95 90 95 80 65 85 기말성적 (Final) 95 95 80 95 75 90 95 90 85 75 80 등록 (ENROL) 24