데이터베이스정의와특성 데이터베이스 (DB, DataBase) 어느한조직의여러응용시스템을공유할수있도록통합, 저장, 운영되는데이터집합 데이터베이스의성질 통합된데이터 (integrated data) 저장된데이터 (stored data) 운영데이터 (operational data) 공용데이터 (shared data) - 1 -
데이터베이스정의와특성 ( 계속 ) 데이터베이스의특성 실시간접근성 (real-time accessibility) 사용자의요구즉시처리 계속적인변화 (continuous evolution) 새로운것을계속갱신 동시공유 (concurrent sharing) 여러사람이서로다른목적으로동시에접근 내용에의한참조 (content reference) 위치나주소가아닌데이터내용에따라참조 - 2 -
데이터베이스관리시스템 (DBMS) DBMS(DataBase Management System) 데이터와응용프로그램사이에존재하여서로를중재하는역할을하는것 응용프로그램들이데이터베이스를공용할수있도록관리해주는소프트웨어시스템 데이터베이스구성, 접근방법, 관리, 유지에관한모든기능을통합적으로수행할수있도록작성된소프트웨어 - 3 -
데이터베이스관리시스템 (DBMS)( 계속 ) DBMS 기능 데이터를정의, 조작, 제어 - 4 -
데이터베이스관리시스템 (DBMS)( 계속 ) DBMS 장점 데이터의중복최소화 데이터공용 데이터의일관성유지 데이터의무결성유지 데이터의보안보장 전체데이터의요구사항파악하여조정 DBMS 단점 운영비많이소요됨 고도의기술이요구됨 처리절차에변화생길수있음 시스템의고장에대한예비조치와회복기법이어려움 - 5 -
데이터베이스관리시스템 (DBMS)( 계속 ) DBMS 구성요소 질의어처리기 (query processor) 파일관리자 (file manager) 데이터관리자 (data manager) 예비컴파일러 (precompiler) 데이터조작어컴파일러 (DML compiler) 데이터정의어컴파일러 (DDL compiler) 데이터베이스 (database) 데이터사전 (data dictionary) - 6 -
데이터베이스구성요소 개체 (entity) 데이터베이스에데이터로표현하려고하는실세계의대상체 유형또는무형의객체 (object) 로서서로구별되는것 관계 (relationship) 데이터베이스시스템에는개체에관한정보뿐만아니라이러한관계에대한정보를표현할수있는수단을지원함 개체관계와속성관계 - 7 -
데이터베이스구성요소 ( 계속 ) 스키마 (schema) 데이터베이스의논리적정의인데이터구조와제약조건에대한명세 (specification) 를기술한것 외부스키마 (external schema) 데이터베이스의개별사용자나응용프로그래머가접근하는데이터베이스를정의한것 서브스키마 (subschema) 개념스키마 (conceptual schema) 기관이필요로하는정보를생성하기위한모든데이터개체들에대한정의뿐만아니라데이터베이스접근권한, 보안정책, 무결성규칙에대한명세를기술한스키마 내부스키마 (internal schema) 물리적인데이터구조 저장스키마 (stored schema) - 8 -
데이터베이스구성요소 - 스키마 ( 계속 ) 3 단계데이터베이스 - 9 -
데이터베이스구성요소 ( 계속 ) 데이터베이스언어 데이터정의어 (DDL, Data Definition Language) 데이터베이스의구조나데이터형식, 처리방식등을정의한언어 데이터조작어 (DML, Data Manipulation Language) 데이터베이스에대한검색, 삽입, 삭제, 변경연산등을하는언어 데이터제어어 (DCL, Data Control Language) 데이터베이스를공유하기위해파일의데이터구조를서술하는데사용되는언어 - 10 -
데이터베이스모델 ( 계속 ) 관계형데이터베이스 (relational database) 모델 개체집합에대한속성관계를표현하기위해개체를테이블 (table) 로사용하고개체집합들사이의관계를공통속성으로연결하는독립된형태의데이터모델 현재가장많이사용하는모델 - 11 -
Section 3. 데이터베이스설계 - 관계도 (ERD) 의이해와작성 개체 - 관계 (E-R) 모델링 개체와관계성을도형으로표시하는모델 현실세계를개체집합과관계집합으로나누어서개념적으로표현하는방식 데이터를개체 (entity), 관계 (relationship), 속성 (attribute) 으로묘사 개체 - 관계다이어그램과논리적데이터모델 - 12 -
관계형모델 (relational model)( 계속 ) 무결성제약조건 (integrity constraint) 개체무결성제약조건 (entity integrity constraint) 기본키로지정된속성들은모든튜플에대해널 (NULL) 이될수없다는제약조건 참조무결성제약조건 (referential integrity constraint) 외래키에대한제약조건 릴레이션 R1이릴레이션 R2를참조할경우 릴레이션 R1의널 (NULL) 이아닌외래키값은반드시릴레이션 R2의기본키값에나타나야한다는것 - 13 -
데이터베이스설계의기본 ( 계속 ) 데이터종속성과독립성 데이터종속성 응용프로그램과데이터간의상호의존관계를나타냄 데이터구성방법이나구성형식, 접근방법이변경되면이와관련된응용프로그램도같이변경되어야함 데이터독립성 데이터베이스에서데이터와데이터가사용하는응용프로그램이서로영향을받지않는경우 데이터가논리적이거나물리적으로독립적인상태에있는것 - 14 -
정규화개념 정규화 (normalization) 함수적종속성등의이론을이용하여잘못설계된관계형스키마를더작은속성의세트로쪼개어바람직한스키마로만들어가는과정 (ex) - 15 -
정규화개념 ( 계속 ) 제 1 정규형 (1NF) 하나의제한조건을둔것으로주어진릴레이션내에존재하는도메인값들이원자값만을포함하는경우 불필요한데이터의중복발생 삽입, 삭제, 갱신등의이상현상발생 - 16 -
정규화개념 ( 계속 ) 제 2 정규형 (2NF) 키가아닌모든속성이기본키에충분한함수적종속을만족하는정규형 기본키에이행적함수종속으로인한이상현상발생 (ex) 이행적함수종속 : A B 와 B C 가성립하면 A C 도성립 - 17 -
정규화개념 ( 계속 ) 제 3 정규형 (3NF) 제 2 정규형을만족하고모든키가아닌속성이기본키에대해이행적함수종속이아닌경우 후보키가서로중첩되는경우적용불가능 (ex) - 18 -
정규화개념 ( 계속 ) 보이스코드정규형 (BCNF) 제3정규형의특수한경우로강한제3정규형이라고도함 모든결정자가후보키를갖는릴레이션 (ex) - 19 -
정규화개념 ( 계속 ) 제 4 정규형 (4NF) BCNF에속하고모든다치종속 (MVD, MultiValued Dependency) 이함수종속일경우 다치종속 (MVD) 릴레이션 R의애트리뷰트 A,B,C에서 (A, C) 값에대응되는 B의값이 A에만종속되고 C값에는독립적이면 B는 A에다치종속임 (A ->> B로표기 ) Fagin 의정리 R(A,B,C) 에서 A ->> B C 가존재하면 R(A, B) 와 R(A, C) 로분해가능 - 20 -
정규화개념 제 4 정규형 (4NF)( 계속 ) (ex) - 21 -
폭포수모형 (Water fall) 1950 년대항공방위소프트웨어시스템개발경험을토대로처음소개됨 1970 년대부터소프트웨어공학교과서나산업계에서의표준 - 22 -
폭포수모형 (Water fall)( 계속 ) 계획 소프트웨어개발의실현가능성을가늠하는활동 요구분석 타당성조사를해서문제를명확하게분석하고최적의해결방안을제시할수있어야함 개발되는소프트웨어시스템의기능, 제약조건, 목표등이시스템사용자와더불어명확하게정의되어야하는단계 요구분석의결과물로사용자의요구와시스템개발자들이요구에부응하는것을확인하는명세서 (system specification) 를얻게됨 - 23 -
폭포수모형 (Water fall)( 계속 ) 설계 요구분석단계에서얻어진결과물을가지고어떻게시스템을구성할것인가하는것이문제 시스템구조설계, 프로그램설계, 사용자인터페이스설계가핵심 결과물 구현 소프트웨어시스템의구조를나타내는설계서 앞단계에서설계된모듈들이실질적인프로그램으로작성됨 원시코드로작성된각모듈은단위테스트를거쳐서검정되어야함 - 24 -
데이터전송유형 ( 계속 ) 회선접속방식에따른분류 점 - 대 - 점 (point-to-point) 방식 / 지점간방식 컴퓨터에서각터미널로연결할때 1:1 방식으로직접연결하는방식 다지점간 (multipoint) 방식 둘이상의통신장치가하나의회선을공유하는방식 - 25 -
회선망 (topology) 의유형 ( 계속 ) 링 (ring) 형 원형의형태로인접한두개의노드를점-대-점방식으로연결 버스형에비해유지보수쉬움 종류 한방향으로만정보가전달되는단방향링 양방향으로전송하는이중링 - 26 -
회선망 (topology) 의유형 ( 계속 ) 성 (star) 형 중앙의노드에다른노드들을점 - 대 - 점방식으로연결한형태 중앙집중적구조로유지보수가쉽고전송제어가간단 - 27 -
회선망 (topology) 의유형 ( 계속 ) 매시 (mesh) 형 주컴퓨터의중계없이직접노드들상의정보통신이가능한형태 일부회선의장애발생시다른경로를통해전송가능 복잡한통신망구조로제어가어려움 - 28 -
데이터전송방식 직렬전송 (serial transmission) 각데이터비트들이하나의통신회선을이용하여 1 비트씩순차적으로전송되는방식 동기화 (synchronization) 필요 동기화 송신측과수신측사이에정보를주고받는비트타이밍을맞추는절차 - 29 -
데이터전송방식 직렬전송 ( 계속 ) 비동기식전송 (asynchronous transmission) 문자단위의비트블록을전송단위로함 시작비트와정지비트이용 Start-Stop 방식 상대적으로낮은전송효율로인해소형컴퓨터와주변기기전송에주로사용 - 30 -
데이터전송방식 직렬전송 ( 계속 ) 동기식전송 (synchronous transmission) 데이터블록을생성하여블록단위로전송 긴길이의비트열전송 데이터블록동기화를위해새로운데이터블록전송전에동기비트를전송하여동기화 - 31 -
데이터전송방식 ( 계속 ) 병렬전송 (parallel transmission) 각데이터비트하나하나에대응하는통신회선이있어서비트블록을한꺼번에전송하는방식 비트블록 하나의문자를표시하는데필요한비트수 단위시간당다량의데이터전송가능 전송거리가짧은컴퓨터의 CPU 와주변장치사이의전송에이용 - 32 -
통신망유형 ( 계속 ) 메시지교환망 (message switching) 송신측노드에서메시지를받아적절한회선이빌때까지저장하였다가메시지의길이그대로다음노드로전송하는방식 축적교환 (store and forward) 방식의사용으로데이터지연시간발생 특징 메시지단위로정보전송 통신회선의효율적이용 메시지의분실을방지하기위해번호, 날짜, 시간등을메시지에추가하여전송 - 33 -
통신망유형 ( 계속 ) 패킷교환망 (packet switching) 회선과메시지교환망의장점을결합한패킷 (packet) 단위의전송망 종류 특징 패킷 메시지를일정한크기로분할한단위 가상회선 (virtual sircuit) 방식 데이터그램 (datagram) 방식 패킷은데이터송수신처와제어코드등의정보를포함 다른회선으로우회전송가능 오류검출기능수행, 재전송가능 경로배정, 트래픽제어, 오류제어기능필요 - 34 -
근거리통신망 근거리통신망 (LAN, Local Area Network) 동일건물이나일정거리내에있는다양한컴퓨터관련기기들을상호연결하여이들간에빠른속도로정보를교환할수있도록설계한네트워크형태 전송방식에의한분류 베이스밴드 (base band) 데이터신호의변조없이자기고유의주파수영역을사용하는방식 디지털신호를변조없이그대로사용 - 35 -