시스템설계와데이터베이스 을지대학교병원직업환경의학과김수영 (kimsooy@gmail.com) www.emc.ac.kr 목 차 Ⅰ. 정보시스템의생명주기 Ⅱ. 데이터베이스의설계단계 Ⅲ. 데이터모델 Ⅳ. 데이터베이스정규화 1
System? 어원: 그리스 어 Systema 함께(Syn) 놓다(Histem) 정의 어떤 목적을 달성하기 위해 서로 관련된 요 소들이 모여 하나의 전체를 구성하는 것 정보시스템의 생명주기 실현가능성 검토 운 영 요구사항 수집 및 분석 확인 및 테스트 설 계 구 현 2
데이터베이스의 설계단계 요구조건분석 사용자가 원하는 데이터베이스 용도를 파악하는 단계 개념적 설계 사용자들의 요구사항을 이해하기 쉬운 형식으로 간단히 기술하는 단계 (결과물:개념적 데이터베이스 스키마) 논리적 설계 개념적 설계에서 만들어진 구조를 구현 가능한 data 모델로 변환하는 단계 (결과물:논리 데이터베이스 스키마) 물리적 설계 논리적 설계 단계에서 생성된 논리 데이터베이스 스키마로부터 효율적으로 구현 가능한 물리 데이터베이스 스키마를 설계하는 단계 구 데이터베이스 구조가 컴퓨터내에서 정의되고, 구현된 후 설계 데이터가 적재되는 단계 현 데이터 모델 (1) 클래스화 (classification) 같은 속성을 지닌 개체들끼리 묶어 다른 개체 그룹과 구별되는 하나의 그룹으로 구성하는 것 ex) 여러 의사 개체들을 묶어 의사라는 개체로 구분하고 여러 환자들을 묶어 환자 라는 개체로 구분 집단화 (aggregation) 일반화 (generalization) 여러 속성들을 그룹지어 하나의 개체로 식별하는것 실제로는 다른 성질을 지닌 여러 개체들을 보편적이고 포괄적인 하나의 개체로 식별하는 것 ex) 의사면허번호, 이름, 소속 등을 묶어 의사라는 하나의 개체를 구성 ex) 의사, 간호사, 임상병리사 를 묶어 고용인 이라는 하나 의 개체로 만드는것 3
데이터모델 (2) 데이터베이스개념모델 - 추상화기술을사용하여제일먼저생성되는모델로현실세계의일부를추상화하여표현하는방식예 ) 건물로말하자면철제빔으로건물의골격을세워놓은것과같다. - 흔히개체-관계모델 (entity-relationship model) 을사용. 기본적인객체를나타내는개체 (entity) 들과개체들간의관계 (relationship) 로 구성된현실세계의인식에기반한모델 - 3 가지기본개념 : 개체 (entity), 속성 (attribute), 관계 (relationship) 데이터모델 (3) 논리적데이터모델 - 개념적모델링과정에서얻은개념적구조를컴퓨터가이해하고처리할수있는 - 컴퓨터세계의환경에맞도록변환하는과정이필요. - 이과정에서사용되어지는모델이논리적데이터모델 - 데이터간의관계를어떻게표현하느냐에따라 - 관계형모델, 객체지향형모델, 계층형모델, 네트워크형모델로나눔. - 데이터와데이터들간에관계를표현하기위해테이블 (table) 을사용 - 개념적모델에서사용한개체-관계모델 (=ER모델) 을논리적데이터모델로변형할때 - 관계형모델로변형하는것이매우용이함. - 현재가장많은 DBMS( 데이터베이스관리시스템 ) 가기초로하는모델임. 4
데이터베이스란? 데이터베이스관리시스템 (Database Management Sysem) 데이터베이스의목적 수작업이나파일처리시스템의제한적활용성의문제에대한해결방안 파일처리시스템 - 필요한정보들을단순파일에저장하여응용프로그램을통하여접근하는방식 5
파일처리시스템의단점 1. 데이터일관성의부재 2. 데이터접근의어려움 3. 데이터격리 4. 무결성 5. 시스템장애에대비한데이터변경작업실패의복구문제발생 6. 다수의사용자를허용할경우병행성제어문제발생 7. 보안상의문제 데이터베이스기본개념및용어 개체 (Entity) 속성 (Attribute) 관계 (relationship) 레코드 테이블 기본키보조키 6
예 ) 입원환자들에대한정보를유지하는입원환자라는테이블에입원병동이라는속성이존재한다면, 환자의병록번호는기본키가되며, 입원병동은보조키가된다. 의사번호의사명환자병록번호환자명 33832 박문수 9163030 김철수 33832 박문수 2175357 갑순이 11332 김민식 6997504 홍길동 11265 채만수 5950977 이은정 위의표에서관계명은담당의사가되고, 이테이블의이름이된다. 데이터정의어 (Data Definition Language, DDL) 1. 정의어 2. 데이터조작어 (Data Manipulation Language, DML) 7
데이터관점 외부스키마 스키마 (Schema) 3 단계데이터베이스 스키마아키텍쳐 개념스키마 내부스키마 ( 물리스키마 ) 1. 3 단계데이터베이스스키마아키텍쳐가제안된근거 -> 스키마들간의독립성이보장되어야함 ( 데이터독립성 ) 2. 독립성 : 개념스키마를변경해도외부스키마, 즉응용프로그램에영향을미치지않음을의미 3. 물리적데이터독립성 : 내부스키마를변경해도개념스키마나외부스키마에영향을미치지않음을의미 8
데이터베이스정규화 (1) 데이터베이스에삽입, 삭제, 갱신들의연산이가해졌을때초래되는문제유무를 이론화한것을말함. 정규화의레벨이높을수록문제가발생할확률이적어진다. 제 1 정규형 (the first normal form, 1NF) 모든에트리뷰트 ( 속성 ) 들이원자값만을가져야한다. 즉, 반복그룹이존재해서도, 원자값이둘이어서도안된다. 모델기통수국가관세등록세 BMW-325 4 독일 15,000 30,000 그랜져 6 한국 0 45,000 사브 -900 4 스웨덴 18,000 30,000 아코드 4 일본 30,000 30,000 체어맨 8 한국 0 60,000 그랜져 4 캐나다 0 30,000 체어맨 6 캐나다 0 45,000 아우디 -A4 4 독일 15,000 30,000 데이터베이스정규화 (2) 제 2 정규형 (the second normal form, 2NF) 1NF이고, 모든에트리뷰트 ( 속성 ) 가기본키에완전함수종속적즉, 완전종속적이어야지부분의존적이어서는안된다. 모델 기통수 국가 관세 등록세 BMW-325 4 독일 15,000 30,000 그랜져 6 한국 0 45,000 사브-900 4 스웨덴 18,000 30,000 아코드 4 일본 30,000 30,000 체어맨 8 한국 0 60,000 그랜져 4 캐나다 0 30,000 체어맨 6 캐나다 0 45,000 아우디-A4 4 독일 15,000 30,000 기통수만가지고도등록세를알수가있다. 있다고한다. 이런걸기통수와등록세는함수적종속관계에 9
데이터베이스정규화 (3) 제 2 정규형 (the second normal form, 2NF) 모델 기통수 국가 관세 BMW-325 4 독일 15,000 그랜져 6 한국 0 사브-900 4 스웨덴 18,000 아코드 4 일본 30,000 체어맨 8 한국 0 그랜져 4 캐나다 0 체어맨 6 캐나다 0 아우디-A4 4 독일 15,000 등록세 기통수 30,000 4 45,000 6 60,000 8 자동차테이블 등록세테이블 데이터베이스정규화 (4) 제 3 정규형 (the third normal form, 3NF) 2NF이고, 이행함수종속적키에속하지않는모든에트리뷰트값이기본키에의해서만결정되어질때 3정규형이된다. 모델 기통수 국가 관세 BMW-325 4 독일 15,000 그랜져 6 한국 0 사브-900 4 스웨덴 18,000 아코드 4 일본 30,000 체어맨 8 한국 0 그랜져 4 캐나다 0 체어맨 6 캐나다 0 아우디-A4 4 독일 15,000 관세가국가에트리뷰트에의해결정되어짐. 이런걸이행함수종속적관계에있다고한다. 10
데이터베이스정규화 (5) 제 3 정규형 (the third normal form, 3NF) 모델 기통수 국가 BMW-325 4 독일 그랜져 6 한국 사브-900 4 스웨덴 아코드 4 일본 체어맨 8 한국 그랜져 4 캐나다 체어맨 6 캐나다 아우디-A4 4 독일 국가 관세 독일 15,000 한국 0 스웨덴 18,000 일본 30,000 캐나다 0 기통수등록세 4 30,000 6 45,000 8 60,000 자동차테이블 관세테이블 등록세테이블 데이터베이스정규화 (6) - 이밖에도보이스 / 코드정규형 (Boyee/Codd normal form, BCNF) - 제 4 정규형 (The fourth normal form, 4NF) 등으로표시한다. - 실제데이터베이스를구현할때제 3 정규형까지만고려하여설계하는것이보편적이다. - 높은정규형을만족한다고해서최적의설계는아니다. 11