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) 데이터베이스 관리 시스템의 필수 기능
- 데이터 정의 기능(Definition Facility)
- 데이터의 논리적, 물리적 구조를 정의할 수 있어야 함
- 데이터 조작 기능(Manipulation Facility)
- 사용자가 자연 언어에 가까운 수준으로 데이터를 검색, 변경, 삭제할 수 있어야 함
- 데이터의 접근 방법이 효율적이며 명확해야 함
- 데이터 제어 기능(Control Facility)
- 동시성 제어(Concurrency Control) 기능 : 사용자가 동시에 데이터를 사용하고자 할 때 감시, 감독하는 기능이 있어야 함
- 보안(Security)과 권한(Authority) 기능 : 데이터를 외부로부터 보호해야 하며 데이터의 사용 권한을 구분하여 사용할 수 있도록 해야 함
- 무결성(Integrity) 및 제약조건 유지 기능 : 데이터가 변경, 수정되는 과정에서 데이터의 정확성과 일관성이 유지되도록 해야 함
3) 데이터베이스 관리 시스템의 특징
- 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
- 데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정한 성질
- 데이터 회복성 : 장애가 발생하였을 시 원래 상태로 복구되어야 하는 성질
- 데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
- 데이터 효율성 : 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 요구 조건 등을 만족시켜야 하는 성질
4) 데이터베이스 관리 시스템의 장단점
- 장점
- 데이터의 중복 최소화
- 데이터를 많은 사용자가 공유할 수 있음
- 데이터를 규칙에 맞게 표준화시켜 관리할 수 있음
- 데이터의 보안과 무결성을 유지할 수 있음
- 종합적인 데이터의 관리를 통해 데이터의 일관성 유지
- 단점
- 데이터의 규모가 크고, 복잡하여 구축 자체가 매우 어려움
- 데이터 파괴에 대한 회복이 매우 어려움
- 일정 부분에 문제가 발생하였을 때 전체 시스템에 영향을 주는 경우가 발생
- 구축 비용이 많이 듦
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 선정 시 고려사항
- 협업 : 개발자, 품질 담당자, 필요에 따라 경영층까지 협업이 용이한 툴을 선정
- 지원 깊이 : SQL에서 제공하는 명령어에 대한 지원 커버리지를 파악
- 시각화 : 데이터의 흐름, 테이블 가시화 등 그래픽 요소 지원 여부를 파악
- 이 기동 데이터베이스 지원 : 하나의 툴로 다양한 복수의 데이터베이스를 지원
- 비용 : 라이선스 비용, 운용 인력 급여 등 유지하는 데 들어가는 총 비용을 고려
- 편의 기능 : 관리자, 사용자를 구분한 접근 권한 설정 및 편의 기능을 고려
'정보처리기사 > 데이터베이스 구축' 카테고리의 다른 글
논리 데이터베이스 설계 3 (1) | 2023.05.26 |
---|---|
논리 데이터베이스 설계 2 (0) | 2023.05.25 |
논리 데이터베이스 설계 1 (0) | 2023.05.25 |
데이터베이스의 개요 3 (0) | 2023.05.25 |
데이터베이스의 개요 1 (1) | 2023.05.25 |