Database

데이터베이스의 기본 개념 정리

뉴욕킴 2023. 10. 21. 16:50


1. 데이터와 데이터베이스에 대한 정의
- 데이터: 알려진 사실들(known facts) → 가공된 데이터로 의사결정에 도움을 줌 


- 데이터베이스: 관련있는 데이터를 최소한의 중복으로 통합해 놓은 데이터의 집합체/ 사용자 데이터와 데이터베이스의 설계를 나타내는 스키마로 모두 데이터베이스에 저장 

2. 데이터베이스 관리 시스템의 기능에 대해 설명

  • 데이터 저장 관리(데이터 저장에 필요한 데이터의 물리적 구조를 생성하고 관리하는 기능) 
  • 데이터 무결성 관리(데이터베이스 스키마를 정의하는 과정에서 사용자에 의해 정의되어 데이터 사전에 저장되고 관리됨) 
  • 데이터 사전 관리(사용자 데이터와 마찬가지로 스키마도 시간이 지남에 따라 변화함, 변경사항은 DBMS에 의해 기록, 관리됨) 
  • 다중 사용자 접근 통제(다수의 사용자가 동시에 동일한 데이터에 접근하여 데이터 무결성과 일관성을 손상시키는 것 방지) 
  • 보안 관리(인증된 사용자만 데이터 접근하도록 관리) 
  • 백업 및 복구 관리(만일의 상황에 대비하여 데이터 백업, 복구절차 제공) 
  • 쿼리 언어 및 어플리케이션 프로그래밍 인터페이스 제공 

2-1. 데이터 베이스 시스템의 특징

  • 데이터 중복 최소화
  • 데이터 공유 가능
  • 데이터 일관성 유지
  • 데이터 무결성 유지
  • 데이터 보안성 유지


3. 파일 시스템과 비교하여, Oracle과 같은 DBMS를 사용하여 데이터베이스를 구축할 때 얻는 장점

  • 데이터 중복 최소화: DBMS는 데이터의 중복을 최소화할 수 있는 기능을 제공합니다. 이를 통해 데이터 일관성과 정확성을 유지할 수 있습니다. 파일 시스템에서는 데이터가 여러 파일에 중복 저장될 수 있으나, DBMS에서는 중복된 데이터를 효율적으로 관리하여 일관성 있는 정보를 유지합니다.
  • 데이터 무결성 보장: DBMS는 데이터 무결성 규칙을 정의하고 적용하여 잘못된 데이터의 입력 및 수정을 방지합니다. 이를 통해 잘못된 데이터로부터 발생하는 문제를 예방하고, 신뢰할 수 있는 정보를 제공합니다.
  • 동시 접근 제어: DBMS는 여러 사용자가 동시에 데이터베이스에 접근하는 상황에서도 일관된 처리와 동시 접근 제어 기능을 제공합니다. 이로 인해 병행 처리 문제나 충돌 등으로 인한 오류와 손실을 방지할 수 있습니다.
  • 보안 강화: DBMS는 다양한 보안 기능을 제공하여 민감한 정보의 안전성과 개인정보 보호를 강화할 수 있습니다. 암호화, 접근 제어, 로그 및 감사 추적 등의 기능으로 무단 액세스와 비인가 사용자로부터의 보안 위협으로부터 시스템과 데이터를 보호할 수 있습니다.
  • 백업 및 복구 기능: DBMS는 자체적인 백업 및 복구 메커니즘을 가지고 있어 시스템 장애나 비정상 종료 등으로 인한 데이터 손실 위험에 대비할 수 있습니다. 정기적인 백업 작업과 복구 프로세스 실행으로 안정적인 운영 환경을 유지할 수 있습니다.
  • 쿼리와 분석 기능: DBMS는 강력한 쿼리 언어(SQL)와 다양한 분석 함수들을 지원하여 유연하고 효율적인 데이터 검색, 필터링, 집계 등의 작업이 가능합니다. 이로써 사용자들은 원하는 정보에 대해 신속하게 조회하고 분석하여 의사 결정에 활용할 수 있습니다.
  • 확장성과 성능 최적화: DBMS는 대량의 데이터 처리와 고성능 요구 사항에 대응하기 위해 설계되었습니다. 따라서 필요에 따라 하드웨어 리소스(서버, 스토리지)를 추가하거나 성능 조정 설정(인덱싱, 파티셔닝 등)을 변경함으로써 시스템 성능과 확장성을 최적화할 수 있습니다.

 

4. 사용자의 데이터 요구사항을 DBMS에 독립적이며 추상적인 자료 모델로 나타내는 과정은?

