본문 바로가기
개발 아닌 다른것

[병원 정보 시스템] 06. 의료데이터베이스

by universedevelope 2024. 10. 7.

 

 

안녕하세요. 병원정보기술 관련 내용을 필기하고 정리한 내용입니다.

-- 의료데이터베이스

--- 01. 병원데이터베이스의 개요
	> 개요
	  - 보건의료의 모든 의사결정에서 데이터는 중심적인 역할을 수행하므로 데이터는 신뢰할 수 있고 완전하며, 구조화
	    가 잘 되어야 한다.
	  - 처방전이나 진료내역, 진료비, 약품, 의료소모품 등 다양한 구조를 가진 자료를 통합하여 저장 및 관리해야 한다
	    .
	  - 자료의 종류에 따라서는 장기간 저장을 해야 하고 임상연구나 진단에 관한 의사결정을 지원하기 위하여 필요자료
	    및 의학 영상자료도 저장하여 필요시 즉시 추출할 수도 있어야 한다.

	> 필요성
	  - 일반적으로 데이터는 구조화되어 있지 못하여 기록이 중복되고 기록 양식이 상이하며, 또한 검색 및 수정에 어려
	    움이 있는 등 효율적인 업무  추진에 많은 지장을 초래한다.
	  - 늘어나는 데이터량의 관리가 점차 어려워져 과거의 파일 시스템으로는 이를 감당하기가 어렵게 되었다.
	  - 의료기관 및 기업 등에서도 조직의 규모가 수직적 또는 수평적으로 커짐에 따라 데이터 관리에서 통합적이며, 생
	    산적인 정보 창출을 위해 발전적인 방법이 필요하게 되어 보다 선진적인 데이터베이스 관리시스템 구축이 요구되
	    고 있다.

	> 데이터베이스의 정리
	  - 현실 세계에 근거를 둔 여러 데이터를 통합하는 관점에서 서로 관련성이 있는 데이터의 중복(redundancy)을 최소
	    화하여 하나의 저장 공간에 기록함으로써 다수의 사용자로 하여금 필요한 정보를 공유하도록 하는 정보의 집합체
	    이다. 즉, 데이터베이스(database, data base DB)란 관련된 데이터의 모임 또한 집합을 말한다.

	  - 데이터베이스 설계시 고려사항	

	    =========================================================================================================
					[DATA BASE]
	    =========================================================================================================
					    ↑
	    =========================================================================================================
			구조적 타당성	  단순성	비중복성
			공유성		  무결성	확장성
	    =========================================================================================================
					    ↑
	    =========================================================================================================
			위치 투명성			조회 수정 투명성
			트랜잭션의 투명성		장애해결 투명성
			복사 투명성			성능 투명성
	    =========================================================================================================

	  - 통합데이터 : 동일데이터의 중복을 배제하여 중복을 최소화
	  - 저장데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터의 집합
	  - 운영데이터 : 조직의 존재 목적이나 유용성 면에서 필수적인 데이터의 집합
	  - 공용데이터 : 한 조직에서 여러 응용프로그램이 공동으로 소유, 유지 가능한 데이터

	> 데이터베이스의 목적
	  - 늘어나는 데이터양의 관리가 점차 어려워져 과거의 파일처리 시스템(file processing system)으로는 이를 감당하
	    기가 어렵게 되면서 아래의 표와 같은 목적으로 데이터베이스를 활용하게 되었다.

	    =========================================================================================================
	    [구분]			[의미]
	    =========================================================================================================
	    데이터의 독립성		응용프로그램과 데이터 간의 독립성을 말한다.
					논리적 독립성은 데이터베이스의 논리적 구조변경이 응용프로그램에 영향을 미치지
					않는 성질을 의미, 물리적 독립성은 데이터베이스의 물리적 구조변경이 데이터베이
					스의 논리적 구조나, 응용프로그램에 영향을 주지않는 성질을 의미한다.

	    데이터의 공유성		데이터베이스에서 관리하는 데이터는 하나의 응용프로그램이 독점하지 않고 여러개
					의 응용프로그램이 데이터를 공유할 수 있도록 제공할 수 있다.

	    데이터의 보안성과 안전성	정보누출 등에 대한 보안(security)기능을 제공하고, 컴퓨터의 외부 장애나 고장사
					고로부터 데이터의 안전을 보장.

	    데이터의 무결성		데이터에 결점이 없는 성질을 말하는 것으로서 데이터베이스가 얼마나 정확한 가를
					의미함.
	    =========================================================================================================

	> 데이터베이스의 특징
	  - 데이터베이스에는 다양한 데이터가 수록되어 있으며, 사용자는 데이터베이스관리시스템을 이용하여 데이터와 rea
	    d, write, update, delete(읽기, 쓰기, 수정, 삭제)등의 기능으로 데이터를 조작하거나, 보고서작성 또는 데이터
	    의 다양한 활용을 위해 데이터를 다양하게 분석할 수 있다. 데이터베이스의 특징은 아래 표와 같다.

	    =========================================================================================================
	    [구분]	[의미]
	    =========================================================================================================
	    장점	데이터의 여러 응용 프로그램에서 다중으로 이용 가능
			데이터 수정 시 DBMS을 이용하기에 융통성 확보
			데이터 관리의 용이성
			내용에 의한 데이터의 엑세스

	    단점	전산화 비용의 증가와 시스템의 복잡화
			프로그래머의 재교육이 필요하게 되고 패키지 운용 요원이 필요
			병원 내 하드웨어와 소프트웨어의 추가구입 및 운용비용이 증가
			데이터의 집중 관리로 데이터 백업 비용이 증가
	    =========================================================================================================

	> 데이터베이스의 구성

	  ===========================================================================================================
	  [요소]			[의미]
	  ===========================================================================================================
	  데이터			데이터는 환자, 질병, 진단 또는 다른 어떤것에 관한 있는 그대로의 사실을 의미한
					다. 즉 병원에서 환자나 병원조직으로부터 매일 발생하는 엄청난 양의 가공되지 않
					은 데이터를 말한다.

	  하드웨어			데이터베이스가 물리적으로 저장될 저장장치, 저장장치와 연결된 입/출력 장치, 장
					치, 장치제어기, 그리고 입출력 채널 등을 들 수 있다.

	  소프트웨어			물리적 데이터베이스와 사용자를 연결시켜 주는 소프트웨어를 데이터베이스 관리시
					스템(DBMS) 이라고 한다. 이 시스템은 데이터의 관리에 대한 대부분의 사항을 효율
					적으로 지원해준다.

	  사용자			개인 사용자나 규모가 작은업체의 경우에는 한 명의 사용자가 직접 데이터베이스를
					설계하고 구축하고 그러나 대형의 데이터베이스를 설계하고, 구축하여 사용하는 데
					는 응용프로그래머와 같은 다수의 사람들이 관여하게 된다.

	  응용프로그램 개발자		환자예약 및 처방전달시스템(OCS) 등과 같은 응용프로그램들은 많은 양의 데이터를
					관리해야 할 필요성이 있으며, 응용프로그램 개발자라 함.

	  데이터베이스 관리자		DBMS을 운용하기 위해서는 하드웨어나 운영체제의 자원들을 이용한다. 이들 자원을
					관리 감독하는 관리자를 데이터베이스 관리자라 함.
	  ===========================================================================================================

