반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

꿈꾸는 사람.

[Database] 데이터 모델링 본문

IT/Database

[Database] 데이터 모델링

현무랑 니니 2016. 4. 7. 04:22
반응형
DBMS 생명주기와 설계 단계DBMS 정의

데이터베이스의 정의

데이터베이스란 데이터의 조직화된 모음이다.

상사한 정의는 한 조직의 여러 응용 시스템들이 공용(shared)으로 사용되기 위해 최소 중복으로 통합(integrated), 저장(stored)된 운영 데이터(operational data)의 집합이다.


데이터베이스 정의에서 나타난 중요 특징들을 살펴보자.

1) 통합된 데이터 (integrated data)

 - 원칙적으로 데이터베이스에는 같은 데이터의 중복을 허용하지 않는다.

 - 실상은 효율성 문제로 최소의 중복(minimal redundancy)과 통제된 중복(controlled redundancy)이 허용된다.

2) 저장된 데이터 (stored data)

 - 컴퓨터가 접근 가능한 매체에 저장된 테이터

3) 운영 데이터 (operational data)

 - 조직의 고유 기능을 수행하기 위해 필수적인 데이터

4) 공용 데이터 (shared data)

 - 여러 응용 프로그램들이 공동으로 이용할 수 있는 공용 데이터


데이터베이스의 구성요소

1) 개체 (entity)

 - 데이터베이스가 표현하려는 분리된 유무형의 정보대상으로 서로 구분할 수 있는 것이다.

2) 속성 (attribute)

 - 개체의 특성이나 상태를 기술하는 데이터의 가장 작은 논리적 단위이다.

3) 관계 (relationship)

 - 둘 이상의 개체들이 어떻게 연관되었는지를 나타낸다.


데이터베이스의 구조


데이터베이스는 위 그림처럼 3단계 스키마 구조로 이루어져 있다.

1) 스키마 정의

 - 데이터 구조와 제약 조건의 명세를 기술한 것이다.

 - 데이터 정의언어로 작성되어 컴파일되고 데이터 사전에 저장 된다.

2) 외부 스키마 (external schema)

 - 사용자의 관점에서 보여주는 데이터베이스 구조로 전체 데이터 베이스의 일부이므로 서브 스키마라고도 한다.

3) 개념 스키마 (conceptual schema)

 - 전체 사용자 또는 모든 응용 시스템이 필요한 데이터베이스 구조.

 - 조직 전체의 데이터베이스로 단 하나만 존재한다.

4) 내부 스키마( internal schema)

 - 저장장치의 입장에서 데이터베이스 전체가 저장되는 방법을 명세한 것으로 역시 단 하나만 존재한다.


DBMS 정의

다수의 사용자나 응용 프로그램들이 데이터베이스 내의 데이터에 접근할 수 있도록 관리해주는 소프트웨어 시스템이다.

필수 기능과 이를 제공하는 언어와 설명을 아래 표로 정리한다.


 필수 기능 

 설명

 데이터 언어

 정의 기능

 (Definition)

 데이터베이스 구조를 정의.

 - 데이터의 논리적-물리적 구조 간의 사상(mapping)을 명세

 Data Definition Language (DDL)

 - DBA 또는 데이터베이스 설계자가 주로 이용.

 - DB 스키마를 컴퓨터가 이해하도록 기술한다.

 조작 기능 

 (Manipulation)

 데이터베이스 접근성 제공.

 Data Manipulation Language (DML)

 - 사용자나 응용 프로그램이 주로 이용.

 - 데이터의 검색, 삽입, 삭제, 변경에 사용.

 - 절차적 조작어와 비절차적 조작어(Query 언어).

 제어 기능

 (Control)

 데이터 베이스 제어.

 - 데이터 무결성, 보안, 병행 제어 처리

 Data Control Language (DCL)

 - 주로 DBA가 이용.


데이터 모델링

- 현실 세계의 데이터를 컴퓨터 세계의 데이터로 변환하는 작업이다.


데이터 모델의 3 요소는 다음과 같다.

1) 데이터 구조(Data structure) - 개체들 간의 관계를 명세.

2) 연산(Operation) - 개체를 처리하는 작업에 대한 명세.

3) 제약조건 (Constraint) - DB에 허용될 수 있는 개체에 대한 논리적 제약의 명세.


DBMS 생명주기와 설계 단계


데이터베이스 설계 단계별 중요 업무는 아래 표와 같다.

 설계 단계

 결과물

 내용

 요구 분석

 

 데이터 및 업무처리 요구 분석

 개념적 설계

 개념 ERD, 개념 스키마

 DBMS 독립적인 개념 스키마 설계

 트랜잭션 모델링

 논리적 설계 

 논리 ERD, 논리 스키마

 목표 DBMS에 맞는 논리 스키마 설계 

 트랜잭션 인터페이스 설계

 물리적 설계

 Index

 목표 DBMS에 맞는 물리적 구조 설계
 트랜잭션 세부 설계
 구현 

 목표 DBMS DDL로 스키마 작성

 트랜잭션 작성


데이터베이스 설계 단계별 사용 용어 정리.

 개념 설계 

 논리 설계 

 물리 설계 

 Entity

 Relation

 Table

 Attribute

 Attribute

 Column, 

 

 Tuple

 Row, Record

 

 정규화

 반정규화


E-R 모델과 관계형 모델의 변환

 E-R 모델

 관계형 모델

 개체 타입

 관계

 속성

 단순속성

 속성 (열)

 복합속성

 단순 속성들의 집합

 키 속성

 기본키, 대체키, 후보키, 슈퍼키

 속성값 집합

 도메인

 관계

 1:1 관계

 두 관계는 하나의 관계로 통합된다.

 두 관계의 기본키로 구성된 새로운 관계 생성.

 한쪽 관계의 기본키를 다른쪽 관계의 외래키로 설정.

 1:N 관계

 1측의 기본키를 N측의의 외래키로 설정한다.

 두 관계의 기본키들로 구성한 새로운 관계를 생성.

 M:N 관계

 두 관계의 기본키로 구성된 새로운 관계를 생성.

 새로운 관계의 기본키는 두 관계의 기본키들을 결합한 복합키를 사용.


반응형
Comments