[정보처리기사실기] 데이터베이스 / 스키마 / DBMS / DB 설계

    반응형

    2과목. 데이터베이스 구축

    📒 01. 데이터베이스 개념 및 설계


    1. 데이터베이스

    (1) 데이터베이스의 정의 ⭐

    • a) 공유 데이터(Shared Data)
      - 많은 사람들이 공유하는 데이터
    • b) 저장 데이터(Stored Data)
      - 컴퓨터가 접근 가능한 매체에 저장된 데이터
    • c) 통합 데이터(Integrated Data)
      - 중복이 최소화된 데이터 모임
    • d) 운영 데이터(Operational Data)
      - 조직의 목적을 위한 필수 데이터

    (2) 데이터 언어

    • a) DDL(Data Definition Language)
      - 데이터베이스의 구조와 제약 조건 정의
      - 데이터 넣기 위한 공간을 만드는 것
    • b) DML(Data Manipulation Language)
      - 데이터 처리 및 조작에 사용되는 언어
    • c) DCL(Data Control Language)
      - 보안, 권한, 무결성 및 병행 제어를 위한 언어

     

    2. 스키마(Schema)

    (1) 스키마의 정의

    • 데이터베이스의 구조, 제약조건, 속성, 개체, 관계를 포함한 전반적인 명세 기술
    • 전체적인 구조와 제약조건을 나타낸 것
    • 개체(Entity)는 여러 속성(Attribute)의 집합으로 이루어져 있으며, 개체들 사이에는 관계(Relation)가 존재

    (2) 3계층 스키마

    • a) 외부 스키마(External Schema) - 사용자 뷰
      - 사용자 관점에서 데이터베이스의 논리적 구조를 정의
      - 하나의 데이터베이스에 여러 개의 외부 스키마가 존재할 수 있음
      - 사용자가 하나의 외부 스키마를 공유하여 사용할 수 있음
      - 데이터베이스 접근 시 프로그래밍 언어를 사용할 수 있음
    • 논리적 독립성
      - 외부 스키마와 개념 스키마 사이에 있는 것으로, 논리적 구조를 변경할 수 있는 능력
      - 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않음
    • b) 개념 스키마(Conceptual Schema) - 전체적인 뷰
      - 데이터베이스의 전체적인 논리적 구조를 나타내며, 전체 조직의 데이터 요구사항을 종합적으로 반영
      - 일반적으로 하나의 데이터베이스에는 하나의 개념 스키마만 존재
      - 전체적인 구조와 제약 조건을 나타낸 것
    • 물리적 독립성
      - 개념 스키마와 내부 스키마 사이에 있는 것으로, 물리적 구조를 변경할 수 있는 능력
      - 내부 스키마가 변경되어도 외부/개념 스키마에는 영향을 미치지 않음
    • c) 내부 스키마(Internal Schema) - 저장 스키마
      - 물리적인 저장장치에 관점에서 데이터베이스의 구조 정의

     

    3. 데이터베이스 관리 시스템(Database Management System)

    (1) DBMS의 정의

    • 데이터베이스를 효과적으로 관리하고 조작하기 위한 전용 소프트웨어

    (2) DBMS의 기능

    • a) 데이터 정의
      - 데이터의 형식, 구조 및 제약조건 설정
    • b) 데이터 조작
      - 데이터 검색, 갱신 및 보고서 생성을 위한 질의 수행 기능 제공
    • c) 데이터 제어
      - 데이터 무결성, 보안 및 동시성 제어 기능

    (3) DBMS의 종류

    • a) 계층형(Hierarchical DataBase)
      - 트리 구조로 데이터 간의 관계 표현, N:N(다 대 다) 관계 처리가 불가능함
    • b) 네트워크형(Network DataBase)
      - 계층형의 단점을 보완하여, 데이터 간의 다대다 관계가 가능한 망형 모델
      - 구조가 복잡해 유지보수가 어려움
      - CODASYL이 제안한 것
    • c) 관계형(Relational DataBase)
      - 키와 값으로 이루어진 데이터들을 행과 열로 구성된 테이블 구조로 단순화시킨 모델
      - SQL(Structured Query Language)을 사용하여 데이터 처리
    • d) 객체 지향형(Object-Oriented DataBase)
      - 객체지향 개념에 기반하여 만든 데이터베이스 모델
      - 비정형 데이터들을 데이터베이스화할 수 있도록 하기 위해 만들어진 모델
    • e) 객체 관계형(Object-Relational DataBase)
      - 관계형 데이터베이스에 객체지향 개념을 도입하여 만든 데이터베이스 모델
    • f) NoSQL
      - Not Only SQL의 준말로, SQL 뿐만 아니라 다양한 특성을 지원
      - 비정형 데이터 처리에 유리하지만 스키마 변경이 불가
    • g) NewSQL
      - RDBMS와 NoSQL의 장점을 결합한 모델로, 확장성과 트랜잭션 동시 지원
    더보기

    정형 데이터는 구조가 정해진 것(개념, 상속 등), 비정형 데이터는 구조가 없는 것(영상, 음원)

    트랜잭션은 하나의 일처리 단위

     

    4. 데이터베이스 설계

    (1) 데이터베이스 설계 정의

    • 요구 조건에서부터 데이터베이스 구조를 도출하는 과정

    (2) 설계 시 고려사항

    • a) 제약조건
      - 저장된 데이터 값이 만족해야 하는 조건
    • b) 데이터베이스 무결성
      - 데이터 변경에도 데이터 값은 제약조건을 만족해야 함
    • c) 일관성
      - 저장된 데이터 값에 대한 응답은 모순 없이 일치하는 특성
    • d) 회복
      - 장애 발생 시 복구하는 기법
    • e) 보안
      - 노출에 대한 보호 기능
    • f) 효율성
      - 시스템의 생산성을 향상시키는 것
    • g) 데이터베이스 확장성
      - 새로운 데이터를 계속적으로 추가할 수 있어야 함

    (3) 데이터베이스 설계 단계 ⭐

    • a) 개념적 설계
      - 데이터베이스의 개념적 스키마를 구성(예. E-R 다이어그램)
      - 사용자의 요구사항을 E-R다이어그램 형태로 만드는 과정
    • b) 논리적 설계
      - 목표 DBMS의 논리적 자료 구조로 변환하는 과정
      - 목표 데이터 모델을 기반으로 설계
      - 관계형 데이터베이스의 경우, 이 단계에서 정규화 과정을 거침
      - 트랜잭션의 인터페이스 설계 수행
    • c) 물리적 설계
      - 물리적 구조, 저장 구조 등을 고려하여 설계
      - 저장 장치 관점에서 성능을 고려해야 함
      - 특정 EBMS에 맞는 설계를 해야 함

     

     

    참고자료

    흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
     

    1억뷰 N잡

    [1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스

    www.njobler.net

    반응형

    댓글