Post

Database

Database

PART1. DB 기초 및 특징

1. 정보, 지식, 지혜의 의미와 활용방안

정의

  • 정보: 자료들 중에서 가치나 의미가 있다고 인정된 자료
  • 지식: 기존 정보를 활용 -> 새로운 가치의 정보 창출 능력
  • 지혜: 지식이라는 창의력 바탕 -> 전체 상황 신속 파악 -> 의사결정

2. 데이터베이스의 정의와 특성에 대해 설명하시오. (구조에 대해 설명)

정의

여러 사람이 공유하여 사용할 목적으로 통합 관리되는 정보의 집합 논리적으로 연관된 하니이상의 자료모음 파일 관리 시스템이 갖는 구조적 한계를 극복, 자료를 구조화하여 기억시켜놓은 자료의 집합체

특성

  • 실시간 접근성
  • 지속적 변화
  • 동시 공용, 공유 사용
  • 내용에 의한 참조

구조

  • 논리적 구조: 사용자 & 프로그래머 입장에서의 Data의 논리적 표현
  • 물리적 구조: HDD Track내의 Sector에 저장 (SSD의 경우 Page에 저장)

3. 데이터베이스의 특징과 장단점

특징

자료의 독립, 자기 정의, 추상화

장점

편리성, 자료관리, 무결성, Security, 보안, Recovery, Backup, 생산성

단점

고가, 처리속도, 신기술

4. 데이터베이스의 생성 목적과 구성 요소에 대해 설명

생성 목적

체계적 저장, 정보 적시 제공, 의사 결정 지원

구성 요소

하드웨어, 시스템 S/W, 응용 S/W, Data(자료)

5. 데이터베이스의 ANSI/SPARC 아키텍처에 대해 설명하시오.

개요

DB 아키텍처를 관정에따라 3개의 Layer로 분리하여 사용자에게 내부적으로 복잡한 DB구조를 단순화(추상화) 시킨 관점을 제공하는 것 <-> 설계 관점에서는 개념/논리/물리적 구조로 나뉘어져 있다.

구조

외부스키마(사용자) / 개념스키마(개발자) / 내부스키마(관리자)

6. 기존 File System의 문제점과 DBMS의 장점

7. DBMS의 정의, 역할, 필수 기능, 장단점

정의

응용프로그램과 Data의 중재자로서 모든 응용프로그램들이 DB를 공용하여 사용할 수 있게 관리해주는 스프트웨어

역할

Data 추상화, DB 생성, Query 언어사용, 데이터 공유, 접근 제어, 동시성 제어, 회복, 트랙잭션

필수 기능

정의기능(DDL), 조작기능(DML), 제어기능(DCL)

8. 스키마와 인스턴스 그리고 DDL, DML, DCL에 대해 설명

  • 스키마: DB에 저장되는 Data의 구조와 요형을 정의하는 것
  • 인스턴스: Database에 저장되는 값들
  • DDL: 자료 정의어 (새 Database 구성슬 정의하는 언어)
  • DML: 자료 조작어 (DB에 자료를 입력, 갱신, 검색, 삭제하는 언어)
  • DCL: 자료 제어어 (병행제어, 복구, 백업, 보안등을 지원하는 언어)

9. DB의 절차 언어와 비 절차 언어에 대해 설명하고 프로그래밍 언어와 자료언어와의 관계에 대해 설명

절차언어 정의

