Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프로그래머스
- 파이썬 #python #예외처리 #exception
- redis
- 파이썬 #python #lambda #람다
- 파이썬 #python #file #i/o #input #output
- 약수 수하기
- 파이썬 #python #지역함수
- 파이썬 #python #모듈 #module #import #random #time #calendar #sys
- 파이썬 #python #filter #map #reduce
- 파이썬 #python #enumerate
- 배포
- aws
- jsonb
- EC2
- 파이썬 #python #docstring
- aw3
- 파이썬 #python #함수 #function
- docker
- PostgreSQL
- 파이썬 #python #전역변수 #지역변수 #eval
- Git
- 사용자정의예외
- 파이썬 #python #Comprehension
- spring boot
- 연산자메서드
- 파이썬기본문법 #파이썬 #python
- 파이썬 #python #os #os.path #glob
- 파이썬 #python #가변매개변수 #키워드가변매개변수 #args #kwargs
- 파이썬 #python #class #클래스 #상속
- 민감 정보 관리
Archives
- Today
- Total
Yeonnnnny
[1과목] 1-1. 데이터 모델의 이해 본문
■ 모델링의 개념
- 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정
- 데이터 베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실 세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터 베이스를 구축하기 위한 분석 또는 설계의 과정
■ 모델링의 특징
- 단순화 (Simplication)
- 현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부사항을 제거
- 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬움
- 추상화 (Abstraction)
- 현실세계를 일정한 형식에 맞추어 간략하게 대략적으로 표현하는 과정
- 다양한 현상을 일정한 양식인 표기법에 따라 표현
- 명확화 (Clearity)
- 대상에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정
- 명확화를 통해 모델을 이해하는 이들의 의사소통을 원활히 함
■ 데이터 모델링 유의점
- 중복 (Duplication)
- 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계
- 비유연성 (Inflexibility)
- 사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의
- 데이터 정의를 프로세스와 분리
- 비일관성 (Inconsistency)
- 데이터베이스 내의 정보가 모순되거나 상반된 내용을 갖는 상태를 의미
- 데이터 간 상호 연관 관계를 명확히 정의
- 데이터 품질 관리 필요
- 데이터의 중복이 없더라도 비일관성은 발생할 수 있음
■ 데이터 모델링 3가지 요소
- 대상 (Entity) : 업무가 관리하고자 하는 대상(객체)
- 속성 (Attribute) : 대상들이 갖는 속성 (하나의 특징으로 정의될 수 있는 것)
- 관계 (Relationship) : 대상들 간의 관계
■ 데이터 모델링의 3단계
- 개념적 모델링
- 업무 중심적이고 포괄적(전사적)인 수준의 모델링
- 추상화 수준이 가장 높음
- 업무를 분석한 뒤 핵심 엔터티(Entity)를 추출하는 단계
- 도출된 핵심 엔터티(Entity)들과의 관계들을 표현하기 위해 ERD 작성
- EA (Enterprise Architecture)수립시 많이 이용
- 논리적 모델링
- 개념적 모델링의 결과를 토대로 세부속성, 식별자, 관계 등을 표현하는 단계
- 데이터 구조를 정의하기 때문에 비슷한 업무나 프로젝트에서 동일한 형태의 데이터 사용 시 재사용 가능
- 동일한 논리적 모델을 사용하는 경우 쿼리도 재사용 가능
- 데이터 정규화 수행
- 재사용성이 높은 논리적 모델은 유지보수가 용이해짐
- 물리적 모델링
- 논리 모델링이 끝나면 이를 직접 물리적으로 생성하는 과정
- 데이터베이스 성능, 디스크 저장구조, 하드웨어의 보안성, 가용성 등을 고려
- 가장 구체적인 데이터 모델링 → 추상화 수준은 가장 낮음
- 실제로 데이터베이스에 이식할 수 있도록 성능, 저장 등 물리적인 성격을 고려하여 설계
■ 데이터 모델의 표기법 (ERD : Entity Relationship Diagram)
- 엔터티 (Entity)와 엔터티 간의 관계(Relationship)를 시각적으로 표현한 다이어그램
- 1976년 피터 첸(Peter Chen)이 만든 표기법, 데이터 모델링 표준으로 사용
■ ERD 작성 절차 (6단계)
- 엔터티 도출
- 엔터티 배치
- 엔터티 간의 관계를 설정
- 관계명 기술
- 관계의 참여도 기술
- 관계의 필수 여부 기술
■ 3단계 구조 스키마 (3-Level Schema)
- 데이터베이스의 독립성을 위해서 3단계 구조 스키마가 존재함
- 사용자(외부 스키마) , 개발자(개념 스키마) , 설계자(내부 스키마)의 각기 관점에 따라 데이터베이스를 기술하고 이들 간의 관계를 ANSI 표준으로 정함
- 데이터의 독립성 확보를 통해서 데이터 복잡도 감소, 데이터 중복 제고, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감 등의 장점이 생김
- 각 계층을 뷰라고 부르며 3단계 계층으로 분리되어 서로 독립성을 확보함
■ 데이터 베이스 스키마 구조 3단계
- 외부 스키마 (External Schema) : 외부 단계
- 데이터 베이스의 개별 사용자 관점의 이해와 표현
- 응용프로그램이 접근하는 데이터베이스
- 여러 개의 외부 스키마 존재
- 개념 스키마 (Conceptual Schema) : 개념 단계
- 데이터베이스 관리자의 관점으로 규칙과 구조 표현
- 데이터베이스의 전체적인 논리 구조
- 일반적으로 스키마는 개념 스키마를 지칭함
- 내부 스키마 (Internal Schema) : 내부 단계
- 데이터베이스 시스템의 설계자 관점으로 저장장치 관점의 이해 및 표현
- 데이터가 실제로 데이터베이스에 물리적으로 어떻게 저장되는지 확인
'SQLD' 카테고리의 다른 글
[1과목] 1-6. 정규화 (0) | 2024.03.03 |
---|---|
[1과목] 1-5. 식별자 (0) | 2024.03.01 |
[1과목] 1-4. 관계 (Relationship) (0) | 2024.03.01 |
[1과목] 1-3. 속성 (Attribute) (1) | 2024.03.01 |
[1과목] 1-2. 엔터티 (Entity) (0) | 2024.03.01 |