--- 02. 데이터베이스 모델
	> 데이터베이스 모델은 물리적 혹은 추상적으로 존재하는 현실세계를 단순하고, 정형화된 형태로 표현하는 하나의 방
	  식 또는 규범이라고 정의할 수 있으며, 데이터베이스 모델은 데이터를 정의하고 데이터들 사이의 관계를 규명하며,
	  데이터의 의미와 데이터에 가해진 제약 조건을 나타내는 개념적 도구들을 말한다.

	> 관계형 모델
	  - 관계형 모델의 개념
	    > 관계형 모델(relation data model)은 개체(entity)집합과 개체 집합 사이에 어떤 특정 연관성과 더불어 다양한
	      관계의 의미를 잘 평가하여 표현하는 모델로 데이터베이스 설계에서 중요한 관건이다.

	      - 개체(entity) : 데이터베이스에 저장될 실세계의 개체나 개념을 의미한다.
	      - 속성(attribute) : 개체의 속성을 표현한다.
	      - 관계(relationship) : 두 개의 개체들 사이의 연관성을 의미한다.
		
	      - 관계형 모델의 장/단점
	
		=====================================================================================================
		[구분]		[의미]
		=====================================================================================================
		장점		데이터의 독립성과 구조적 독립성을 지원한다.
				구조가 단순하며 사용이 편리하다.
				데이터의 다대다(n:m) 관계를 표현할 수 있다.
				데이터베이스 설계와 관리가 다른 모델보다 편리하다.
				다른 데이터베이스로 변환이 쉽다.
			
		단점		다른 모델에 비해 DBMS 성능이 떨어진다.
				데이터 종속성과 구조적 종속성, 강력한 질의처리 등을 해결하기 위해 하드웨어와 운영체제
				등에 부담이 따른다.
				장애 발생 시 회복 과정이 복잡하다.
		=====================================================================================================

	  - 관계형 데이터모델의 용어
	    > 관계(relation) : 정보를 추출하는데 주요한 역할을 하는 관계는 현실 세계를 개념 세계로 표현할 때, 구성 원
			       소사이에 1:1, 1:n, m:m의 사상을 의미
	    > 속성(attribute) : 데이터의 가장작은 논리적 단위로서 파일 구조상의 테이블의 열을 나타내는 데이터 항목 또
				는 데이터 필드와 같은 의미
	    > 튜플(tuple) : 테이블의 행을 튜플이라고 하며, 열의 수가 n인 경우 n튜플을 의미
	    > 도메인(domain) : 속성들이 나타날 수 있는 값의 집합, 예를 들어 성별의 도메인은 남과 여를 의미
	    > 수퍼 키(super key) : 한 DB내에서 모든 필드의 집합도 키가 될 수 있다. 이렇게 아무런 제약조건 없이 레코드
				   들을 식별할 수 있는 필드의 집합을 말함
	    > 기본 키(primary key) : 한 DB 내에서 모든 튜플을 유일하게 구별할 수 있는 속성을 의미하며 관계형 모델에서
				     후보키 중에서 하나만을 식별자로 정의할 수 있고, 이를 말함
	    > 후보 키(candidate key) : 두 대 이상의 조합을 이루어서 비로소 유일하게 튜플을 구별할 수 있는 키

	> 계층형 모델
	  - 서로 링크(link)를 사용하여 자료와 자료 사이의 관계성을 표시한다.
	  - 데이터베이스를 구성하는 각 레코드가 계층적 관계인 트리(tree) 형태로 표현한 것으로, 데이터 관계는 속성(att
	    ribute)관계와 개체(entity)관계를 갖는다.
	  - 개체는 그림에서 환자의 이름이나 주소 등이 각각을 의미하며 속성은 각 개체가 자신을 표현하기 위한 고유의 특
	    성을 의미한다.
	  - 계층형 모델의 장/단점
	    
	    =========================================================================================================
	    [장점]							[단점]
	    =========================================================================================================
	    사용자가 쉽게 이해하고 사용하기 쉽다.			제한사항으로 자료 구조가 복잡해진다.
	    제한사항이 많기 때문에 다른 모형보다 사용하기가 쉽다.	엄격한 구조로 인하여 레코드 추가, 삭제가 매우
	    미리 정의된 관계를 통해서 성능 예측이 단순하다.		복잡하다.
									전체 삭제하는 경우, 세그먼트의 정보 손실이 발
									생한다.
									선형 검색 방법으로 탐색하므로 동시에 양방향에
									서 대칭적 검색은 어렵다.
	    =========================================================================================================
	    
	> 네트워크형 모델
	  - 계층형 모델에서 획일적인 트리(tree)구조 형성을 위하여 가한 제약 사항을 탈피하여, 서로 관련 있는 세그먼트(
	    segment)들이 그물처럼 연결하여 전체 구조를 하나의 망처럼 구성한 모델이다. 관계를 표현하는 집합으로 구성되
	    며, 각 집합은 오너(owner) 레코드와 멤버(member) 레코드의 주종관계로 표현된다. 네트워크 모델의 장단점은 표
	    와 같다.
	  - 네트워크 모델의 장/단점

	    =========================================================================================================	   	    
	    [장점]						[단점]
	    =========================================================================================================
	    다양한 검색을 할 수 있다.				프로그램 작성이 복잡하며, 데이터의 독립성을 유지 하기 
	    데이터 접근과 유연성이 계층 모델보다 우수하다.	어렵다.
								데이터베이스 구조 변경시에는 관련된 모든 응용프로그램
								을 수정해야 한다.
	    =========================================================================================================

