ㅁ논리적 데이터 모델들
1. 계층형 데이터 모델
2. 네트워크형 데이터 모델
3. 관계형 데이터 모델(RDB: Relational DataBase)
- 우리는 이 RDB에 대해 앞으로 지겹도록 다룰 것이다
ㅁRDB 데이터 모델: 2차원 테이블(릴레이션) 형태로 데이터를 표현
ㅇ스키마(schema): db에 저장되는 데이터 구조와 제약조건을 정의한 것
최상단 첫 행이라 생각하자
ㅇ튜플(tuple): db내의 주어진 목록과 관계있는 속성값의 모음
한 행이라 생각하자
ㅇ속성: 개체 고유의 특성 (db를 구성하는 가장 작은 논리적 단위)
한 열이라 생각하자
ㅇ인스턴스(instance): 튜플들의 집합
행들의 집합이라 생각하자
ㅇ도메인(domain): 하나의 속성값 집합
ㅇ차수(Degree): 속성의 전체 개수
ㅇ카디널리티(Cardinality): 튜플의 전체 개수
ㅁDB 추상화 레벨 3단계 구조 - ANSI/SPARC Architecture
ㅇphysical 레벨: 내부 단계(Internal Level)
하나의 내부 스키마(저장 스키마)가 존재
- 저장 장치에 실제로 DB가 저장되는 방법 정의 e.g. 레코드 구조, 필드 크기, 접근 경로 등 물리적 저장 구조
ㅇlogical 레벨: 개념 단계(Conceptual Level)
하나의 개념 스키마 존재(아키텍처 구조라 생각하자)
- 물리적 저장 구조의 세부사항을 숨기고 데이터 유형, 속성, 관계, 제약조건 등 정의
ㅇview 레벨: 외부 단계(External Level)
여러 개 존재 가능 → 다양한 사용자
하나의 DB에 여러 개의 외부 스키마(서브 스키마)가 존재 가능
- 관심 있는 부분을 설명하고 나머지 세부사항을 모두 숨기는 특성
- 각 사용자가 생각하는 DB 모습을 한정된 논리적 구조로 표현
ㅁ데이터베이스 설계
ㅇERD(E-R 다이어그램): 기호를 사용하여 데이터 및 관계 표현(플로우 차트 같은 느낌이다)
- 피터 첸 표기법
ㅇE-R 모델 기반 데이터베이스 설계
1단계) 요구사항 분석: 데이터베이스의 용도 파악
- 결과물: 요구사항 명세서
2단계) 개념적 설계: DBMS에 독립적인 개념적 구조 설계
- 결과물: 개념적 스키마(ERD)
3단계) 논리적 설계: DBMS에 적합한 논리적 구조 설계
- 결과물: 논리적 스키마(릴레이션 스키마)
규칙 1 - 모든 개체는 릴레이션으로 변환한다
규칙 2 - 다대다(n:m) 관계는 릴레이션으로 변환한다
규칙 3 - 일대다(1:n) 관계는 외래키로 표현한다
규칙 4 - 일대일(1:1) 관계는 외래키로 표현한다
규칙 5 - 다중 값 속성은 릴레이션으로 변환한다
4단계) 물리적 설계: DBMS로 구현 가능한 물리적 구조 설계
- 결과물: 물리적 스키마
5단계) 구현: SQL문을 작성한 후 이를 DBMS에서 실행하여 DB 생성
출처 및 참고: 세종대학교 K-MOOC 데이터베이스 보안(김영갑)
'DBMS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] ep4-2) SQL: DML (0) | 2024.06.29 |
---|---|
[데이터베이스] ep4-1) SQL: DDL (0) | 2024.06.21 |
[데이터베이스] ep3) RDB (2) | 2024.06.21 |
[데이터베이스] ep2) DBMS (0) | 2024.06.20 |
[데이터베이스] ep0) 파일시스템 vs 데이터베이스 (1) | 2024.05.03 |