2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

정보처리기사 - 데이터베이스 구축(1장) 정리

2025. 5. 8. 17:46ㆍ개발공부/자격증 공부
728x90

논리 데이터베이스 설계

 

데이터베이스 설계

 

개념적 설계(정보 모델링, 개념화)

  • 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
  • 요구 분석 단계에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이터그램으로 작성
  • DBMS에 독립적인 개념 스키마를 설계한다.

 

논리적 설계(데이터 모델링)

  • 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정
  • 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계
  • 트랜잭션의 인터페이스를 설계

 

물리적 설계(데이터 구조화)

  • 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
  • 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정
  • 저장 레코드의 형식, 순서, 접근 경로, 조회가 집중되는 레코드와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사
  • 물리적 설계 시 고려할 사항
    1. 트랜잭션 처리량
    2. 응답 시간
    3. 디스크 용량
    4. 저장 공간의 효율화 등

 

데이터 모델의 개념

 

관계의 형태

  • 1 대 1
  • 1 대 다
  • 다 대 다

 

데이터 모델에 표시할 요소

  • 구조 : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현
  • 연산 : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구
  • 제약 조건 : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

 

E - R(개체 - 관계) 모델

 

E-R 다이어그램


출처 : https://cbjh-4.tistory.com/m/93

 

관계형 데이터베이스의 구조

 

릴레이션
데이터들을 표의 형태로 표현한 것으로 구조를 나타내는 릴레이션 스키마와 실제 값들ㅇ니 릴레이션 인스턴스로 구성

 

튜플

  • 릴레이션을 구성하는 각각의 행
  • 튜플의 수 = 카디널리티 = 기수 = 대응수

 

속성

  • 데이터베이스를 구성하는 가장 작은 논리적 단위
  • 속성의 수 = 디그리 수 = 차수

 

도메인
하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합

 

릴레이션의 특징

  • 한 릴레이션에 포함된 튜플들은 모두 상이
  • 한 릴레이션에 포함된 튜플 사이에는 순서가 없다
  • 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
  • 릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않다.
  • 속성의 유일한 식별을 위해 속성의 명칭은 유일해야 ㅎ지만, 속성을 구성하는 값은 동일한 값이 있을 수 있다.
  • 속성은 더 이상 쪼갤수 없는 원자값만을 저장한다.

 

관계형 데이터베이스의 제약조건 - 키

 

후보키

  • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
  • 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야함

 

기본키

  • 후보키 중에서 트겹ㄹ히 선정된 주키로 중복된 값을 가질 수 없다.
  • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다.

 

대체키
후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미, '보조키'라고도 한다

 

슈퍼키

  • 한 릴레이션 내에 있는 속성들의 집합으로 구성된다.
  • 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못한다.

 

외래키

  • 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
  • 한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 ㄷㅇ일한 도메인 상에서 정의되었을 때 속성 A를 외래키라고 함

 

관계형 데이터베이스의 제약 조건 - 무결성

 

개체 무결성
기본 테이블의 기본키를 구성하는 어떤 속성도 NULL값이나 중복값을 가질 수 없음

 

도메일 무결성
주어진 속성 값이 정의된 도메인에 속한 값이어야 함

 

참조 무결성
외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음

 

사용자 정의 무결성
속성 값들이 사용자가 정의한 제약 조건에 만족해야 함

 

관계대수 및 관계해석

 

관계대수의 개요

  • 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 언어
  • 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고, 결과도 릴레이션이다
  • 질의에 대해 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.

 

순수 관계 연산자

 

일반 집합 연산자

 

관계 해석

  • Codd가 수학의 Predicate Calculus에 기반을 두고 관계 데이터 베이스를 위해 제안
  • 관계해석은 원하는 정보가 무엇이라는 것만 저으이하는 비절차적 특성을 가짐
  • 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등

    출처 : https://sharonprogress.tistory.com/347정규화

 

정규화의 개요

  • 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정
  • 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정
  • 정규화는 데이터베이스의 논리적 설계 단계에서 수행

 

정규화의 목적

  • 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
  • 효과적인 검색 알고리즘을 생성할 수 있다.
  • 데이터 중복을 배제하여 이상의 발생 방지 및 자료 저장 공간의 최소화가 가능하다.

 

이상의 개념 및 종류

  • 정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 발생하는 예기치 못한 곤란한 현상을 의미한다.
  • 삽입 이상 : 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상
  • 삭제 이상 : 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상
  • 갱신 이상 : 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상

 

정규화 과정


출처 : https://velog.io/@wisdom-one/%EC%A0%95%EA%B7%9C%ED%99%94Normalization

 

함수적 종속
데이터들이 어떤 기준값에 의해 종속되는 것을 의미

 

이행적 종속 관계
A는 B이고 B는 C일때 A는 C를 만족하는 관계

 

반정규화

 

반정규화의 개념
시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위

 

중복 테이블 추가 방법

  • 집계 테이블의 추가
  • 진행 테이블의 추가
  • 특정 부분만을 포함하는 테이블의 추가

 

시스템 카탈로그

 

시스템 카탈로그

  • 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스
  • 좁은 의미로는 데이터 사전
  • 시스템 카탈로그에 저장된 정보를 메타 데이터라고 함
  • 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해 볼 수 있다.
  • INSERT, DELETE, UPDATE문으로 카탈로그를 갱신하는 것은 허용되지 않는다.
728x90