--- 03. 데이터베이스시스템 구성
	> 데이터베이스를 관리하는 데이터베이스시스템은 크게 스키마(schema), 데이터베이스, 데이터베이스 언어, 데이터베
	  이스관리시스템(DBMS), 데이터베이스 사용자(user)와 같은 요소들에 의하여 구성, 유지, 관리되어진다.
	
	> 스키마
	  - 스키마(Schema)는 데이터베이스의 논리적 구조를 전체적으로 명시한 것을 의미한다.
	  - 스키마에는 개체 사이의 속성, 개체, 관계, 데이터의 구조와 조작 방법, 데이터 값들이 갖는 제약조건 등에 관한
	    정의를 포함한 의미를 갖는다.
	  - 데이터베이스 스키마(database schema) : 데이터의 성질, 형식, 또는 데이터간의 관계 등 데이터 정의의 집합 즉
	    , 데이터베이스를 구성하는 필드, 레코드, 파일의 형과 이들 간의 관계 등 데이터베이스의 전체적인 설계를 의미
	    한다. 스키마의 분류에 의한 의미는 표와 같다.

	    =========================================================================================================
	    [구분]			[의미]
	    =========================================================================================================
	    외부 스키마			데이터베이스의 논리적 구조로서 공용의 의미보다는 어느 특정 응용에 국한된 논리
					적 데이터베이스 구조로, 전체 데이터베이스의 한 논리적 부분으로 간주할 수 있기
					때문에 서브스키마라고도 한다.

	    개념 스키마			데이터베이스의 전체적인 논리 구조로서 모든 응용프로그램이나 사용자들이 필요로
					하는 데이터를 종합한 조직 전체의 데이터베이스 구조로 한 개만 존재한다. 단순히
					스키마라고도 한다.

	    내부 스키마			물리적 저장 장치의 입장에서 본 데이터베이스의 구조를 말한다. 내부 레코드의 형
					식, 인덱스의 사용법, 저장데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등
					을 기술한다.
	    =========================================================================================================
	    
	  - 데이터베이스 스키마 구조

	    =========================================================================================================	    
	    		[외부 스키마1, 학적과]					[외부 스키마n, 학생과]
	    =========================================================================================================
	    외부	<학생 개체>						<학생 개체>
	    단계	[학번] [성명] [성적]					[학번] [성명] [주소]
			8      10     20					8      10     30
	    =========================================================================================================
					↘	응용 인터페이스		↙
	    =========================================================================================================
	    개념			[학번]	[성명]	[성적]	[주소]
	    단계			8	10	20	30
	    =========================================================================================================
							↕
						저장 인터페이스
							↕
	    =========================================================================================================
	    내부				[개념 스키마 저장 형태 기술]
	    단계	학번 : 8 Byte	성명 : 10 Byte	성적 : 20 Byte	주소 : 30Byte	총길이 : 68 Byte
	    =========================================================================================================
							↕
						장치 인터페이스
							↕
	    =========================================================================================================
						[데이터베이스]
	    =========================================================================================================

	> 데이터베이스 언어
	  - 데이터베이스를 정의하고 이용하는 수단을 말하며 데이터 언어라고도 한다. 데이터베이스 언어의 의미는 다음 표
	    와 같다. 상용 시스템에서 가장 광범위하게 사용되고 있는 데이터베이스 언어가 SQL(Structured Query Language)
	    이며, 1974년 IBM연구소에서 관계형 DBMS를 위해 개발되었고 1986년 ANSI와 ISO에서 표준 질의어로 채택된 SQL언
	    어는 현재 최근 버전은 2003년 개발된 SQL3이다. SQL은 데이터베이스 사용자가 사용가능한 자연어로 구성되어 대
	    화식으로 데이터베이스를 쉽게 이용하도록 만든 언어로 SQL이 제공하는 기능들은 데이터정의 언어(DDL)와 데이터
	    데이터조적 언어(DML)로 구분할 수 있다.

	  - 데이터베이스 언어의 의미

	    =========================================================================================================	    
	    [구분]			[의미]
	    =========================================================================================================
	    데이터 정의어		데이터 정의어는 DB를 구축하는데 필요한 언어로 데이터베이스에 의해 사용되는 데
	    Data Definition Language	이터의 저장구조를 명시하는 언어로 테이블을 생성하거나 수정, 삭제하는 명령문을
	    (DDL)			제공한다.

	    데이터 조작어		사용자가 데이터에 접근하고 조작할 수 있게하는 언어로 데이터베이스에 저장된 정
	    Data Manipulation Language	보의 검색 이외에, 레코드의 삽입(insert), 삭제(delete), 수정(update)과 같은 명
	    (DML)			령문을 제공한다.

	    질의어			단일 사용자가 데이터베이스 파일과 범용 프로그래밍 언어를 정확히 알지 못하므로
	    (SQL)			, 사용가능한 자연어로 구성되어 대화식으로 데이터베이스를 쉽게 이용하도록 만든
					언어.

	    데이터 제어언어		데이터 제어를 정의하고 기술하는 언어.
	    Data Control Language
	    (DCL)
	    =========================================================================================================

	    > 데이터베이스/테이블 정의 언어(명령문)
	      - 데이터베이스 생성 - Create Database (데이터베이스 이름)
	        예) 병원 DB라는 이름의 데이터베이스를 생성 
	 	    > CREATE DATABASE 병원DB;

	      - 테이블 생성 - Create Table (테이블 이름) ([필드] [데이터형식] [제약사항])
		예) 병원직원 테이블, 직원번호필드 / 문자 / 빈값 허용 X, 직원이름필드 / 문자 / 빈값 허용 X
		    > CREATE TABLE 병원직원 (
			직원번호 CHAR(6) NOT NULL
			직원이름 CHAR(10) NOT NULL
		      ); 

	      - 테이블 삭제 - Drop Table (테이블 이름)
		예) 병원직원 테이블 삭제
		    > DROP TABLE 병원직원;

	      - 테이블 변경 - Alter Table (테이블 이름)
	
	      - 뷰 생성 - Create View (뷰 이름) 
			  As Select ...;

	      - 뷰 삭제 - Drop View (뷰 이름)

	    > 데이터 삽입/갱신/삭제를 위한 SQL
	      - 데이터 삽입을 위한 문장 구조
		> Insert Into 목적 테이블(필드명1, 필드명2, ...)
		  Values(값1, 값2, ...);

		예) INSERT INTO 학생 (학번, 이름, 전화번호)
		    VALUES ('20140015', '홍길동', '01022223333');

	      - 데이터 갱신을 위한 문장 구조
	        > Update 테이블 이름
		  Set 필드1=값1, 필드2=값2,..
		  Where 조건식
	
		예) UPDATE 학생
		    SET 전화번호 = '01020023333'
		    WHERE 학번 = '20140015';

	      - 데이터 삭제를 위한 문장 구조
		> Delete *
		  From 테이블 이름
		  Where 조건식

		예) DELETE *
		    FROM 학생
		    WHERE 학번 = '20140015';

	      - 데이터 검색/조회를 위한 SQL
		> 데이터 검색/조회를 위한 문장의 구조

		  Select <필드목록>
		  From <테이블 이름>
		  Where <레코드의 선택 조건>
		  Group by <그룹핑 필드 목록>
		  Having <그룹 선택 조건>
		  Order by <정렬 선택>

		예) 특정 조건에 해당하는 모든 필드를 검색
		    
                    SELECT *
		    FROM 학생
		    WHERE 학과 = '보건행정과' AND 학년 = 1;

	> 데이터베이스관리시스템(DBMS DataBase Management System)
	  - 파일시스템(File System)에서 생성된 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템이다.
	  - 데이터베이스 구성, 접근방법, 유지관리 등의 업무기능과 같은 데이터베이스를 관리하는 전문 소프트웨어 시스템
	    이다.
	  - 데이터베이스 사용자가 데이터베이스 언어로 표현한 데이터베이스 접근 요구를 접수해서 이것을 데이터베이스 내
	    부 연산처리를 통해 그 결과를 제시하거나, 혹은 응용소프트웨어에 상호 연산처리 결과를 보여준다.
	  - 데이터베이스 사용자가 직접 데이터 파일들을 물리적으로 접근하지 않으면서도, 자료의 저장/검색/데이터의 관리
	    를 더 쉽게 할 수 있도록 운영체제와 독립적인 인터페이스를 제공해준다. 응용프로그램과 DBMS 사이의 관계는 다
	    음 그림과 같다.

	    =========================================================================================================
	    응용 프로그램1			응용 프로그램2			응용 프로그램3
			↘			      ↓				↙
	    =========================================================================================================
					데이터베이스관리시스템(DBMS)
	    =========================================================================================================
						      ↕
						데이터베이스
	    ---------------------------------------------------------------------------------------------------------
						데이터파일 1
						데이터파일 2
						데이터파일 3
						데이터파일 n
	    =========================================================================================================

	> DBMS 기능
	  - 정의기능 : 다양한 응용 프로그램과 데이터베이스 간의 인터페이스를 제공하는 것으로 하나의 데이터베이스를 통
		       해서 여러 사용자들이 시시각각으로 요구하는 다양한 형태의 데이터를 제공할 수 있도록 데이터를 조
		       작하고 데이터베이스의 구조를 정의하는 기능이다.
	  - 조작기능 : 데이터베이스를 이용하는 사용자의 요구에 따라 체계적으로 데이터베이스를 접근하고, 데이터 조작어
		       를 사용하여 데이터베이스를 조작하는 기능으로 데이터의 검색, 삽입, 삭제, 갱신 등 연산 작업을 지
		       원하는 도구를 통해 구현시키는 기능이다.
	  - DBMS와 파일시스템 비교

	    =========================================================================================================
	    [DBMS]			[파일시스템]
	    =========================================================================================================
	    데이터 모델/조치		파일은 디스크에 데이터/코드/텍스트 등을 저장하는 단위
	    데이터 공유			파일시스템은 운영체제(OS)가 기능을 담당
	    동시성 제어			모든 데이터베이스는 파일 형태로 디스크에 저장
	    장애복구			DBMS를 사용하지 않고 응용 프로그램에서 직접 데이터베이스를 관리
	    보안성
	    확장성
	    =========================================================================================================

	> DBMS의 종류
	  - 네트워크형(Network DBMS)
	  - 계층형(Hierarchical DBMS)
	  - 관계형(Relational DBMS)
	  - 객체지향형(Object-oriented DBMS) 등

	> 관계형 모델
	  - 데이터와 데이터들 간에 존재하는 관계를 표현하기 위해서 테이블(table)을 사용한다. 테이블간 관계는 릴레이션
	    (relation)이라고 불리며, 각각 고유한 이름을 갖는다. 다음 그림은 관계형 데이터베이스의 예시이다.
	   
	    > 의사 테이블
	      =======================================================================================================
	      [성명]	[면허번호]	[진료과목]	[진료요일]
	      박찬수	2222-213	성형외과	월,목,토
	      =======================================================================================================

	    > 환자 테이블
	      =======================================================================================================
	      [성명]	[진료과목]	[성별]	[주소]		[전화번호]
	      정병호	이식외과	남	서울시 역삼동	010-2222-3312
	      =======================================================================================================

