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차원 테이블 형태인 릴레이션으로 표현
릴레이션에 대한 제약조건 및 관계대수를 정의한다.
속성 값 사용

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

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

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

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

    논리적 데이터 독립성

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

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

    물리적 데이터 독립성