ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2024 데이터베이스개론 정리 - 1. 데이터베이스 시스템 개요
    Database 2024. 4. 2. 18:06
    728x90

     

     

     

     

    2024 데이터베이스개론 정리 - 1. 데이터베이스 시스템 개요

     

     

     

    들어가기 앞서 ...

     

     

     

    전공 데이터베이스 수업 들었던 것과 수업에서 안 배웠지만 중요하다는 개념들(Stored Procedure, Transaction, 인덱스, ... )을 기타 보충해서 정리한다. 

     

    4월 말에 SQLD 신청하던데 ... 이번에 공부 잘해두고 한 번 도전?

     

     

     

    목차 

     

     

    • 1. 데이터베이스 시스템 개요
    • 2. ER 모델 & EER 모델 
      • ER 모델 
      • EER 모델 
    • 3. 관계 데이터베이스 모델 (ER모델 to 관계 모델)
    • 4. 관계 데이터 연산 - 관계 대수와 관계 해석
      • 관계 대수 
      • 관계 해석
    • 5. SQL
      • 검색 
      • 테이블 정의, 조작, 뷰 
      • Stored Function, Stored Procedure 
      • Tigger
      • Transaction
      • DB 인덱스와 B Tree
    • 6. 함수적 종속성과 정규화 
      • 함수적 종속성
      • 정규화
    • 추가 
      • RDB VS NoSQL 

     

     

     


     

     

     

     

    데이터베이스란 

    • 연관된 데이터들의 집합 
    • 한 조직의 여러 응용 프로그램이 공유하기 위해서 통합하여 저장한 운영 데이터의 집합 

     

     

    데이터베이스 관리 시스템 (DBMS, Database Management System)

    • 데이터베이스의 관리(정의, 생성, 조작, 공유 등)를 담당하는 소프트웨어 패키지

     

     

    데이터베이스 시스템 

    • 데이터베이스와 이를 관리하는 소프트웨어(DBMS + 응용 프로그램)를 모두 칭하는 용어

     

     

    데이터베이스 시스템 등장 배경

    • 파일 시스템 - 공유의 개념이 없으므로 응용프로그램마다 필요한 데이터를 별도의 파일로 관리함 (중복 발생)
    • 문제점 
      • 데이터 종속성 (Dependency) : 응용프로그램이 파일 구조에 종속적이므로 파일 구조를 변경하려면 응용프로그램도 함께 변경해야 함
      • 데이터 일관성 (Consistency) : 데이터는 어떤 응용 프로그램에서 사용되더라도 일관된 값을 유지해야 함 
      • 데이터 무결성 (Integrity) : 데이터는 유효한 값을 유지해야 함 
    • 위 문제를 해결하기 위해 데이터베이스 등장 !

     

     

     

    데이터베이스의 특징

     

    • 데이터의 독립성 (응용프로그램과 데이터의 분리)
      • 물리적 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
      • 논리적 독립성 : 데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다.
    • 데이터의 무결성
      • 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다.
    • 데이터의 보안성
      • 인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다.
    • 데이터의 일관성
      • 연관된 정보를 논리적인 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터의 불일치성을 배제할 수 있다. 또한 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않는 경우의 수를 배제할 수 있다.
    • 데이터 중복 최소화
      • 데이터베이스는 데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터의 중복성 문제를 해결할 수 있다.
    • 데이터 동시 접근 지원 
      • 다수의 사용자, 또는 응용 프로그램이 동시에 동일한 데이터에 접근할 수 있도록 지원하며, 일관성을 보장하기 위한 동시성 제어(Concurrency Control) 기능 제공함 
      • Transaction
        • 한 번 이상의 데이터베이스 접근을 통해 데이터베이스 작업을 수행하는 논리적 최소 단위
        • 트랜잭션의 주요 성질 중 하나로 Atomicity(원자성)

     

     

    데이터 모델의 분류

    • 물리적 데이터 모델 : 어떻게 컴퓨터의 저장 장치에 데이터베이스가 구축되는가에 대한 세부사항을 명시하는 개념을 제공 -> 하드웨어 의존적
    • 개념적 데이터 모델 : 사용자들이 데이터를 인식하는 방식에 대한 개념을 제공 -> 하드웨어 독립적
      • 예: ER 모델 (ER 모델만으로는 상용 데이터베이스 시스템에서 데이터베이스를 구축하기 어려움)
    • 표현(구현) 데이터 모델: 상용 DBMS에서 많이 사용하는 데이터 모델로서, 사용자들이 쉽게 이해할 수 있는 개념을 제공하지만 컴퓨터 저장 장치에 데이터베이스가 구축되는 방식과 완전히 무관하지는 않음
      • 예 : 관계 데이터 모델 (데이터 저장 구조의 세부 사항은 은폐하지만, 상용 데이터베이스 시스템에서 데이터베이스의 구축이 가능함)

     

     

    데이터베이스의 구조 

    • 데이터 베이스 = 데이터베이스 스키마 + 데이터베이스 인스턴스 
      • 데이터베이스 스키마 : 데이터베이스 구조에 대한 기술 (Description) / 메타 데이터에 해당함
      • 데이터베이스 인스턴스 : 스키마에 따라 데이터베이스에 실제로 저장된 값
    • 3단계 스키마 구조 (3-Schema Architecture)
      • 데이터베이스를 세 가지 관점에 따라 세 단계로 나누어 관리하는 구조로서 궁극적인 목적은 응용 프로그램과 물리적 데이터베이스의 분리 
      • 구성 
        • 외부 단계 : 개별 응용 프로그램/사용자 관점 (다수의 외부 스키마 존재)
        • 개념 단계 : 특정 조직의 모든 응용 프로그램/사용자 관점 (하나의 개념 스키마 존재)
        • 내부 단계 : 물리적 저장 장치의 관점 (하나의 내부 스키마 존재)
      • 각 단계별로 서로 다른 데이터 추상화(Data Abstraction)을 제공
        • 물리적 저장 구조의 자세한 내용은 응용프로그램 또는 사용자로부터 은폐시키고, 응용프로그램에게는 각자의 요구에 맞는 개념적인 뷰만을 제공하는 것 - 데이터의 의미를 이해하는데 도움이 되는 특징들만 제공 
      • 내부 -> 개념 -> 외부를 거쳐서 사용자의 외부 스키마 (뷰)와 일치하도록 재구성하는 과정을 스키마 사상(Mapping)이라고 함 

     

     

     

     

     

     

     

    728x90
Designed by Tistory.