프로그래밍/SQL / / 2022. 9. 19. 09:37

[SQL] 데이터 모델링 이해, 관계, 3요소, 설계단계 및 엔터티 분류

1. 데이터 모델링 (Data Modeling)

 

1) 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정이다.

2) 데이터베이스 설계의 핵심 과정

 

2. 데이터 모델링의 3단계

   

데이터 모델링 3단계
데이터 모델링 3단계

 

2) 개념적 데이터 모델링

- 현실세계를 추상화하여 중요 데이터를 개념 세계로 추출해 가는 과정

- 결과물로 개념적 데이터 모델 (ER, 엔티티 - 관계 모델)

 

3) 논리적 데이터 모델링

- 개념 세계의 데이터를 데이터베이스가 저장할 구조로 변환하는 과정

- 결과물로 관계 데이터 모델

 

4) 물리적 데이터 모델링

- 논리 데이터 모델이 실제 데이터베이스 저장소에 저장되는 구조로 변경. 테이블, 칼럼 등.

 

 

3. 관계 데이터 모델

 

1) 개체에 대한 데이터를 저장하는 논리적 구조 - 2차원의 테이블 구조(릴레이션)

2) 릴레이션의 특성

- 튜플의 유일성 : 동일한 튜플이 존재할 수 없다.

- 튜플의 무순서 : 튜플 간의 순서는 무의미하다.

- 속성(애트리뷰트)의 무순서 : 속성 사이의 순서는 무의미하다.

- 속성의 원자성(Atomic) : 애트리뷰트 값으로 하나 값만 가진다.(나누어지지 않는다.)



4. Key

 

1) 릴레이션에 튜플을 구별하는 역할을 하는 속성 또는 속성의 집합을 말한다.

2) Super key : 튜플을 구별하기 위해 유일성을 제공할 수 있는 속성이나 속성의 집합. 예) {ID}, {ID, name}

3) Candidate key : super key 중에서 개수가 가장 작은 키. 예) {ID}

4) Primary key : candidate key 중에서 디자인을 고려하여 선택된 키

5) Foreign key : 다른 릴레이션의 primary key를 참조하는 속성 또는 속성의 집합

ex) 고객정보 ( 아이디, 이름 , 등급, 주소 ) - 주문정보 ( 주문번호, 고객, 제품, 수량 )에서

primary key는 고객정보-아이디, 주문정보-주문번호이고, foreign key는 고객이다.

 

 

5. 관계 데이터 모델 제약 조건

 

1) 참조 무결성 제약조건 (referential integrity constraint = foreign key constraint)

- foreign key는 참조하는 릴레이션 primary key 속성 값 중 하나여야 한다.

- null 가능



6. 모든 DBMS는 data 처리를 위해서 데이터 언어를 제공함

 

1) formal query language

- 수학 기호를 사용하여 데이터 처리를 기술한 언어

- 관계 대수

 

2) Commercial language

- 수학적인 원리를 기반으로 사용하기 쉽게 만들어진 언어

- 관계 대수로 만들어진 모든 질의를 표현 가능

- SQL(Structured Query Language)

 

 

7. 데이터베이스 설계

 

1) 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정을 말한다.

2) 이미 구축된 데이터베이스는 구조를 변경하기가 어려우므로 체계적인 설계 과정을 통해 데이터베이스가 올바르게 구축되어야 한다.

3) 대표적인 설계 방법

- ER 모델과 Relation 변환 규칙을 이용한 설계

- 정규화를 이용한 설계

 

 

8. 데이터베이스 설계단계 (프로젝트 생명주기)

 

1) 1단계 : 요구사항 분석

- 실제 세계에서 어떤 요구사항의 시스템을 구축할 것인지에 대한 데이터베이스 용도를 파악하는 단계

- 요구사항에 대해 어떤 데이터들이 필요한지, 어떤 기능들이 필요한지를 분석

-> 결과물 : 요구사항 명세서

 

2) 2단계 : 개념적 설계 (Conceptual Model)

- 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현하는 단계

- DBMS에 독립적인 개념적 스키마를 설계하는 과정

 

- 작업 과정

Step 1 : 개체를 추출, 각 객체의 주요 속성과 키 속성을 선별

Step 2 : 개체 간의 관계 결정

Step 3 : ER 다이어그램을 작성

 

- 요구 사항 명세서를 베이스로 E-R 다이어그램으로 표현

-> 결과물 : 개념적 스키마

 

3) 3단계 : 논리적 설계

- 관계 모델(Relational Model)을 통해서 개념적 모델을 논리적으로 표현하는 단계

-> 결과물 : 릴레이션 스키마

 

4) 4단계 : 물리적 설계

- DBMS로 구현이 가능한 물리적인 구조를 설계하는 단계

- 저장하는 레코드 타입 및 인덱스 타입 등 설계

-> 결과물 : 물리적 스키마

 

5) 엔터티 표기법

 

- 모서리가 둥근 사각형 (바커 표기법 기준)을 그린 후 맨 위에 엔터티명을 기재한다.

 

6) 엔터티 특징

 

- 비즈니스 요구 조건 만족을 위해 반드시 필요하고 저장 및 관리하고자 하는 정보여야 한다.

- 유일한 식별자에 의해 식별이 가능해야 한다. 즉, 집합 내에서 단 1건을 콕 짚어 낼 수 있어야 한다. ex) 상가 번호, 지하철역 번호

- 영속적으로 존재하는 인스턴스(2개 이상)의 집합이어야 한다.

- 엔터티는 비즈니스 프로세스에 의해서 반드시 이용되어야 한다.(INSERT, SELECT, UPDATE, DELETE)

- 엔터티는 반드시 속성을 가지고 있어야 한다.

- 엔터티는 다른 엔터티와 최소 1개 이상의 관계가 있어야 한다.

 

7) 엔터티 분류 1 - 유무형에 따른 분류

 

* 유형

 

- 실체가 존재하고 물리적인 형태가 있으며 안정적이고 지속적으로 활용되는 엔터티이다. ex) 고객

 

* 개념

 

- 물리적인 형태가 존재하는 것은 아니지만 비즈니스적으로 관리해야 할 개념적 정보를 저장하는 언터티이다. ex) 보험상품

 

* 사건

 

- 비즈니스를 수행함으로써 발생되는 엔터티이다.

 

LIST
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유