--- 04. 데이터 모델링
	> 데이터 모델링 개념
	  - 정의
	    > 실세계에 존재하는 유/무형의 데이터를 추상화한 것으로 데이터의 구조, 특성, 데이터 간의 관계, 제약조건 등
	      을 나타낸 것으로, 사용자의 요구사항(requirement)으로부터 현실세계를 반영한 데이터베이스 구조를 도출해내
	      는 과정을 말한다.

	  - 목적
	    > 사용자 요구사항에 대한 정확한 이해
	    > 사용자, 설계자, 개발자간의 의사소통 수단
	    > S/W 유지보수 비용 절감

	  - 데이터 모델링의 의미
	    > 현실세계와 데이터베이스 관계는 그림과 같다.

	      =======================================================================================================
	      [현실 세계]		→ 정보 모델링 →		[개념 세계]
	      실제						정보 구조

	      ↕ 일치성						↓ 데이터 모델링
	
	      =======================================================================================================
	      저장 데이터베이스		← 데이터 구조화	←	논리적 데이터 구조
					  [컴퓨터 세계]
	      =======================================================================================================

	> 데이터 모델 분류
	  - 현실세계를 데이터베이스로 표현하기 위해서, 개념구조와 논리구조를 거쳐 실제 데이터를 저장할 수 있는 물리구
	    조로 변환되어야 한다. 이 과정을 데이터베이스 설계라 하며, 중요한 핵심은 데이터 모델이다.

	    =========================================================================================================
	    [구분]		[의미]
	    =========================================================================================================
	    정보 모델링		현실 세계의 실체를 데이터베이스로 저장하기 위해서 개념 세계의 개체로 추상화 하는 과정
				을 의미하며, 이 과정에서 얻은 결과를 정보 구조라 한다.
	    데이터 모델링	정보 모델리에서 생성된 정보 구조를 DBMS 가 이해할 수 있는 논리적인 데이터 구조로 변환
				하는 과정을 의미한다.
	    데이터 구조화	논리적 데이터 구조를 컴퓨터에 저장 하도록 물리적 데이터 구조로 변환하는 과정을 구조화
				라 한다.
	    =========================================================================================================

	  - 데이터 모델의 종류
	    > 개념적 데이터 모델(conceptual data model)
	    > 논리적 데이터 모델(logical data model)
	  - 데이터 모델의 구성요소
	    > 개념적 데이터 모델
	      - 데이터 속성들로 기술된 개체 타입들 간의 관계를 이용하여 현실세계를 표현하는 방법이다. 
	      - 현실세계에 존재하는 실체의 의미로부터 개념으로 표현한 개념세계로 사용자가 데이터를 인식하는 방식에 대
		한 개념을 제공한다.
	      - 현실세계를 표현하는데 가장 중요한 추상적 개념은 개체와 함께 관계를 이용하는 것이다.
	      - 대표적인 모델로 개체-관계(E-R, Enter-Relationship) 모델이 있다.
	      - 데이터 모델의 세 가지 구성요소
		
		=====================================================================================================
		[구분]		[의미]
		=====================================================================================================
		구조		데이터베이스에 표현될 대상으로서의 개체타입과 개체타입들 간의 관계(relationship)를 기
				술한 것이다. 
				예) "의사와 환자" 개체타입 간의 담당의사라는 관계

		연산		데이터베이스에 표현될 개체 인스턴스(Instance)를 처리하는 작업에 대한 명세로서, 데이터
				베이스를 조작하는 기본 도구이다.

		제약조건	데이터베이스에 허용될 수 있는 개체 인스턴스에 대한 논리적인 제약사항을 의미한다. 이것
				은 데이터 조작에 대한 한계를 규정한다.
		=====================================================================================================
	    > 논리적 데이터 모델
	      - 현실세계를 E-R 다이어그램으로 표현한 E-R 관계모델은 어떤 특정 DBMS를 고려한 것이 아니고 현실세계를 사
		람이 보다 잘 이해할 수 있도록 표현한 개념적인 구조에 불과하다.
	      - 개념적 구조를 저장 데이터베이스에 구현하기 위한 중간 단계로서 사용자의 입장에서 표현한 논리 구조가 필
		요한데, 이 구조가 데이터 모델이다.
	      - 이 모델은 데이터 필드들로 기술된 레코드 타입들 간의 관계를 이용하여 현실세계를 표현하는 방법이므로 레
		코드 기반 모델이라고도 한다.
	      - 데이터 모델은 크게 구분하여 관계형 데이터 모델, 네트워크형 데이터 모델, 계층형 데이터 모델이 있다.
	
