포스트

01. Database System-Summary

01. Database System-Summary

Database system

summary

데이터베이스 정의

  • 조직에 필요한 정보를 얻기 위하여 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것
  • 즉, 통합된 데이터(integrated data), 저장된 데이터(stored data), 운영 데이터(operational data), 공용 데이터(shared data)를 말함

데이터베이스의 특징

  1. 실시간 접근이 가능(real-time accessibility)
  2. 지속적인 변화(continuous evolution)
  3. 동시 공유 가능(concurrent sharing)
  4. 내용으로 참조 가능(content reference)

데이터베이스 시스템 구성

  • 데이터베이스 관리 시스템(DBMS), 데이터베이스, 데이터 모델

정보 시스템의 발전

1. 파일 시스템

  • DBMS가 없는 시스템으로, 데이터는 파일 단위로 저장되며 파일을 다루는 파일 서버가 존재

2. 데이터베이스 시스템

  • DBMS를 도입하여 데이터를 통합 관리하는 시스템

3. 웹 데이터베이스 시스템

  • 데이터베이스를 웹 브라우저에서 사용하도록 제공하는 시스템
  • 웹 서버와 JSP, PHP, 웹 데이터베이스 연동 언어들을 사용

4. 분산 데이터베이스 시스템

  • 여러 곳에 분산된 DBMS 서버를 연결하여 운영하는 시스템으로 대규모 응용 시스템에 사용

DBMS 장점

  1. DBMS를 이용하여 데이터를 공유하므로 중복 가능성 낮음(데이터 중복 최소화)
  2. 중복 제거로 데이터의 일관성이 유지(데이터 일관성 유지)
  3. 데이터 정의와 프로그램 간의 독립성을 유지(데이터 독립성 유지)
  4. 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등 수행(관리 기능 제공)
  5. 짧은 시간에 큰 프로그램 개발 용이(프로그램 개발 생산성 향상)
  6. 데이터 무결성 유지, 데이터 표준 준수가 용이

DBMS 기능

1. 데이터 정의

  • 데이터 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행

2. 데이터 조작

  • 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 검색, 삽입, 수정, 삭제 작업을 지원

3. 데이터 추출

  • 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출

4. 데이터 제어

  • 데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어
  • 백업과 회복, 동시성 제어 등의 기능을 지원

SQL

  • 데이터베이스 시스템에 사용하는 전용 언어로 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 구성

1. 데이터 정의어(DDL)

  • DBMS에 저장된 테이블의 구조를 정의
  • CREATE, ALTER, DROP 문 등

2. 데이터 조작어(DML)

  • 데이터를 검색, 삽입, 삭제, 수정하는 데 사용
  • SELECT, INSERT, DELETE, UPDATE 문 등

3. 데이터 제어어(DCL)

  • 데이터의 사용 권한을 관리
  • GRANT, REVOKE 문 등

데이터 모델

  • 데이터베이스 시스템에서 데이터를 저장하는 이론적인 방법에 관한 것으로, 데이터베이스에 데이터가 어떻게 구조화되어 저장되는지를 결정

1. 포인터 사용

  • 계층 데이터 모델, 네트워크 데이터 모델

2. 속성값 사용

  • 관계 데이터 모델(현재 대중적인 사용)

3. 객체 식별자 사용

  • 객체 데이터 모델

3단계 데이터베이스 구조

  • 외부 단계, 개념 단계, 내부 단계로 나뉘며 각 단계는 외부 스키마, 개념 스키마, 내부 스키마로 구성

스키마(schema) : 그리스어에서 유래된 단어로 데이터베이스의 조직이나 구조를 의미

1. 외부 스키마

  • 서브 스키마(subschema)라고도 부르며, 뷰(vieww)의 개념
  • 개념 스키마 중 사용자에게 필요한 부분 스키마를 의미

2. 개념 스키마

  • 전체 데이터베이스의 정의를 말하는 것으로 통합 조직별로 하나만 존재
  • 저장 장치에 독립적으로 기술되며, 데이터와의 관계(relationship), 제약사항, 무결성에 대한 내용이 포함

3. 내부 스키마

  • 물리적 저장 장치에서 데이터베이스가 실제로 저장되는 방법을 표현한 것
  • 인덱스, 데이터 레코드의 배치 방법, 데이터 압축 등에 관한 사항이 포함

외부/개념 매핑

  • 사용자의 외부 스키마와 개념 스키마 간의 매핑으로 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응시킴

개념/내부 매핑

  • 개념 스키마의 데이터가 내부 스키마의 물리적 장치 중 어디에 어떤 방법으로 저장되는지 대응시킴

매핑(Mapping) : 각 단계 간 대응 관계를 정의

데이터 독립성

  • 3단계 데이터베이스 구조에서 하위 단계의 내용을 추상화하여 상위 단계에 그 세부 사항을 숨김으로써 한 단계 내의 변경에 대해 다른 단계와 상호 간섭이 없도록 하는 것

1. 논리적 데이터 독립성

  • 외부 단계와 개념 단계 사이의 독립성으로, 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않도록 지원

2. 물리적 데이터 독립성

  • 개념 단계와 내부 단계 사이의 독립성으로, 저장 장치 구조 변경과 같이 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원
이 기사는 저작권자의 CC BY-NC 4.0 라이센스를 따릅니다.