랑아
article thumbnail

02. 데이터베이스 관리 시스템

01. 질의어(Query Language)

1) DDL(Data Definition Language, 데이터 정의어)

  • 테이블을 생성하고 변경하고 제어함
  • 응용 프로그램과 데이터베이스 관리 시스템 간의 인터페이스를 제공
  • 데이터베이스를 정의하거나 그 정의를 수정할 목적으로 사용하는 언어
  • 테이블(Table) : 테이블은 기본적으로 열(Column)과 행(Row)을 가지며 각각의 컬럼은 지정된 유형의 데이터 값을 저장하는 데 사용
  • 행(Row) : 튜플이나 인스턴스 또는 어커런스라고도 함
  • 열(Column) : 속성을 의미
  • 기본키(Primary Key) : 테이블에서 하나의 행을 유일하게 식별해주는 정보로, 단일 혹은 복수 컬럼 조합으로 활용할 수 있으며, 유일한 속성을 가짐
  • 외래키(Foreign Key) : 다른 테이블과 연관된 정보로, 외부 데이터 집합과의 관계 구현을 위해 활용

2) DML(Data Manipulation Language, 데이터 조작어)

  • 데이터를 검색(SELECT), 갱신(UPDATE), 삽입(INSERT), 삭제(DELETE)를 함
  • 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공

3) DCL(Data Control Language, 데이터 제어어)

  • 관계 데이터 언어(Relational Data Language) 중에서 데이터의 보안, 무결성, 회복과 밀접한 관련이 있는 데이터 언어



02. 데이터베이스 관리 시스템(DBMS : Database Management System)

1) 데이터베이스 관리 시스템의 정의

  • 사용자와 응용 프로그램, 데이터베이스와 상호 작용하여 데이터를 저장하고 분석하기 위한 컴퓨터 응용 프로그램
  • 데이터베이스 생성, 조회, 변경 등의 관리가 주요 기능
  • 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어
  • DBMS는 조직의 목적을 위해 존재하는 운영 데이터를 통합 저장하여 공동으로 사용 가능하도록 관리하는 시스템이라고 할 수 있음

2) 데이터베이스 관리 시스템의 필수 기능

  1. 데이터 정의 기능(Definition Facility)
    • 데이터의 논리적, 물리적 구조를 정의할 수 있어야 함
  2. 데이터 조작 기능(Manipulation Facility)
    • 사용자가 자연 언어에 가까운 수준으로 데이터를 검색, 변경, 삭제할 수 있어야 함
    • 데이터의 접근 방법이 효율적이며 명확해야 함
  3. 데이터 제어 기능(Control Facility)
    • 동시성 제어(Concurrency Control) 기능 : 사용자가 동시에 데이터를 사용하고자 할 때 감시, 감독하는 기능이 있어야 함
    • 보안(Security)과 권한(Authority) 기능 : 데이터를 외부로부터 보호해야 하며 데이터의 사용 권한을 구분하여 사용할 수 있도록 해야 함
    • 무결성(Integrity) 및 제약조건 유지 기능 : 데이터가 변경, 수정되는 과정에서 데이터의 정확성과 일관성이 유지되도록 해야 함

3) 데이터베이스 관리 시스템의 특징

  • 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
  • 데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정한 성질
  • 데이터 회복성 : 장애가 발생하였을 시 원래 상태로 복구되어야 하는 성질
  • 데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
  • 데이터 효율성 : 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 요구 조건 등을 만족시켜야 하는 성질

4) 데이터베이스 관리 시스템의 장단점

  1. 장점
    • 데이터의 중복 최소화
    • 데이터를 많은 사용자가 공유할 수 있음
    • 데이터를 규칙에 맞게 표준화시켜 관리할 수 있음
    • 데이터의 보안과 무결성을 유지할 수 있음
    • 종합적인 데이터의 관리를 통해 데이터의 일관성 유지
  2. 단점
    • 데이터의 규모가 크고, 복잡하여 구축 자체가 매우 어려움
    • 데이터 파괴에 대한 회복이 매우 어려움
    • 일정 부분에 문제가 발생하였을 때 전체 시스템에 영향을 주는 경우가 발생
    • 구축 비용이 많이 듦

5) 데이터베이스 관리 시스템의 종류

  종류     저작권     라이선스     용도  
  Oracle     Oracle     상용     대규모 데이터  
  IBM DB2     IBM     상용     대구모 데이터  
  MS-SQL     Microsoft     상용     중소규모 데이터  
  MySQL     MySQL AB, Oracle     GPL 또는 상용     개방 소스 RDBMS  
  SQLite     Richard Hipp     저작권 보호 만료     스마트폰, 태블릿  
  MongoDB     MongoDB 사     GNU, AGPL     개방 소스 NoSQL  
  Redis     Salvatore     BSD     개방 소스 키 값 DB  

6) 상용 DBMS 선정 시 고려사항

  1. 협업 : 개발자, 품질 담당자, 필요에 따라 경영층까지 협업이 용이한 툴을 선정
  2. 지원 깊이 : SQL에서 제공하는 명령어에 대한 지원 커버리지를 파악
  3. 시각화 : 데이터의 흐름, 테이블 가시화 등 그래픽 요소 지원 여부를 파악
  4. 이 기동 데이터베이스 지원 : 하나의 툴로 다양한 복수의 데이터베이스를 지원
  5. 비용 : 라이선스 비용, 운용 인력 급여 등 유지하는 데 들어가는 총 비용을 고려
  6. 편의 기능 : 관리자, 사용자를 구분한 접근 권한 설정 및 편의 기능을 고려
profile

랑아

@RangA

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!