Hello

[정처기 필기] DBMS, 스키마, 데이터베이스 설계, 키의 종류

by 볼빵빵오춘기

DBMS(DataBase Management System)

  • 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템이다.
  • 응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리한다.
  • 데이터베이스의 구성, 접근 방법, 관리 유지에 대한 모든 책임을 진다.

 

스키마(Schema)

DB의 구조(개체, 속성, 관계)에 대한 정의

 

스키마의 3계층

외부 스키마(External Schema)

  • 사용자나 응용 프로그래머가 접근 할 수 있는 정의를 기술

 

개념 스키마(Conceptual Schema)

  • DB 전체를 정의한 것으로 데이터 개체, 관계, 제약조건, 접근 권한, 무결성 규칙 등을 명세한 것이다.
  • 범기관적 입장에서 DB를 정의한다.

 

내부 스키마(Internal Schema)

  • 데이터의 실제 저장 방법을 기술한다.
  • 물리적 저장 장치의 입장에서 본 데이터베이스 구조로써 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.

 

데이터베이스 언어

  • 데이터 정의어(DDL, Data Definition Language)
  • 데이터 조작어(DML, Data Manipulation Language)
  • 데이터 제어어(DCL, Data Control Language)

 

데이터베이스 사용자

데이터베이스 관리자(DBA, DataBase Administrator)

  • 데이터베이스를 구축하는 책임자이다.
  • DBMS를 관리한다.
  • 사용자 요구 정보 결정 및 데이터를 효율적으로 관리한다.
  • 백업 및 회복 전략을 정의한다.
  • 행정적 책임을 가지고 있다.
  • 시스템 감시 및 성능을 분석한다.
  • 데이터 사전을 구성한다.
  • 데이터 접근 권한과 회복 절차를 수립한다.
  • 데이터베이스의 구성 요소 결정과 내장 저장구조를 정의 및 수정한다.

 

응용 프로그래머

  • DBA가 설계한 데이터베이스를 기반으로 소프트웨어 개발 툴을 이용하여 사용자에게 제공할 소프트웨어를 작성하는 업무를 담당한다.
  • COBOL, PASCAL, C, JAVA 등의 개발 언어를 사용한다.

 

E-R 모델(Entity-Relationship 모델, 개체-관계 모델)

  • 대표적인 개념적 데이터 모델이다.
  • 개체 타입과 이들 간의 관계 타입을 이용하여 현실 세계를 개념적으로 표현한 방법이다.
  • E-R 다이어그램 : E-R 모델을 그래프 방식으로 표현하였다.

<<기호이름 의미>>

사각형 개체(Entity)
마름모 관계(Relationship)
타원 속성(Attribute)
실선 개체 타입과 속성을 연결
2중 타원 다중값

 

관계형 데이터베이스 모델 구조

관계형 데이터 모델 구조

튜플

  • 테이블의 행(Row)에 해당하며 파일 구조의 레코드(Record)와 같은 의미이다.
  • 카디널리티(Cardinality) : 튜플의 수(기수)
  • 한 릴레이션 큐플들의 값은 모두 상이하며, 튜플 간 순서가 없다.

 

속성

  • 테이블 열(Column)에 해당하며 파일 구조의 항목, 필드와 같은 의미이다.
  • 차수(Degree) : 속성의 수
  • 한 릴레이션의 속성은 원자값이며, 속성 간 순서가 없다.

 

도메인(Domain)

  • 하나의 애트리뷰트가 가질 수 있는 원자값들의 집합이다.

 

릴레이션의 특징

  • 모든 튜플은 서로 다른 값을 갖는다 = 튜플의 유일성
  • 하나의 릴레이션에서 튜플의 순서는 없다 = 튜플의 무순서성
  • 속성값은 원자값을 갖는다 = 속성의 원자성
  • 각 속성의 릴레이션 내에서 유일한 이름을 가지며, 속성의 순서는 큰 의미가 없다. = 속성의 무순서성

 

키의 종류

슈퍼키(Super Key)

  • 두 개 이상의 속성으로 구성된 키 또는 혼합키를 의미한다.
  • 모든 튜플에 대한 유일성은 만족하지만, 최소성은 만족하지 않는다.

 

후보키(Candidate Key)

  • 모든 튜플을 유일하게 식별할 수 있는 하나 또는 몇 개의 속성 집합이다.
  • 모든 튜플에 대해 유일성과 최소성 모두 만족한다.
  • 슈퍼키에서 구해진 속성, 속성 집합 중 가장 적은 속성의 집합(최소성)이 후보키가 된다.

 

기본키(Primary Key)

  • 후보키 중에서 대표로 선정된 키이다.
  • 널 값(Null Value)을 가질 수 없다.
  • 후보키 중 가장 적합한 속성 또는 속성 집합을 선택한다.

 

대체키(Alternate Key)

  • 후보키가 둘 이상 되는 경우, 그 중에서 어느 하나를 선정하여 기본키로 지정하고 남은 나머지 후보키이다.
  • 학번을 기본키로 선택한 경우 주민번호가 대체키가 된다.

 

외래키(Foreign Key)

  • 다른 테이블의 기본키로 사용되는 속성이다.

 

무결성

릴레이션 무결성 규정은 릴레이션을 조작하는 과정에서의 의미적 관계를 명세한 것으로 정의 대상으로 도메인, 키, 종속성 등이 있다.

  • 개체 무결성 : 기본키의 값은 널(Null)값이나 중복 값을 가질 수 없다는 제약조건이다.
  • 참조 무결성 :이 때 참조할 수 없는 외래키 값을 가질 수 없다는 제약조건이다.
  • 릴레이션 R1에 속성 조합인 외래키를 변경하려면 이를 참조하고 있는 릴레이션 R2의 기본키도 변경해야 한다.
  • 도메인 무결성 :
  • 각 속성 값은 해당 속성 도메인에 지정된 값이어야 한다는 제약조건이다.

 

데이터베이스 설계 단계

  1. 요구조건 분석
  2. 개념적 설계
    • 목표 DBMS에 독립적인 개념 스키마를 설계한다.
    • 개념 스키마 모델링(E-R 다이어그램 작성)과 트랜잭션 모델링을 병행 수행한다.
  3. 논리적 설계
    • 목표 DBMS에 종속적인 논리적 스키마를 설계한다.
    • 스키마의 평가 및 정제를 한다.
    • 논리적 데이터 모델로 변환 및 트랜잭션 인터페이스를 설계한다.
  4. 물리적 설계
    • 목표 DBMS에 종속적인 물리적 구조를 설계한다.
    • 저장 레코드 양식 설계와 레코드 집중의 분석/설계, 액세스 경로 인덱싱, 클러스터링, 해싱 등의 설계가 포함된다.
    • 접근 경로 설계 및 트랜잭션 세부 설계를 한다.
  5. 데이터베이스 구현
    • 목표 DBMS의 DDL로 스키마를 작성한다.
    • 데이터베이스에 등록 후 트랜잭션을 작성한다.

 

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기