파워 오브 데이터베이스 ( 가장 쉬운 데이터베이스 설계를 위한 지침서, 마이클 J. 헤르난데즈 저/송현호, 황규용 역 )의 1장을 공부하고 요약 한 내용입니다.
1. 관계형 데이터베이스
데이터베이스
- 조직이나 조직에서 수행하는 업무 절차의 일부 유형을 모델링 하기 위한 목적으로 사용되는 조직화된 데이터 집합
운영 데이터베이스
- 데이터를 수집 / 수정 / 보존 할 필요가 있는 온라인 트랜잭션 처리에 주로 사용 → 동적인 성격 다수
- 가장 범용적인 데이터베이스 유형
- 소매점, 제조회사, 출판사 등
분석 데이터베이스
- 장시간에 걸쳐 수집된 데이터를 저장 / 동향 추적 할 필요가 있는 온라인 분석에서 주로 사용 → 거의 변화가 없는 정적인 데이터 저장
- 화학 연구소, 지질학 관련 회사 등
계층형 데이터 베이스 모델
- 뒤집힌 트리 구조로 도식화
- 하나의 테이블이 “뿌리” 역할
- 부모 / 자식의 관계 → 부모 : 자식 = 1 : n
Pros
- 사용자가 매우 빠르게 데이터 검색 가능 → 테이블 사이에 관계를 명시적으로 표기 하기 때문
- 참조 무결성이 자동으로 강제되어 구축 → 자식테이블에 있는 데이터가 부모 테이블에 존재하는 레코드에 연결되어야하고, 부모테이블에서 삭제된 데이터가 자식 테이블에서도 동시에 삭제되어야 하는 특징 보장 ( CASCADE ) → 외래키
Cons
- 부모테이블에 있는 어떤 데이터와도 연관성이 없는 데이터를 삽입하기 힘듬 ( 강제되기 때문 )
- 복잡한 관계에 대한 내용을 담을 수 없음 ( 자식 데이터 끼리 n : m 관계 성립하는 경우 모델링 힘듦 )
네트워크 데이터베이스 모델
- 노드와 집합 구조 측면에 초점을 맞추어 구현
- 노드 : 레코드의 모음
- 집합구조 : 네트워크 데이터베이스 간 관계 표현 / 설정
- 소유자 노드 ( 상위 노드 )는 참여자 노드 ( 하위 노드 )를 n개 가질 수 있지만, 그의 역은 불가능
- 참여자 노드의 레코드는 소유자 노드 없이 존재 불가능 하지만, 소유자 노드는 참여자 노드가 없어도 존재가 가능
소유자 노드 ( Agents ) → 집합 구조 ( Represent ) → 멤버 노드 ( Clients )
Pros
- 데이터를 빠르게 찾는다.
- 계층형 데이터베이스 모델보다 복잡한 처리를 할 수 있는 쿼리 생성 가능
Cons
- 집합 구조를 통해 작업해야 하기 때문에 사용자가 이 데이터베이스 구조를 잘 알아야함
- 집합 구조 모르면 쿼리 불가
- 집합 구조를 변경하고싶다면, 해당 구조와 연동되는 모든 응용프로그램 수정해야함
관계형 데이터베이스 모델 ( RDB )
- 관계 → 관계형 데이터베이스 내의 테이블들이 서로 관계를 맺고 있는데서 기인 한 용어가 아니라, 집합론에서 사용하는
관계
라는 용어에서 파생되었음 - 테이블로 구현된 관계에 데이터를 저장 ( 사용자는 이를 테이블로 인지 )
- 각 관계들은 튜플, 레코드, 속성이나 필드로 구성됨
- 테이블에 있는 레코드나 필드의 실제 순서는 물리적인 순서가 아닌 개념적인 순서
- 각 테이블에 있는 레코드는 고유값을 갖는 필드에 의해 구성
- 윗 두가지 특성에 의해 컴퓨터에 물리적으로 저장하는 방식에 구애받지 않도록 해줌.
- 사용자는 데이터를 보기 위 해 레코드의 물리적인 위치를 알아야 할 필요가 없다.
→ 구조를 알고 있어야 원하는 데이터를 볼 수 있는 계층형 / 네트워크 데이터베이스 모델과의 가장 큰 차이점
- 관계들을 1:1, 1:n, n:m 관계로 구분
- 테이블 사이에 존재하는 관계는 공유된 필드의 값을 맞춤으로써 묵시적으로 설정 ( FK 이용 )
관계형 데이터베이스에서의 데이터 검색 ( SQL )
- SQL → Structured Query Language
- 관계형 데이터베이스에서 생성, 수정, 관리 및 질의 작업을 할 때 사용하는 표준 언어
Pros
- 다중 무결성 내장
- 데이터의 정합성을 보장하기위한 레코드 중복 방지 → 필드 수준에서의 무결성
- 기본 키의 부재를 감지 → 테이블 수준에서의 무결성
- 테이블 사이의 설정되어야 하는 관계를 보장 → 관계 수준의 무결성
- 데이터의 정확성을 보장 → 사업 수준의 무결성
- 데이터의 일관성과 정확성을 보장
- 쉬운 데이터 검색
- DB 응용프로그램으로 부터 논리적 / 물리적 데이터 독립성
Cons
- RDB를 활용한 프로그램이 느리다는 평가 많았으나, 하드웨어 시장의 문제점이었음
관계형 데이터베이스 관리 시스템 ( RDBMS )
- 관계형 데이터베이스를 생성, 유지보수, 수정, 조작 할 때 사용하는 소프트웨어 응용프로그램
"Database" 카테고리의 최근 포스팅
카테고리 모든 글 보기Database - (4) 설계 프로세스의 개념적인 개요 | 2020. 07. 23 |
---|---|
Database - (3) 데이터베이스 용어 | 2020. 07. 22 |
Database - (2) 데이터베이스 설계 목적 | 2020. 07. 21 |
Database - (1) 관계형 데이터베이스 (RDB) | 2020. 07. 20 |