자료를 처리하는 방법을 기술하는 언어 (C#, C++, JAVA 등)

비철차언어의 정의

원하는 자료를 지정하는 언어, 처리방법 기술 x (SQL, OBE 등)

프로그래밍 언어와 자료언어의 관계

프로그래밍 언어는 절차언어, 자료언어는 비절차언어로 나뉘며, 절차언어는 자료를 처리하는 방법을 기술하고 비절차언어는 자료를 처리하는 방법을 기술하지 않는다. 절차언어(프로그래밍언어, 사칙연산, Host언어) vs 비절차언어(자료언어, 파일연산, 내장언어)

10. 데이터베이스의 생명주기와 DB 설계 과정에 대해 기술하시오.

생명주기

요구사항 분석 -> 설계 -> 구현 -> 운영 -> 유지보수

설계과정

요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> Database 구현

11. DB의 설계 과정인 기획, 분석, 설계, 구현 과정에 대해 설명하시오.

기획

개발계획서, 일정, 투자비, 목표

분석

요구명세서, 자료사전, 외부/개념 스카마, 자료흐름도

설계

요구명세서, 개념적 설계서, 논리적 설계서, 물리적 설계서

12. Database의 3-Schema 구조의 정의와 실제 사용 예 (DB의 장단점)

3-Schema 구조

아키텍처 관점(외부/개념/내부), 설계 관점(개념/논리/물리)

  • 외부 스카마: 사용자 관점에서 DB를 정의하는 것
  • 개념 스키마: Data 구조를 개념적으로 묘사 (DB의 전반적인 논리 구조)
  • 내부(물리) 스키마: 기억장치에 구현하기 위한 물리적 구조를 정의하는 것

Database의 장/단점

장점: 편리성, 자료관리, 무결성, 보안, 병행제어, 복구, Backup, 생산성 단점: 고가, 낮은속도, 신기술

13. DB의 Data 독립성에 대해 설명하시오.

데이터 독립성 이란?

DB의 논리적 구조와 물리적 구조를 분리하여 DB의 논리적 구조가 변경되더라도 물리적 구조에 영향을 주지 않도록 하는 것

독립성의 종류

  • 논리적 독립성: DB의 논리적 구조가 변경되더라도 외부 스키마에 영향을 주지 않도록 하는 것
  • 물리적 독립성: DB의 물리적 구조가 변경되더라도 논리적 구조에 영향을 주지 않도록 하는 것

14. DB의 속성(Attribute)에 대해 설명하시오.

정의

정보(사물)을 나타내는 최소의 단위로써 Entity의 성질, 분류, 수량, 상태, 특성을 나타냄

15. DB의 속성 종류에 대해 나열하시오.

  1. 기본 속성 (Simple Attribute) - 더 이상 나눌 수 없는 단일 값 (예: name, age, email)
  2. 복합 속성 (Composite Attribute) - 여러 개의 기본 속성으로 구성된 속성. (예: address → city, street, zipcode)
  3. 다치 속성 (Multivalued Attribute) - 하나의 속성이 여러 값을 가질 수 있음. (예: phone_numbers → 한 명이 여러 전화번호를 가질 수 있음, 관계형 DB에서는 따로 테이블을 만들어 1:N 관계로 표현함.)
  4. 유도 속성 (Derived Attribute) - 다른 속성으로부터 계산되거나 유도되는 속성. ( 예: age는 birth_date로부터 계산 가능, 실제 테이블에는 저장하지 않고 필요할 때 계산하기도 함.)
  5. 키 속성 (Key Attribute) - 레코드를 유일하게 식별할 수 있는 속성. (예: id, student_number, ERD에서 밑줄로 표시함.)

PART2. DB 모델링

16. Data Modeling의 절차에 대해 설명하시오.

데이터 모델링 정의

현실세계의 사물이나 개념을 추상화하여 데이터베이스의 Data로 표현하기 위한 과정

구성요소

개체, 관계, 속성, 제약조건

절차

요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계
개념적 설계: 현실 세계의 정보 구조를 추상적으로 모델링하는 단계 (ERD 작성), 무엇을 저장할 것인가? 논리적 설계: 개념적 설계에서 만든 ER 모델을 실제 관계형 스키마로 바꾸는 단계 (정규화), 어떻게 구조화할 것인가? 물리적 설계: 논리적 설계에서 만든 관계형 스키마를 실제 DBMS에 구현하는 단계 (테이블 생성), 어떻게 구현할 것인가?

17. ER(Entity Relationship) 다이어그램 표기법 10지 이상에 대해 각각 예를 들어 설명하시오.

Entity, Attribute, Key Attribute, Multivalued Attribute, Inferred Attribute, Relation, Weak Entity, Weak Relationship, Partial Key Attribute

18. ER Model의 작성 절차에 대해 설명하시오.

요구분석 -> 개체(Entity) 도출 -> 속성(Attribute) 도출 -> 관계(Relation) 도출 -> 식별자 도출 -> 정규화 -> 통합/분할 -> Data 모델 검증

19. ER 모델에서의 연결 함정(Connection Trap)에 대해 설명하시오.

정의

개체 간 관계성 집합의 의미가 모호하여 원치않는 결과 및 업무 처리에 영향을 미치는 ER 모델의 문제점

유형

  • 부채꼴 함점(Fan Trap): 개체 집합 사이에 관계성 집합이 정의되어 있긴 하지만 관계성 예시가 모호한 경우
  • 균열 함정 (Chasm Trap): 개체와 관계성 집합이 정의되어 있기는 하지만 일부 개체 사이에 관계성이 미존재

해결 방법

  • 부채꼴 함정:
  • 균열 함정:

20. -

21. EER(Enhanced ER) Model에 대해 설명하시오.

개요

ER 모델을 확장한 모델로서, 세분화, 상속화, 집단화, 일반화 개념을 포함하여 보다 복잡한 관계를 표현할 수 있는 모델

상속 vs 일반화

상속: 상위->하위 방향으로 가는 개념(Top-down 방식), 상위 개체의 속성과 관계를 하위 개체가 상속받는 것 일반화: 하위->상위 개념(Bottom-up 방식), 하위 개체의 공통 속성을 상위 개체로 묶는 것

22. TRUCK과 CAR에 대해 일반화(Generalization)을 완성하시오.

-

23. Database에 사용되는 관계 대수의 연산자와 연산자 실행 예를 기술하시오.

관계대수의 정의

관계형 DB에서 데이터를 처리하기 위한 연산으로, 집합론에 기반하여 정의된 연산자들로 구성되어 있음

관계대수 연산자의 종류

Select, Project, Join, Union, Intersection, Difference, Cartesian Product, Division

24. -

25. -

26. -

27. -

28. -

29. DB에서 정규화의 수행 절차에 대해 설명하시오.

정규화의 정의

이상현상을 발생시키는 손성 간의 종속성, 중복성을 제거하고 무결성을 보장하기 위해 Relation을 분해하는 과정

정규화의 수행절차

30. DB에서 사용되는 Super Key, Candidate Key, Primary Key, Alternate Key, Foreign Key에 대해 설명하시오.

  • 슈퍼키: 유일성은 있으나 최소성을 만족시키지 못하는 한개 이상의 속성의 집합
  • 후보키: 유일성과 최소성을 만족시키는 키
  • 기본키: 후보키 중에 대표로 선정된 키
  • 대체키: 기본키를 제외한 후보키들
  • 외래키: 다른 Relation의 기본키로 선정된 Key

31. -

32. Database에서 Key의 본질적 제약과 내제적 제약에 대해 설명하시오.

본질적 제약

기본키와 관련된 제약으로 반드시 주키가 있어야하고 유일성과 최소성을 보장해야하는 제약

내재적 제약

관계에 포함되는 Data나 속성에 관련된 제약, Data의 의미를 정확히 표현하고 오류 방지

33. DB에서 함수적 종속성에 대해 기술하시오.

개요

특성 X가 특정 고유 속성 Y를 결정짓는 관계 (> X -> Y)

유형

  • 완전 함수적 종속성: X -> Y, Y는 X에만 종속

34. DB에서 이상 현상의 유형과 사례, 해결 방안

This post is licensed under CC BY 4.0 by the author.