일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 태그를 입력해 주세요.
- arm
- python
- NC다이노스
- 문파문파 공략
- 문파문파
- Git
- 손민한
- 인공지능
- 데이터베이스
- 뉴스타파
- Tizen
- 우분투
- 해외직구
- 국정원
- 안드로이드
- 야구
- NC 다이노스
- ubuntu 12.04
- 김경문
- 조세피난처
- 단통법
- 프로야구
- 블로그
- 타이젠
- ubuntu
- 애플
- mysql
- 리뷰
- Linux
- Today
- Total
꿈꾸는 사람.
[Database] 데이터 모델링 본문
데이터베이스의 정의
데이터베이스란 데이터의 조직화된 모음이다.
상사한 정의는 한 조직의 여러 응용 시스템들이 공용(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 관계 |
두 관계의 기본키로 구성된 새로운 관계를 생성. 새로운 관계의 기본키는 두 관계의 기본키들을 결합한 복합키를 사용. |
'IT > Database' 카테고리의 다른 글
[MySQL][Error 13 해결] 파일 읽기/쓰기 실패 (Can't create/write to file) (2) | 2017.02.10 |
---|---|
[초간단 SQL 학습][MySQL] 파일로부터 데이터를 읽어오기. (0) | 2017.02.08 |
[초간단 SQL 학습][MySQL] 데이터베이스, 테이블 만들기. (0) | 2016.04.23 |
[SQL][SELECT 명령어] aggregate 함수를 이용한 검색. (0) | 2016.04.17 |
[SQL][SELEC 명령어]. 초간단 학습! (0) | 2016.04.09 |