본문 바로가기
DataBase

데이터베이스 : 정의, 구조, 무결성

by 노랑파랑 2016. 10. 30.
반응형




데이터베이스 (DataBase)란?

* 특정 조직이 업무를 수행하는 데 필요한 관련성이 있는 자료들의 집합체

* 한 조직(enterprise)의 여러 응용 시스템들이 공용(shared)하기 위해 통합(integrated)하여 저장(stored)한 운영 데이타(operational data)의 집합

* 주요 목적은 데이터를 저장했다가 필요할 때 사용하고, 지속적으로 데이터를 관리하고 보호하는 것이다.



데이터베이스 목적

* 공용 데이터 (shared data) 

– 한 조직의 여러 응용 시스템들이 공동으로 소유, 유지, 활용하는 데이타

* 통합 데이터 (integrated data) 

– 최소의 중복(minimal redundancy) 

– 통제된 중복(controlled redundancy)

* 저장 데이터 (stored data)

 – 컴퓨터가 접근 가능한 저장 매체에 저장 

 – 자기 디스크, 자기 테이프 장치 등

* 운영 데이터 (operational data) 

– 한 조직의 고유 기능(업무) 수행 시 필요한 데이타




데이터베이스 특징
* 실시간 접근성 (real-time accessibility) 
– 질의에 대한 실시간 처리(real-time processing) 및 응답
     * 계속적인 변화 (continuous evolution) 
– 지속적인 갱신(update), 삽입(insert), 삭제(delete) 발생 – 동적(dynamic) 특성
     * 동시 공용 (concurrent sharing) 
– 여러 사용자(multi-user)가 동시에 사용
     * 내용에 의한 참조 (content reference) 
– 데이타의 위치(location)나 주소(address)보다 내용(contents)에 따라 참조 


데이터 웨어하우스 (Data WareHouse)

* 기간 시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환하여 일원적으로 관리하는 데이터베이스. 

* 창고라는 의미로 데이터의 격납이나 분석 방법까지 포함하여 조직 내 의사 결정을 지원하는 정보 관리 시스템으로 이용한다.



스키마 

* DB의 구조 (개체, 속성, 관계)와 제약조건에 대한 명세를 기술한 것



스키마 3계층

* 외부 스키마(External Scheme)

* 서브 스키마, 사용자뷰

* 사용자가 보는 관점, 사용자에 따라 다르고 여러개가 존재 할 수 있다.

* 내부 스키마 (Internal Scheme)

* 일반적인 스키마

* 전체적인, 범 기관적, 총괄적인 관점

* 데이터베이스의 전체적인 논리적 구조이다.

* 개념 스키마 (Conceptual Scheme)

* 물리적인 스키마

* 실제 데이터를 저장한다.

* 데이터베이스의 전체적인 물리적 구조로 DBA를 관리


데이터베이스 설계 순서

요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 -> 운영 -> 감시 및 개선

1) 개념적 설계

* 개체 타입과 이들 간의 관계 타입을 이용해 현실 세계를 개념적으로 표현한다.

* 산출물 : 개체관계도 = ER 다이어그램

구성요소 

기호 

설명 

예시 

개체 

Entity 

 

Entity


데이터베이스에 표현하려고 하는 현실 세계의 대상 

일반적인 표현방법 -> 레코드

하나 이상의 속성으로 이루어짐

학생, 교수, 학과, 과몬 

 속성 

Attribute

 

Attribute


 개체의 성질, 분류, 식별, 수량, 상태등을 나타내는 세부항목

학생 - 학번, 이름, 전화번호 

 관계

Relationship

 

Relationship


두 개체 간에 의미 있는 연결 

 학생은 과목을 수강한다.

 과목은 학생에게 수강되어 진다. 


2) 논리적 설계

* 목표 DBMS에 맞추어 논리적 모델로 설계 

* 관계형, 계층형, 망형 모델


3) 물리적 설계

* 저장레코드 양식의 설계 및 물리적 구조 데이터 표현



관계형 데이터베이스

* 테이블 (릴레이션 ) :  개체

* 키 (key)

- 특정 조건에 맞는 튜플을 구분할 수 있는 단일 속성 및 속성 그룹을 말한다.

1) 슈퍼키 : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말한다. ! 유일성

2) 후보키 : 한 릴레이션 내에 있는 모든 튜플들을 유일하여 식별할 수 있는 하나 또는 몇 개의 속성 집합, ! 유일성, 최소성

2) 기본키 : 후보키들 중 선택한 키. 중복되어서는 안되며, Null값을 가질 수 없다.

4) 대체키 : 기본키를 제외한 나머지 후보키

5) 외래키 : 어떤 릴레이션에서 다른 릴레이션을 참조할 때 기준이 되는 속성으로, 참조하고자 하는 릴레이션의 기본키와 동일하다.

* 튜플 ( Tuple ) : 행

* 속성 ( Attribute ) : 열

* 릴레이션 스키마 : 속성의 이름들, 릴레이션 구조

* 릴레이션 인스턴스 : 튜플들의 집합

* 도메인 : 한 속성에 나타날 수 있는 값들의 범위

* 차수 ( Degree ) : 속성들의 개수

* 카디널리티 ( Cardinality ) : 튜플들의 개수

릴레이션 구조



무결성

1) 참조 무결성

* 릴레이션은 참조 할 수 없는 외래키 값을 가질 수 없다는 제약 조건

2) 개체 무결성

* 한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 널(Null)값이나 중복 값을 가질 수 없다는 제약 조건

3) 도메인 무결성

* 각 속성 값은 반드시 정의된 도메일에 속한 값이어야 한다.


반응형

'DataBase' 카테고리의 다른 글

SQL Server와 PostgreSQL에서 문자열 비교 차이점  (0) 2023.08.03
기초 : 데이터  (0) 2016.11.09
기초 : 테이블  (0) 2016.11.09
기초 : 데이터베이스  (0) 2016.11.09
기초 : 정규화 Normalization, 이상 Anomaly  (0) 2016.10.30