Logical Database Design
정규화된 개체-관계 모델을 논리적 데이터 모델을 적용하여 변환하는 단계
Moving into Logical Database Design
개념적 모델링 단계에서 E-R diagram 으로 도식화 시킨 내용은 실제 데이터베이스 구축을 위해 좀 더 시스템 관점에 가깝게 변환시키게 됨 이 단계를 논리적 데이터베이스 설계라고 함
관계형 데이터베이스 구축을 위해서는 개념적 데이터 모델링 단계에서 만들어진 E-R Model을 관계형 모델로 변환시켜야 함 이 변환 작업은 아래와 같은 순서로 수행할 수 있음
- Entity를 테이블로 변환함 이 때, Entity의 이름은 단수형이나 테이블의 이름을 복수형으로 사용함
또 Entity의 이름은 공백을 포함할 수 있으나 테이블 이름은 공백을 포함할 수 없으므로 공백 대신 '_' 사용 - Attribute를 테이블의 열로 변환
Attribute의 이름은 공백을 포함할 수 있으나 열 이름은 공백을 포함할 수 없으므로 공백 대신 '_' 를 사용
필수인 attrivute를 변환한 열은 값을 반드시 가져야 하므로 null 값을 가질 수 없다는 의미는 Not NULL로 정의 - UID를 Primary Key로 변환
Primary Key 열은 Not Null과 Unique 특성을 모두 가짐
UID가 여러 개인 경우는 그 중 하나를 Primary Key로 변환하고 나머지 UID는 Unique Key로 표시 - Relationship을 Foreign Key로 변환
Mapping Relationships
Relationship을 Foreign Key로 변환할 때 Foreign Key 열의 위치는 Relationship의 종류에 따라 달라질 수 있음
- M : 1 Relationship
Foreign Key는 M 쪽의 테이블에 생성되며 반대편 테이블의 Primary Key를 참조함
만약 관계가 필수적이면 Foreign Key 열은 Not NULL 특성을 가짐 - Mandatory 1 : 1 Relationship
어느 한 방향의 Relationship이 필수적이면 Foreign Key는 필수인 쪽의 테이블에 생성되며 Not NULL 특성을 가짐 - Optional 1 : 1 relationship
Relationship 이 양 방향 모두 선택적이면 Foreign Key는 두 테이블 중 어느 쪽에도 만들어질 수 있음
일반적으로 데이터가 나중에 생성되는 쪽이나 데이터의 양이 많은 쪽에 Foreign Key를 생성함
Mapping an E-R Model to Tables
E-R Model을 관계형 테이블로 변환한 결과를 이해하기 쉽게 표현하기 위하여 Table Instance Chart를 사용할 수 있음
Phtsical Database Build
물리적 데이터베이스 구축은 논리적 데이터베이스 설계를 테이블, 인덱스, 뷰 등 물리적인 데이터베이스 객체 설계로 변환하고 이들을 생성하기 위하여 SQL 문장을 작성 및 실행하는 단계
데이터베이스에 초기 데이터들을 로드하고 사용자에게 접근 권한을 허가하는 작업까지 포함할 수 있음
Phtsical Database Design
논리적 데이터베이스 설계를 거치고 나면 관계형 데이터베이스를 생성하기 위한 테이블 설계를 얻을 수 있음
이를 물리적 데이터베이스로 구축하기 위해서는 실제로 구현될 시스템 환경의 특성을 반영하여 물리적 데이터베이스 설계 단계를 거쳐야 함
데이터베이스를 오라클의 DMNS를 사용하여 구축하기로 결정하였다면 오라클 DBMS의 특성을 고려하여 사용할 데이터 유형이나 테이블을 저장하는 젖아 방식, 데이터 접근 시 사용할 적절한 인덱스의 종류 등을 결정하고 설계해야 할 것
데이터베이스 관리자는 이러한 사항들을 토대로 하여 데이터베이스를 구축하기 전에 필요한 저장 공간의 크기와 특성에 대한 계획을 세울 수 있음
물리적 데이터베이스 설계 단계에서 결정한 사항은 실제로 데이터베이스를 구축하였을 때, 그 성능에 많은 영향을 줄 수 있음
Creating Phusical Tables
물리적 데이터베이스 구축 단계에서는 SQL 문을 사용하여 데이터베이스 설계 단계에서 생성한 관계형 테이블 설계를 실제로 구현함
테이블 외의 다른 데이터베이스 객체들도 추가로 생성할 수 있으며 초기 데이터를 테이블에 로드하는 작업까지 데이터베이스 구축 단계에 포함시킬 수 있음
'DB > DBI' 카테고리의 다른 글
Advanced Database Technology and Future Trend (1) | 2024.01.08 |
---|---|
SQL (1) | 2024.01.08 |
Normalization (1) | 2024.01.04 |
Logical Data Model and Relational Database (2) | 2024.01.04 |
Conceptual Data Modeling Basics (1) | 2024.01.04 |