→ 개념적 설계

 

  1. 개념적 설계 (Conceptual Design):
    • 사용자의 데이터 요구사항을 이해하고 분석합니다.
    • 개념적 데이터 모델(예: ER 모델)을 사용하여 요구사항을 추상화하고 표현합니다.
    • 엔터티, 속성, 관계 등의 개념들을 사용하여 데이터 구조를 설계합니다.
  2. 논리적 설계 (Logical Design):
    • 개념적 설계에서 얻은 추상화된 데이터 구조를 DBMS에 종속되지 않는 논리적 자료 모델로 변환합니다.
    • 대표적인 논리적 자료 모델로는 관계형 데이터 모델(Relational Model)이 있습니다.
    • ER 다이어그램 등의 도구를 사용하여 엔터티, 속성, 관계 등을 테이블과 관련성으로 매핑합니다.
  3. 물리적 설계 (Physical Design):
    • 논리적 설계에서 얻은 테이블 구조를 실제 저장 장치에 맞게 변환하는 단계입니다.
    • 저장 공간 할당, 인덱스 생성, 파티셔닝 설정 등과 같은 성능 최적화 기법을 적용합니다.
    • DBMS의 특정 기능 및 제약 조건에 따라 세부 사항을 설정하고 최종 스키마를 정의합니다.
  4. 추상화:
    • 위 과정에서 수행한 개념적 및 논리적 설계 단계에서 생성된 자료 구조는 실제 DBMS와 독립되어 있습니다.
    • 이러한 추상화된 자료 구조는 사용자가 직접 접근하는 것이 아니라 응용 프로그램과 DBMS 간의 인터페이스 역할을 합니다.


5. DBMS와 관련된 모델로 소프트웨어에는 종속적이지만 하드웨어에는 독립적인 모델은?

→ 추상적 모델 


6. 데이터베이스의 논리적 구조를 나타내고 있기 때문에 물리적 구조를 나타내는 물리적 모델과 구별되어 논리적 모델이라 불리는 모델은?

→ 개념 모델(데이터베이스의 전체 구조와 관계, 제약 조건 등을 추상화하여 표현하는 모델로, 사용자나 응용 프로그램이 데이터에 접근하는데 필요한 논리적인 구조를 정의 

 

"외부모델 (External Model)"은 사용자나 응용 프로그램들이 실제로 접근하는 데이터베이스의 일부분에 해당하며, 외부 사용자 관점에서 필요한 데이터 구조와 연산을 정의합니다.

반면에 "물리적모델 (Physical Model)"은 실제 저장 장치에 데이터를 저장하고 처리하기 위한 물리적인 성격과 성능을 고려하여 설계되는 모델입니다. 따라서 물리적 모델은 하드웨어 종속적인 요소들을 고려하여 데이터베이스 시스템에서의 성능 최적화 및 저장 방식 등을 결정합니다.

따라서, 개념모델과 외부모델은 논리적인 구조를 나타내는 모델로 분류되며, 이와 대비되는 것으로는 물리적모델이 있습니다.


7. 프로그래머들이 사용하는 데이터에 주안점을 두는 모델?
외부 모델(사용자나 응용 프로그램들이 실제로 접근하는 데이터베이스의 일부분에 해당/ 직접 다루고 관리하는 데이터에 초점을 맞추는 모델) 


8. 관계형 데이터베이스에서 외래키 값은 반드시 다른 테이블의 기본키 값으로 존재하는 값이어야 한다는 규정
참조 무결성 규정

참조 무결성 규정은 관계형 데이터베이스에서 데이터의 일관성을 유지하기 위해 사용되며, 외래키와 기본키 간의 관계를 정의합니다. 이 규정에 따르면 외래키 값은 참조하는 테이블의 기본키 값을 가리켜야 합니다. 즉, 외래키는 참조하는 테이블에 해당하는 값만을 가질 수 있으며, 다른 테이블의 기본키 값을 참조하지 않으면 오류가 발생합니다.

따라서, 와래키와 기본키 간의 관계를 체크하여 데이터 일관성을 유지하는 것이 참조 무결성 규정입니다.


9. 둘 이상의 필드로 구성되는 기본키는?

복합키 

10. 관계형 데이터베이스의 테이블의 특징으로 적당하지 않는 것은? 
- 테이블은 행과 열로 구성
- 행은 레코드 또는 튜플로 정의
- 열은 필드 또는 속성으로 정의
- 각 셀은 다수의 속성값으로 구성 → X 

 

각 셀은 다수의 속성값으로 구성하는 것은 관계형 데이터베이스의 테이블의 특징으로 적당하지 않습니다.

테이블은 행과 열로 구성되며, 각 행은 레코드 또는 튜플로 정의되고, 각 열은 필드 또는 속성으로 정의됩니다. 이러한 구조에서 각 셀은 단일한 값만을 가지며, 하나의 속성값을 포함합니다.

따라서, "각 셀은 다수의 속성값으로 구성"하는 것은 관계형 데이터베이스의 테이블에 해당하지 않습니다.

'Database' 카테고리의 다른 글

데이터베이스 예제 문제  (1) 2023.11.04
DB 설계 절차 #  (1) 2023.11.02
데이터 정규화란?  (0) 2023.10.18
SQL Server 기초 문법  (0) 2023.10.05
데이터베이스 생성이란?  (2) 2023.09.30