데이터베이스란

2553 단어 DatabaseDatabase

데이터베이스란

여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 모임

⇒ 데이터를 모아둔 창고같은 개념

데이터베이스 정의

스키마

데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것
⇒ DB 내에 어떤 구조로 데이터가 저장되는지를 나타내는 데이터베이스 구조

  • 스키마가 정의하는 것
    • 속성(Attribute) : 개체의 특성을 나타냄
    • 개체(Entity) : 속성들의 집합
    • 관계(Relation) : 개체 간 존재하는 관계
    • 제약조건
ex)

| 고객번호 INT | 이름 CHAR(10) | 나이 INT | 주소 CHAR(20) |
| --- | --- | --- | --- |
  • 특징
    • 데이터 사전(Data Dictionary)에 저장
      • 데이터 사전 : 시스템 전체에서 나타내는 데이터 항목들에 대한 정볼르 지정한 중앙 저장소
    • 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어짐
    • 자주 변경되지 않음(시불변성)
    • 데이터의 구조적 특성을 의미
    • 인스턴스에 의해 규정
  • 구분 : 사용자의 관점에 따라
    • 개념 스키마 = 전체적인 뷰
      • 데이터베이스의 전체적인 논리적 구조
      • 조직체 전체를 관정하는 입장에서 DB 정의
      • 데이터베이스에 실제로 어떤 데이터가 저장되었으며 데이터 간의 관계는 어떤가
      • 조직의 모든 응용시스템에서 필요로 하는 개체 관계, 제약조건 등을 포함
        • DB를 효율적으로 관리하는 데 필요한 접근권한, 보안정책, 무결성 규칙 등에 관한 사항도 포함
      • 일반적으로 스키마라고 하면 개념 스키마를 의미
    • 내부 스키마 = 저장 스키마
      • 데이터베이스의 물리적 저장구조를 의미
      • 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마
      • 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을 기술한 것
        • 실제로 저장될 내부레코드 형식, 내부레코드의 물리적 순서, 인덱스 유무 등
      • 실무적으로 내부스키마에 의해 DB의 실행 속도가 영향을 받기 때문에 DB의 구축 목적에 따라 내부 스키마를 결정해야 함
    • 외부 스키마 = 사용자뷰
      • 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치 화면을 통해 사용자에게 보여줄 것인가
      • 사용자나 응용 프로그래머가 개인의 입장에서 필요한 DB의 논리적 구조를 정의
      • 일반 사용자는 질의어를 이용해서 DB를 쉽게 사용

인스턴스

  • 스키마에 따라 데이터베이스에 실제로 저장된 값, 테이블의 각 행을 의미
  • 시간에 따라 자주 변경
  • 인스턴스의 집합 = 데이터베이스 상태(state)

데이터 언어

데이터 정의어 DDL

  • Data Definition Language
  • 스키마를 정의하거나 변경, 삭제하기 위해 사용

데이터 조작어 DML

  • Data Manipulation Language
  • 실제 데이터의 삽입, 삭제, 수정, 검색 등의 처리를 요구하기 위해 사용

데이터 제어어 DCL

  • Data Control Language
  • 내부적으로 필요한 규칙이나 기법을 정의하기 위해 사용
  • 데이터의 모결성, 보안, 회복 등을 위해 사용
  • DCL을 이용해 정한 규칙과 기법에 따라 DBMS가 DB를 제어하고 보호

데이터베이스 관리 시스템 DBMS

  • DataBase Management System
  • 응용 프로그램을 대신하여 데이터베이스에 존재하는 데이터를 저장하고 관리
  • 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 함

기능

  • 적합한 DB 구조를 정의
  • 이미 정의된 구조를 수정
  • 데이터의 삽입, 삭제, 수정, 검색연산
  • 데이터를 항상 정확하고 안전하게 유지

좋은 웹페이지 즐겨찾기