--- 05. 데이터베이스 설계
	> 데이터베이스 설계는 그림과 같이 논리적-물리적 구조를 어떻게 만드느냐 하는 문제를 고려하여 사용자의 요구조건
	  으로부터 데이터베이스 구조를 만들어 내는 일련의 과정을 의미한다. 일반적으로 데이터베이스 설계는 요구사항(조
	  건) 분석(requirement analysis)으로부터 시작하여, 개념적 설계(conceptual design), 논리적 설계(logical design
	  ), 물리적 설계(physical design), 구현단계로 진행된다.

	> 설계과정에서 고려해야 할 주요사항
	  - 데이터의 일관성(consistence)
	  - 효율성(efficiency)
	  - 회복(recovery)
	  - 무결성(integrity)
	  - 보안(security)
	  - 확장성(expansive)

	> 데이터베이스 설계 단계
	  - 요구 조건 분석 단계
	    > 데이터 및 처리 요구 조건

	  - 개념적 설계 단계
	    > DBMS 독립적 개념 스키마 설계, 트랜잭션 모델링

	  - 논리적 설계 단계
	    > 목표 DBMS에 맞는 스키마 설계
	    > 트랜잭션 인터페이스 설계

	  - 물리적 설계 단계
	    > 목표 DBMS에 맞는 물리적 구조 설계
	    > 트랜잭션 세부 설계

	  - 구현 단계
	    > 목표 DBMS DDL로 스키마 작성
	    > 트랜잭션(응용 프로그램) 작성

	> 요구사항(조건) 분석
	  - 요구사항(조건) 분석 단계는 사용자로부터 요구 사항을 받아 분석하는 과정이다.
	  - 요구사항(조건)의 내용
	    > 정보처리 요구 조건의 수립
	    > 경영 목표와 제약 조건 식별
	    > 요구 조건 명세서 작성
	    > 요구 조건 명세서 기법 검토

	> 개념적 설계
	  - 요구조건 분석 단계에서 생성되는 명세서를 바탕으로 특정 DBMS에 독립적인 표현으로 전체 데이터 베이스의 구조
	    를 개념적으로 설계하는 단계이다.
	  - 개념적 설계단계에서는 개체-관계 모델(Enter-Relationship model) 을 주로 사용한다. 여기서 생성되는 결과물인
	    개념적 스키마를 개체관계 다이어그램(Entity Relationship Diagram, ERD) 또는 개념관계 스키마(ER Schema)라고
	    한다.
	
	> 논리적 설계
	  - 논리적 설계(logical design)는 개념적 설계 결과로부터 만들어진 구조(E-R모델)로부터 특정 목표 DBMS가 처리할
	    수 있는 데이터베이스 스키마를 생성하는 단계이다.

	  - 논리적 설계의 3가지 세부단계의 의미

	    =========================================================================================================
	    [구분]	[단계별]			[의미]
	    =========================================================================================================
	    1단계	논리적 데이터 모델 변환		개념적 설계 단계에서 생성된 DBMS에 독립적인 개념 스키마 즉 정
							보구조를 목표 DBMS에 맞는 논리적 데이터 모델로 변환

	    2단계	트랜잭션 인터페이스 설계	입출력과 기능적 형태만 정의된 트랜잭션 즉 응용프로그램에 대한
							인터페이스를 설계

	    3단계	스키마 평기 및 정제		설계된 스키마를 평가 및 정제하는 것이다. 설계된 스키마를 정량
							적 정보와 성능평가 기준에 따라 평가해 본다.
	    =========================================================================================================

	> 물리적 설계
	  - 물리적 설계(physical design)는 논리적 설계 단계에서 생성된 논리 데이터베이스 스키마로부터 효율적으로 구현
	    가능한 물리 데이터베이스 스키마를 설계하는 단계이다.
	  - 물리적 설계의 3가지 세부단계의 의미

	    =========================================================================================================	    
	    [구분]	[단계명]			[의미]
	    =========================================================================================================	    
	    1단계	저장레코드 양식 설계		데이터 타입, 데이터 값 분포, 사용될 응용, 접근빈도들을 고려하
							여 결정

	    2단계	레코드 집중 분석 및 설계	레코드 집중은 저장 공간에 레코드들이 물리적으로 집중 저장되도
							록 할당하여 물리적 순차성을 이용할 수 있도록 하는 것을 의미

	    3단계	접근 경로 설계			접근경로는 물리적 저장장치 위에 저장된 데이터의 검색과 조장을
							가능하게 하는데, 저장구조와 탐색기법이 기본 요소가 된다.
	    =========================================================================================================

	> 데이터베이스 구현
	  - 데이터베이스의 구조가 컴퓨터 내에서 정의되고 구현된 후 실제 데이터가 적재되는 단계이다. 데이터베이스 설계
	    를 단계별로 입/출력을 중심으로 세부적인 과정을 나타내면 그림과 같다.

	    =========================================================================================================
			    정보 요구 조건					처리 요구 조건
	    =========================================================================================================
					↘					↙
						      [요구 조건 분석]
							    ↓
						      요구 조건 명세
							    ↓
	    =========================================================================================================
						       [개념적 설계]
							    ↓
						        정보 구조
							    ↓
	    =========================================================================================================	     
						       [논리적 설계] ← 목표 DBMS 특성
							    ↓
						   논리적 데이터베이스 구조
							    ↓
	    =========================================================================================================
						       [물리적 설계] ← 하드웨어 및 운영체제 특성
							    ↓
						   물리적 데이터베이스 구조
							    ↓
	    =========================================================================================================
						    [데이터베이스 구현]
							    ↓
						          운영
	    =========================================================================================================

 

 

06. 의료데이터베이스.md
0.04MB

 

 

출처 : https://blog.naver.com/vae3085/220674830178

 

제6장 의료데이터베이스

제6장 의료데이터베이스 1. 병원데이터베이스의 개요 1) 개요 (1) 보건의료의 모든 의사결정에서 데이터는 ...

blog.naver.com

 

 

감사합니다.

 

728x90

댓글