728x90
데이터베이스 설계
- 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정
- E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정
E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정
- 요구 사항 분석 : 데이터베이스의 용도 파악
결과물 : 요구 사항 명세서 - 개념적 설계 : DMBS에 독립적인 개념적 구조 설계
결과물 : 개념적 스키마(E-R 다이어그램) - 논리적 설계 : DBMS에 적합한 논리적 구조 설계
결과물 : 논리적 스키마(릴레이션 스키마) - 물리적 설계 : DBMS로 구현 가능한 물리적 구조 설계
결과물 : 물리적 스키마 - 구현 : SQL 문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성
데이터 모델링
- 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정 (추상화)
- 데이터베이스 설계의 핵심 과정
- 개념적 데이터 모델링 : 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업 ex) 개체--관계 모델
- 논리적 데이터 모델링 : 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업 ex) 관계 데이터 모델
개체 - 관계 모델
- 개체와 개체간의 관계를 이용해 현실 세계를 개념적 구조로 표현
- 핵심 요소 : 개체, 속성, 관계
개체 - 관계 다이어 그램(E-R diagram)
- E-R 다이어그램
- 개체-관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것
이제 개체에 대해 알아보자
개체(entity)
- 현실 세계에서 조직을 운영하는데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것
- 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물,개념,사건 등
- 다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태,즉 속성을 하나 이상 가지고 있음ex)
서점에 필요한 개체 : 고객 ,책
학교에 필요한 개체 : 학과,과목 - E-R 다이어그램에서는 사각형으로 표기
개체 타입(entity type)
- 개체를 고유의 이름과 속성들로 정의한 것
- 파일 구조의 레코드 타입에 대응됨
개체 인스턴스(entity instance)
- 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
- 개체 어커런스 라고도 함
- 파일 구조의 레코드 인스턴스에 대응됨
개체 집합(entity set)
- 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것
속성
- 개체나 관계가 가지고 있는 고유의 특성
- 의미 있는 데이터의 가장 작은 논리적 단위
- 파일 구조의 필드와 대응됨
- E-R 다이어그램에서 타원으로 표기
단일값 속성과 다중 값 속성
- 단일값 속성
- 값을 하나만 가질 수 있는 속성 ex)고객 개체의 이름, 적립금등 속성 - 다중 값 속성
- 값을 여러개 가질 수 있는 속성 ex)연락처,책의 저자
- E-R 다이어그램에서 이중 타원으로 표현
단순 속성과 복합 속성
- 단순 속성
- 의미를 더이상 분해할 수 없는 속성 ex)고객 개체의 이름, 적립금등 속성 - 복합 속성
- 의미를 분해할 수 있는 속성
- ex)고객 개체의 주소 속성 (도,시,동, 우 편번호 등으로 의미를 세분화 할 수 있음)
유도 속성
- 기존의 다른 속성의 값에서 유도되어 결정되는 속성
- 값이 별도로 저장되지 않음
- ex)고객 개체의 출생 연도 속성으로 계산되는 나이 속성
- ex)책 개체의 가격과 할인율 속성으로 계산되는 판매가격 속성
null 속성 및 값
- 널 값이 허용되는 속성
- 아직 결정되지 않거나 모르는 값 또는 존재하지 않는 값
- 공백이나 0과는 의미가 다르다
- ex)등급이 아직 결정되지 않았음을 의미
key 속성 (key attribute)
- 각 개체 인스턴스를 식별하는 데 사용되는 속성
- 모든 개체 인스턴스의 키 속성 값이 다름
- 둘 이상의 속성들로 구성되기도 함
- ex) 고객 개체의 고객 아이디 속성
- E-R 다이어그램에서 밑줄로 표현
관계
- 개체와 개체가 맺고 있는 의미 있는 연관성
- 개체 집합들 사이의 대응 관계, 즉 매핑을 의미
- ex)고객 개체와 책 개체 간의 구매 관계
- "고객은 책을 구매 한다" - E-R 다이어그램에서 마름모로 표현
관계의 유형 : 관계에 참여하는 개체 타입의 수 기준
- 이항 관계 : 개체 타입 두 개가 맺는 관계
- 삼항 관계 : 개체 타입 세 개가 맺는 관계
- 순환 관계 : 개체 타입 하나가 자기 자신과 맺는 관계
관계의 유형 : 매핑 카디널리티 기준
- 매핑 카디널리티 : 관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수
- 일대일 관계 : 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 하나와 관계를 맺을 수 있고, 개체B 의 각 개체 인스턴스도 개체 A의 인스턴스와 하나의 관계를 맺을 수 있다
- 일대다 관계 : 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러 개와 관계를 맺을 수 있지만, 개체 B의 각 인스턴스는 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음
- 다대다 관계 : 개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러 개와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 여러개와 관계를 맺을 수 있다
논리적 데이터 모델
사용자 입장에서 선택한 데이터베이스 관리 시스템에 따라 E-R 다이어그램으로 표현된 개념적 구조를
다음과 같이 데이터베이스에 저장할 형태로 표현한 데이터베이스의 논리적인 구조
- 관계 데이터 모델 : 데이터베이스의 논리적 구조가 2차원 테이블 형태
- 계층 데이터 모델 : 데이터베이스의 논리적 구조가 트리 형태이다
- 네트워크 데이터 모델 : 데이터베이스의 논리적 구조가 트리 형태이다
'DB' 카테고리의 다른 글
관계 데이터 모델의 기본 개념 (0) | 2023.02.04 |
---|---|
데이터 베이스(DB) 설계 - 개념적 데이터 모델링 (0) | 2023.02.04 |
데이터 언어 (DB language) (0) | 2023.02.04 |
데이터베이스(DB) 사용자 (0) | 2023.02.04 |
데이터베이스(DB)의 구조 (0) | 2023.02.04 |