Database: 데이터베이스 시스템
Database

데이터베이스의 개념 및 특징

데이터베이스의 개념

  • 통합된 데이터integrated data: 데이터의 중복을 최소화하여 중복으로 인한 데이터 불일치 현상을 제거한다.
  • 저장된 데이터stored data: 데이터는 디스크에 저장된다.
  • 운영 데이터operational data
  • 공용 데이터«sup>shared data</sup>

데이터베이스의 특징

  • 실시간 접근성real time accessibility
  • 계속적인 변화continuous change
  • 동시 공유concurrent charing
  • 내용에 따른 참조reference by content

파일 시스템과 DBMS의 비교

  파일 시스템 DBMS
데이터 정의 및 저장 데이터 정의: 응용 프로그램
데이터 저장: 파일 시스템
데이터 정의: DBMS
데이터 저장: 데이터베이스
데이터 접근 방법 파일에 직접 접근 DBMS에 파일 접근 요청
데이터 중복 ↑ ↓
데이터 일관성 ↓ ↑
데이터 독립성 ↓ ↑
관리 기능 ↓ ↑
개발 생산성 ↓ ↑
비고 별도의 소프트웨어 설치가 필요하지 않음 데이터 무결성 유지 용이

데이터베이스 시스템의 구성

  • 사용자
    • 일반 사용자
    • 응용 프로그래머
    • SQL 사용자
    • DBADatabase Administrator (데이터베이스 관리자)
  • DMBSDatabase Management System: 사용자와 DB를 연결시켜주는 SW로, 메모리에 상주한다.
  • 데이터베이스: 데이터를 모아둔 토대로, 디스크에 저장된다.
  • 데이터 모델: 논리적인 개념으로, 데이터가 저장되는 기법을 말한다.

데이터베이스 언어

SQLStructured Query Language을 사용해 관계형 데이터베이스를 관리한다.

  • DDL Data Definition Language (데이터 정의어): DBMS에 저장된 테이블 구조를 정의한다. (CREATE, ALTER, DROP 등)
  • DML Data Definition Language (데이터 조작어): 데이터를 검색, 삽입, 삭제, 수정한다. (SELECT, INSERT, DELETE, UPDATE 등)
  • DCL Data Definition Language (데이터 제어어): 데이터 사용 권한을 관리한다. (GRANT, REVOKE 등)

데이터 모델

데이터 모델 설명 비고
계층 데이터 모델 1:N의 대응 관계 (트리 형태)
상위 레코드 삭제 시 연쇄 삭제가 일어난다.
포인터 사용
네트워크 데이터 모델 N:N의 대응 관계 (그래프 형태)
구조가 복잡하고, 구현하기 어렵다.
포인터 사용
객체 데이터 모델 객체지향 프로그래밍 패러다임을 적용<br 객체식별자 사용
관계 데이터 모델 데이터를 2차원 테이블 형태인 릴레이션으로 표현
릴레이션에 대한 제약조건 및 관계대수를 정의한다.
속성 값 사용

데이터베이스의 개념적 구조

  • 외부 스키마: 하나의 논리적인 부분

  • 개념 스키마: 전체 데이터베이스의 정의

    외부/개념 매핑: 외부 스키마의 데이터가 개념 스키마의 어느 부분에 해당되는지 대응

    논리적 데이터 독립성

  • 내부 스키마: 데이터베이스가 실제로 저장되는 방법의 표현

    개념/내부 매핑: 개념 스키마의 데이터가 내부 스키마의 디스크 중 어디에 어떤 방법으로 저장되는지 대응

    물리적 데이터 독립성