본문 바로가기

데이터베이스 (한양대 백현미)

데이터베이스 강의 4

1.  데이터베이스 설계

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

      • E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정

 

 

•  E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정

 

 

 

2.  데이터 모델링과 데이터 모델의 개념

•  데이터 모델링

      • 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정

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

 

•  2단계 데이터 모델링

      • 개념적 데이터 모델링

            • 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업

      • 논리적 데이터 모델링

            • 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업

 

 

•  데이터 모델

      • 데이터 모델링의 결과물을 표현하는 도구

      • 개념적 데이터 모델

            • 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구

            • 예) 개체-관계 모델

      • 논리적 데이터 모델

            • 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구

            • 예) 관계 데이터 모델

 

 

3.  개체-관계 모델

•  개체-관계 모델 (E-R model)

            • 피터 첸이 제안한 개념적 데이터 모델

            • 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현

            • 핵심 요소 : 개체, 속성, 관계

 

•  개체-관계 다이어그램 (E-R diagram)

            • E-R 다이어그램

            • 개체-관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것

 

개체-관계 다이어그램 예

 

•  개체 (entity)

            • 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것

            • 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등

            • 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있음

            • 파일 구조의 레코드와 대응됨

            • E-R 다이어그램에서 사각형으로 표현

 

•  속성 (attribute)

            • 개체나 관계가 가지고 있는 고유의 특성

            • 의미 있는 데이터의 가장 작은 논리적 단위

            • 파일 구조의 필드와 대응됨

            • E-R 다이어그램에서 타원으로 표현

 

•  개체 타입

            • 개체를 고유의 이름과 속성들로 정의한 것

            • 파일 구조의 레코드 타입에 대응됨

 

•  개체 인스턴스

            • 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체

            • 개체 어커런스(occurrence)라고도 함

            • 파일 구조의 레코드 인스턴스에 대응됨

 

•  개체 집합

            • 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것

 

개체 타입과 개체 인스턴스의 예

 

 

•  속성의 분류

 

 

•  단일 값 속성과 다중 값 속성

            • 단일 값 속성

                 • 값을 하나만 가질 수 있는 속성

            • 다중 값 속성

                 • 값을 여러 개 가질 수 있는 속성

                 • E-R 다이어그램에서 이중 타원으로 표현

                 • 예) 연락처 속성

 

 

 

•  단순 속성과 복합 속성

            • 단순 속성

                 • 의미를 더는 분해할 수 없는 속성

                 • 예) 책 개체의 이름

            • 복합 속성

                 • 의미를 분해할 수 있는 속성

                 • 예) 고객 개체의 주소 속성 - 도, 시, 동, 우편번호 등으로 의미를 세분화할 수 있음

 

 

 

•  유도 속성

            • 기존의 다른 속성의 값에서 유도되어 결정되는 속성

            • 값이 별도로 저장되지 않음

            • 예) 책 개체의 가격과 할일율 속성으로 계산되는 판매가격 속성

            • E-R 다이어그램에서 점선 타원으로 표현

 

 

 

•  널 속성

            • 널 값이 허용되는 속성

 

•  널 값

            • 아직 결정되지 않거나 모르는 값 또는 존재하지 않는 값

            • 공백이나 0과는 의미가 다름

 

•  키 속성

            •  각 개체 인스턴스를 식별하는 데 사용되는 속성

            • 모든 개체 인스턴스의 키 속성 값이 다름

            • 둘 이상의 속성들로 구성되기도 함

            • E-R 다이어그램에서 밑줄로 표현

 

 

 

•  관계

            • 개체와 개체가 맺고 있는 의미 있는 연관성

            • 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미

            • E-R 다이어그램에서 마름모로 표현

 

 

 

•  관계의 유형 : 관계에 참여하는 개체 타입의 수 기준

            • 이항 관계 : 개체 타입 두 개가 맺는 관계

            • 삼항 관계 : 개체 타입 세 개가 맺는 관계

            • 순환 관계 : 개체 타입 하나가 자기 자신과 맺는 관계

 

•  관계의 유형 : 매핑 카디널리티 기준

            • 일대일 관계

            • 일대다 관계

            • 다대다 관계

 

•  매핑 카디널리티

            • 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수

 

•  관계의 참여 특성

            • 필수적 참여 (전체 참여)

                 • 모든 개체 인스턴스가 관계에 반드시 참여해야 하는 것을 의미

                 • E-R 다이어그램에서 이중선으로 표현

            • 선택적 참여 (부분 참여)

                 • 개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미

 

 

 

•  관계의 종속성

            • 약한 개체

                 • 다른 개체의 존재 여부에 의존적인 개체

            • 오너 개체

                 • 다른 개체의 존재 여부를 결정하는 개체

            • 오너 개체와 약한 개체는 일반적으로 일대다의 관계를 가지고, 약한 개체는 오너 개체와의 관계에 필수적으로 참여하는 특징이 있음

            • 약한 개체는 오너 개체의 키를 포함하여 키를 구성하는 특징이 있음

            • E-R 다이어그램에서 약한 개체는 이중 사각형으로 표현하고 약한 개체가 오너 개체와 맺는 관계는 이중 마름모로 표현

 

 

 

• 개체-관계 다이어그램

            • 사각형 : 개체를 표현

            • 마름모 : 관계를 표현

            • 타원 : 속성을 표현

            • 링크(연결선) : 각 요소를 연결

            • 레이블 : 일대일, 일대다, 다대다 관계

'데이터베이스 (한양대 백현미)' 카테고리의 다른 글

데이터베이스 강의 6  (0) 2021.07.19
데이터베이스 강의 5  (0) 2021.07.19
데이터베이스 강의 3  (0) 2021.07.19
데이터베이스 강의 2  (0) 2021.07.19
데이터베이스 강의 1  (0) 2021.07.19