New World
[데이터베이스시스템#1, 2] DB의 이해, DB 모델링 본문
1. 데이터 베이스의 역할
데이터 관리의 필요
- 대량의 데이터를 저장 및 관리하고 필요한 데이터를 신속히 검색할 수 있도록 보조하는 장치
파일 처리 시스템
- DB가 개발되기 전, 데이터 관리
- 업무 별 애플리케이션이 개별 데이터를 데이터 파일에 저장.관리
- 데이터 종속의 문제 :저장된 데이터가 특정 H/W에서 또는 사용자 및 S/W만 사용될 수 있도록 제한(물리/논리)
- 데이터 중복의 문제 :일관성, 보안성, 경제성에서 문제
- 무결성 훼손의 문제 :데이터가 가질 수 있는 가능 범위(제약조건), 데이터 무결성의 문제(정확성 보장, 값에 대한)
- 동시 접근의 문제점 : 동일 데이터에 다수 사용자의 접근 허용 시 일관성 훼손
2. 데이터베이스의 특징
특징 | DBMS의 3단계 구조 | 용어 |
1. DB의 자기 기술성 2. 프로그램과 데이터의 격리 및 추상화 3. 다중 뷰 제공 4. 데이터 공유와 다수 사용자 트랜잭션 처리 |
데이터 : 어떤 사실에 대한 특징을 나탈 수 있는 값과 값에 대한 설명 DB : 데이터의 집합 DBMS : DB에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지 데이터베이스 시스템 : 정보를 DB에 저장, 관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템 |
3. 데이터베이스의 구성요소
DB언어
1. DBMS는 사용자가 DB를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스 제공
2. 역할에 따른 종류의 언어로 구분
-DDL : DB 객체를 생성, 수정, 삭제하기 위한 언어
-DML : 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색, 삽입, 삭제, 수정)
3. 현대 DB언어는 자연어와 유사한 형태의 SQL로 표준화
중앙집중식 방식 : 단일 서버가 다수의 클라이언트 장치를 대신하여 작동, 중앙 컴퓨터 과부화로 전체적인 성능 저하
분산 시스템 방식 : 클라이언트 장치의 성능 향상으로 자체적인 처리 능력 보유, 부하 분산 & 비용 절감 및 이식성 증가
1. DB 모델링 이해
DB 구현 과정 | DB 모델링 |
데이터 모델
- 사용할 데이터를 선별하여 DB에 체계적으로 구조화하여 저장, 사용할 방법이 필요
1. 개념적 데이터 모델링
- 요구사항의 해석 오류 방지
- 실세계의 데이터를 개념적으로 일반화하여 데이터 구조, 타입, 속성, 관계, 제약조건 등을 이끌어내는 과정
2. 논리적 데이터 모델링
- 특정 DBMS의 구현 모델에 맞춰 데이터를 표현
- 데이터 정의 언어로 된 개념 스키마 생성
3. 물리적 데이터 모델링
- DB 파일의 내부 저장구조, 파일 구성, 인덱스, 접근 경로 등을 결정
2. 사용자 요구사항 분석
필요성
- 요구 명세 X, DB 설계 및 개발 진행 => 결과물 완성도 저하, 사용자 신뢰도 추락
- 시스템의 대상이 되는 업무를 분석 => 신속하고 효과적으로 업무 처리
분석 : 국제 표준화 IEEE-Std-830
- 데이터에 대한 충분한 사전 분석 X 적절한 설계가 불가능
요구사항 도출 : 구축대상, 목표, 범위를 기준으로 조사범위 결정, 외부자료 수집 및 분석
요구사항 분석 : 요구사항 목록 정리 및 관리자 승인, 요구사항을 문서화, 지속적인 관리
요구사항 기록 : 요구사항의 명확성, 완전성, 모호성 검증
3. ER 모델
개체 간의 관계를 정형화 시킨 모델, 개념적 모델링 단계에서 사용되는 데이터 모델
개체 : 개체를 설명하는 여러 속성들로 구성
개체 집합 : 같은 속성을 공유하는 개체들의 모임
속성 : 개체를 구체적으로 설명하는 특성, 여러 종류로 구분
- 단순 : 더 이상 작은 구성요소로 나눌 수 없는 속성
- 복합 : 더 작은 구성요소로 나눌 수 있는 속성
- 단일값 : 하나의 개체에 대해 단 하나의 값만을 갖는 속성
- 다중값 : 하나의 개체에 대해 여러 개의 값을 갖는 속성
- 유도 : 다른 속성의 값으로부터 값이 유추될 수 있는 속성
- 저장 : 유도 속성을 위해 사용될 수 있는 속성
- 널 : 미지의 값 (없음 or 0 이 아님), 입력된 적 없는 적용 불가능한 값
관계 집합
관계 : 개체 간의 연관성
관계 집합 : 개체 집합 간의 전체적 연결 관계
제약조건
- 데이터 모델 : 데이터, 의미, 구조, 연관성 및 데이터의 조건을 표현하기 위한 도구
- 개체와 관계에 대한 표현의 정확성을 위해 데이터가 항상 준수해야 하는 제약조건을 정의
- 종류 : 사상수, 참가 제약조건, 키 속성
사상수 | 참가 제약조건 | 키 속성 | ||
관계 집합에 참가한 개체 집합들에 대해 각각의 개체가 얼마만큼의 관계를 맺을 수 있는지 명시한 수 | 전체적 참가 모든 개체가 관계 집합에 참여 |
키 각 개체를 구별하는데 사용되는 유일한 값을 갖는 속성의 집합 |
||
부분적 참가 일부 개체가 관계 집합에 참여 |
재귀적 관계 한 개체 집합이 자기 자신과 관계 집합을 형성하는 관계 |
|||
일대일 |
일대다 |
다대다 | 약한 : 개체의 존재 유무가 관계를 맺고 있는 개체의 존재에 종속 강한 : 약한 개체 집합과 연결되는 일반 개체 집합 |
'Self-Study > Study' 카테고리의 다른 글
[데이터베이스시스템#4,5,6] SQL (0) | 2022.05.10 |
---|---|
[데이터베이스시스템#3] 관계형 모델 (0) | 2022.05.09 |
[이산수학#14] 오토마타와 형식 언어 (0) | 2022.05.08 |
[이산수학#13] 정수론 (0) | 2022.05.08 |
[이산수학#12] 조합이론 (0) | 2022.05.08 |