Chapter 1 Players in the Systems Game 1 C H A P T E R 6 데이터베이스 데이터베이스의정의 한조직내에서관련된자료들을정보생산을목적으로 논리적관계에따라분류하고정리해서전자적매체에 저장해놓은것 데이터베이스의특성 (1) 집합 (2) 목적지향적 (3) 공유 (4) 상호연관성
Chapter 1 Players in the Systems Game 2 Data, Database, DBMS 의개념적구분 데이터 (Data) 인간이사물을인식하여의사소통이가능한형태로표현해 놓은것 데이터베이스 (Database) 한조직내에서관련된자료들을정보생산을목적으로논리적 관계에따라분류하고정리해서전자적매체에저장해놓은것 Data, Database, DBMS 의개념적구분 데이터베이스관리시스템 (DBMS) : 응용프로그램과데이터베이스사이의중간에서응용프로그램이요구하는대로자료를정의, 생성, 검색, 갱신하는소프트웨어 - DDL(Data definition Language) : 데이터구조정의 DML(Data Manipulation Language) : 데이터검색, 수정, 삭제등 DCL(Data Control Language) : 사용자권한제어 DDL DML DCL 사용자 User 사용자 Application Program DBMS Database
Chapter 1 Players in the Systems Game 3 파일시스템과데이터베이스시스템 파일시스템이란? 각조직에서발생되는데이터간의상호연관관계를고려하지않고필요한곳마다개별적으로데이터를수집하여전자파일에저장하여처리하는것 데이터가특정응용프로그램에종속 ( 데이터종속성 ) 데이터종속에의한중복된데이터가존재 ( 데이터중복성 ) 데이터간의논리적관계를유지하기어려움 ( 데이터무결성결여 ) 파일시스템 응용프로그램 1 ( 급여계산시스템 ) 응용프로그램 2 ( 인사관리시스템 ) 응용프로그램 3 ( 생산관리시스템 ) 사원번호이름주소호봉부양자수 사원번호이름주소자격증가족사항 사원번호이름주소시간임률근로시간
Chapter 1 Players in the Systems Game 4 데이터베이스시스템 DBMS의목적 데이터와응용프로그램의독립 여러응용프로그램이데이터베이스를공유 자료간의관계유지 => 일관성유지 자료의중복최소화 효율적이고체계적인정보시스템을구축하려면 경영자나시스템관리자모두데이터베이스 시스템에대한올바른지식이요구됨 데이터모델 데이터모델 : 데이터들간의논리적관계를표현한것 계층형모델 (Hierarchy Data Model) 인간의직관적자료인식구조와동일 부모와자식간의관계와유사 자료의중복, 일관성유지곤란 Ex) 운영체제폴더구조 네트웍모델 (Network Data Model) 부모자식간종속관계탈피 데이터간의수평적관계표현 자료중복, 관계의복잡성 => 자료의통합성보장이어려움 Ex) CODASYL 관계형모델 (Relational Data Model) 자료간논리적구조를쉽고자유롭게표현 자료의무결성보장 자료처리속도느림 1970 Cox 개발 Oracle, MS SQL Server, DB2
Chapter 1 Players in the Systems Game 5 데이터모델링 현실세계의실체를인간이인식하여관심이있는속성으로표현하여자료를만들어내고이들자료간의논리적관계를찾아내는작업 ( 기법 ) 정보화시대의유능한지식근로자가되기위해서는경영에서 발생하는지식을체계적으로관리하기위한데이터모델링능력을 누구나기본적으로갖추어야함 데이터모델링과정 데이터모델링의 3단계 1. 현실세계의실체를인간이인식하여서로의사소통할수있는용어나기호로표시 ( 개념또는외부스키마 ), 2. 개념화된데이터모델을논리적으로표현 ( 논리적스키마 ), 3. 궁극적으로는컴퓨터하드웨어에물리적으로저장 ( 물리적스키마 ) 인식 현상세계 개념 ( 외부 ) 스키마 논리적스키마 물리적 ( 내부 ) 스키마
데이터베이스설계 사용자요구분석 개념적모델 E-R 모델 논리적모델 물리적모델 계층형, 네트워크형, 관계형모델 (Schema Diagram) Schema Generation by SQL 테스트 시행 ER 모델 ER 모델 개념적모델의구축을위해가장널리활용 E-R 다이어그램 (ERD : Entity-Relationship Diagram) 개체 사원 # 사번 * 이름 O 직위코드 (F) O 부서코드 (F) O 입사일자 관계 부서 # 부서코드 * 부서명부서위치 직위 # 직위코드 * 직위명 개체 Chapter 1 Players in the Systems Game 6
개체, 관계 개체 (Entity) 사람이생각하는개념이나정보의단위 컴퓨터가취급하는파일또는테이블에대응 개체는하나이상의속성 (attribute) 로구성 * 속성 (attribute) - 그개체의특성이나상태를기술 관계 개체간의연관관계 개체집합사이의연결고리인사상 (mapping) 을말함 관계를분류하는기준 : 사상원소수 (mapping cardinality) 1:1, 1:N, M:N 사상원소수 (mapping cardinality) 일대일 (1:1) 관계 : 신용조회관계 고객코드 이름 주소 고객 1 1 고객정보 고객코드 고객신용도 전화번호 일대다 (1:N) 관계 : 주문관계 고객코드이름주소전화번호 고객 1 N 계약 계약번호 기간 주소 Chapter 1 Players in the Systems Game 7
Chapter 1 Players in the Systems Game 8 사상원소수 (mapping cardinality) 다대다 (M:N) 관계 : 판매관계 사원번호이름주소전화번호 사원 M N 계약 계약번호 기간 주소 E-R 다이어그램 (Entity-Relationship Diagram) 사사원원 사번성명직위부서입사일자 소속 N 1 부부서서 부서코드부서명예산 1 M 판매 영업실적 N 1 계계약약 신용도주고객문주문조회 고객정보 N 1 1 1 계약번호기간주소 주문코드이름주소전화번호 고객코드고객신용도
Chapter 1 Players in the Systems Game 9 관계의데이터베이스스키마변환 일대일 (1:1) 관계의스키마변환각개체가같은기본키를가지므로별도의테이블을만들필요없음 일대다 (1:N) 관계스키마변환주문 ( 계약번호, 고객코드, 주문일, 주문상품 ) 소속 ( 사번, 부서코드 ) 다대다 (M:N) 관계스키마변환두개체의관계는일대다 (1:n) 의관계로분리하여스키마를기술판매 ( 계약번호, 사번, 판매금액, 판매일 ) 영업실적 ( 사번, 계약번호, 영업이익 ) * 스키마 : 관계형모델에서각테이블의속성을정의한틀 논리적데이터모델링 논리적데이터모델링 : 개념적스키마를논리적스키마로변환하는과정 - 개념적모델에서발견한개체들을관계 (relation) 또는테이블로바꾼다 - 각개체의식별자역할을할주키 (primary key) 를정한다 - 정규화 (normalization) 과정을거쳐논리적데이터모델을완성한다. 테이블 : 관계 (relation) 라고하며, 개체를집합개념으로표현한것으로서행과열로이루어진이차원표
Chapter 1 Players in the Systems Game 10 키 (key) 의종류 주키 (primary key) 한테이블에서유일한터플을구분시켜주는하나또는그이상의속성들의모임 후보키 (candidate key) 한테이블에서키역할을할수있는모든키의집합 대체키 (secondary key or alternate key) 후보키중주키로선정되지않은키 결합키 (combined key or concatenated key) 둘이상의속성이결합되어만들어진키 외부키 (foreign key) 한테이블에속한속성중다른테이블에서는기본키인속성 외래키는두테이블사이의관련성을지어주는매개체역할을함 무결성 개체무결성 (entity integrity) 한개체안에서는건을식별할수있는기준이되는속성이주키로지정이되어야하고, 이속성은반드시값을가지고있어야함 (not null) 참조무결성 (referential integrity) 한개체가다른개체에서온외부키를가지고있을때, 이외부키를제공한개체는반드시존재해야하고, 그값도반드시존재하고있어야함 컬럼무결성 (column integrity) 컬럼에서는반드시허용된형태나범위의자료가입력되어야함 사용자정의무결성 (user defined integrity) 사용자가업무규칙이나방침을반영하여데이터의성격을규정한것을어긴자료가데이터베이스내에존재해서는안됨
Chapter 1 Players in the Systems Game 11 정규화 정규화는어떤문제를지닌관계를문제가없는 2 개이상의관계로변형시키는과정 정규화과정은관계를가장높은정규형에속하도록만듬으로써이루어짐 비정규화된데이타베이스에서터플에대한조작은데이터이상을초래함 데이타이상 : 테이블에데이터의삽입, 삭제및갱신등과같은데이터조작후에생기는데이터의중복이나비일관성 정규화과정 정규화의이론은정규형 (Normal Form, NF) 의개념하에서형성 정규형의종류 제 1 정규형 (1NF), 제 2 정규형, 제 3 정규형, 보이스 - 카드정규형, 제 4 정규형, 제 5 정규형 정규화단계 비정규형 1NF 2NF 3NF BCNF 반복자료제거부분종속제거이행종속제거함수적종속에의한 자료이상제거
Chapter 1 Players in the Systems Game 12 제 1,2 정규형 제 1정규형 - 어느관계가제 1정규형이되려면관계의각속성은원자값만을포함해야함. 제 2정규형 - 어느관계가제 2정규형이되려면첫째, 이관계가제 1정규형에속해야하고, 둘째, 키가아닌모든속성들이기본키에 함수적으로종속 되어야함 - 함수적종속 (Function Dependency; FD) ㆍ R(A,B) 에서속성 A의값이결정되면오직한개의 B 속성값이존재하면 B는 A에함수적으로종속ㆍ즉 A는 B를결정하고 A를결정자 (Determinant) 라부름 제 1 정규화 비정규형테이블 제 1 정규형테이블 No. 24
Chapter 1 Players in the Systems Game 13 제 2 정규화 학생 성적 과목 관계형 DB 의정규화 제 3정규형은기본키에함수적으로종속되어있는비기본키속성들사이의함수적종속관계에초점을맞춤 제 3정규형의정의 - 어느관계가제 3정규형이되려면, 첫째이관계가제 2 정규형에속해야하고, 둘째이행적종속 (Transitive dependency) 이없어야함 No. 26
Chapter 1 Players in the Systems Game 14 제 3 정규화 학생 전공 정규화가완성된자료 학생 과목 전공 성적
Chapter 1 Players in the Systems Game 15 정규화된데이터모델 데이터베이스관련용어비교 현실세계파일시스템관계형 DB 개체 File Table 속성 Field Column 기록 ( 건 ) Record Row or Tuple