데이터베이스 설계 | 1. 데이터베이스 기본 개념과 구조
2024년 5월 20일
1. 정보 시스템
- 데이터 : 현실 세계로부터 관찰이나 측정을 통해서 수집된 사실이나 값
- 정보 : 의사결정을 할 수 있게 하는 지식으로 데이터의 유효한 해석이나 데이터 상호관계
- 정보 처리 : 컴퓨터가 정보를 생성하기 위해 데이터를 처리하는 작업
- 데이터 → 처리 → 정보
- 정보가 유용성을 갖기 위한 2가지 조건 : 정확성(accuracy), 현재성(currency)
- 정보 시스템 : 한 기관을 위해 데이터를 수집, 조직, 저장하고 정보를 생성, 분배하는 수단
- 데이터베이스 : 정보 시스템 안에서 데이터를 저장하고 있다가 필요할 때 제공하는 핵심 역할
2. 데이터 처리 시스템
- 형태에 따른 데이터 분류
- 정형 데이터 : 미리 정해진 구조가 있음(ex. 엑셀의 스프레드시트)
- 반정형 데이터 : 내용 안에 구조에 대한 설명이 있음
- 비정형 데이터 : 정해진 구조가 없음(ex. 소셜 데이터의 텍스트, 영상 등)
- 특성에 따른 데이터 분류
- 범주형 데이터 : 종류를 나타내는 값
- 명목형 데이터(서열 X) vs 순서형 데이터(서열 O)
- 수치형 데이터 : 크기 비교와 연산이 가능한 값
- 이산형 데이터(개수) vs 연속형 데이터(측정)
- 범주형 데이터 : 종류를 나타내는 값
- 데이터 처리 단위
- 트랜잭션 : 하나의 단위로 처리되어야 하는 분리될 수 없는 연산그룹
- 데이터가 조직되고 접근되는 방법에 따른 분류
-
일괄 처리 : 유사한 트랜잭션을 한데 모아 한꺼번에 처리(시스템 중심)

- 장점 : 높은 시스템 성능과 낮은 처리 비용
- 단점 : 응답시간 길다, 사전 준비 작업 요구
- 적용 : 순차 접근 방법 이용 업무(ex. 성적 처리, 급여 계산 등)
-
온라인 처리

- 유사한 데이터가 즉시 컴퓨터에 전송 → 전송된 데이터는 즉시 컴퓨터가 처리 → 그 결과를 원하는 장소로 전송(사용자 중심)
- 장점 : 빠른 응답 시간, 사전 준비 작업 불필요
- 단점 : 낮은 시스템 성능과 높은 처리 비용, 원격 터미널들과 계속적인 통신 유지, 통신 제어기가 필요
- 적용 : 은행, 항공기 예약 시스템 등
-
분산 처리

- 목표
- 위치 투명성 : 데이터베이스의 논리적인 명칭만으로 액세스 가능
- 중복 투명성 : 동일 데이터가 있더라도 하나의 데이터만 존재하는 것처럼 사용
- 단편화 투명성 : 하나의 릴레이션을 작은 조각으로 나누고 각 조각을 별개의 릴레이션으로 처리하는 것
- 수평적 단편화 : 행(투플) 단위로 분해
- 수직적 단편화 : 열(속성) 단위로 분해
- 수행 조건
- 완전성 : 전체 릴레이션의 모든 데이터는 어느 한 조각에는 꼭 속함
- 회복성 : 단편화된 조각들로부터 원래의 전체 릴레이션을 회복할 수 있어야 함
- 분리성 : 전체 릴레이션의 모든 조각을 서로 중복되지 않게 분리
- 병행 투명성 : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실행되더라도 그 트랜잭션의 결과는 영향을 받지 않음
- 장애 투명성 : 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리함
- 장점 : 지역 문제에 대한 파악과 신속한 조치, 자료의 공유성 향상, 새로운 응용에 대한 모듈식 구축 용이, 장애에 대한 신뢰성 및 가용성 증대, 시스템 운영에 영향을 주지 않고 노드의 폐쇄 및 확장 가능, 상이한 하드웨어 사용 가능
- 단점 : DBMS가 수행할 기능이 복잡, 데이터베이스 설계가 어려움, 소프트웨어 개발 비용과 처리 비용 증가, 잠재적 오류 증가, 보안의 어려움
- 목표
-
3. 데이터베이스의 정의
- 한 조직의 여러 응용 시스템들이 공용하기 위해 통합, 저장한 대용량의 운영 데이터의 집합
4. 데이터베이스의 특성
- 실시간 접근성, 계속적인 변화(정확성 유지), 동시 공용, 내용에 의한 참조, 지속성, 상호 관련성
5. 데이터베이스의 개념적 구성요소
-
개체 : 업무가 다루는 사물(대상), 유일하게 식별될 수 있는 사물, 데이터베이스 내에 나타내는 구별할 수 있는 객체
-
관계 : 업무가 다루는 사물(대상)들 사이에 존재하는 연관, 2개 이상의 개체를 연결한 집단화로 이뤄짐
-
속성 : 각 사물(대상)이 가지고 있는 상세한 특성, 개체 또는 관계의 기초적인 성질을 나타냄, 데이터베이스에서 가장 작은 논리적 단위, 파일 측면에서 보면 데이터 항목 혹은 필드

6. 데이터베이스의 구조

- 논리적 구조 : 사용자의 관점에서 본 데이터의 개념적 구조
- 물리적 구조 : 저장 관점에서 본 데이터의 물리적 배치, 저장장치에 저장된 데이터의 실제 구조, 실제 디스크에 어떻게 저장되는지 스토리지 관점에서 보는 것
7. 3단계 데이터베이스

- 외부 스키마 : 데이터베이스의 개개 사용자나 응용 프로그램머가 접근하는 데이터베이스를 정의
- 외부 스키마는 개념 스키마의 부분 집합
- 개념 스키마 : 범 기관적 입장에서 데이터베이스를 정의한 것
- 내부 스키마 : 저장 장치 입장에서 데이터베이스 전체가 저장되는 방법을 명세한 것
8. 데이터 독립성
-
DBMS가 추구하는 궁극적인 목적
-
논리적 데이터 독립성 : 데이터베이스의 논리적 구조를 변경시키더라도 기존 응용 프로그램들에 아무런 영향 X
-
외부/개념 사상은 응용 인터페이스라고 함
-
개념 스키마에서 새로운 내용 추가, 기존 내용 삭제 시 외부 스키마는 영향 받지 X
-
Views : 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 이름을 가진 가상 테이블(저장 장치 내에 물리적으로 존재 X)
Students(sid, sname, gpa) -> Snames(sid, sname) and Sgpas(sid, gpa) CREATE VIEW Students (sid, sname, gpa) AS SELECT sid, sname, gpa FROM Snames SN, Sgpas SG WHERE SN.sid = SG.sid
-
-
물리적 데이터 독립성 : 데이터베이스의 물리적 구조를 변경시켜도 기존 응용 프로그램이나 데이터베이스의 논리적 구조에 아무런 영향 X
- 개념/내부 사상은 저장 인터페이스라고 함