1. DBMS 개요 및 MariaDB 소개
1.1 DBMS 개요
1.1.1 데이터 베이스의 정의와 특징
DB의 정의
- 데이터의 집합
- 여러 명의 사용자, 응용프로그램이 공유
- 동시 접근이 가능해야 함
- MariaDB에서는 ‘데이터의 저장공간’ 자체를 의미하기도 함
DBMS(DataBase Management System)
DB 또는 DBMS의 특징
- 데이터의 무결성
- 오류가 없는 무결성(Integrity)
- DB 안의 데이터는 어떤 경로를 통해 들어왔든 데이터에 오류가 없어야 함
- 제약 조건(Constraint)을 통해 무결성 구현
- 반드시 있어야 하는 데이터
- 중복되지 않는 데이터
- 데이터의 독립성
- DB와 응용 프로그램은 독립적은 관계여야 함
- DB의 크기 변경, 데이터 파일의 저장소를 변경한 경우에도 기존에 작성된 응용 프로그램은 전혀 영향을 받지 않아야 함
- 보안
- DB 안의 데이터에 대한 접근성
- 데이터를 소유 또는 접근이 허가된 사람만 데이터에 접근 가능
- 접근 시 사용자의 계정에 따라 다른 권한을 가짐
- 고객 정보 유출 사고가 빈번한 상황
- 데이터 중복의 최소화
- 동일한 데이터의 중복 저장 방지
- 하나의 테이블에 저장하고 공유함으로써 중복 최소화
- 응용 프로그램 제작 및 수정이 쉬워짐
- 통일된 방식으로 응용 프로그램 작성 가능
- 유지보수 용이
- 데이터의 안전성 향상
1.1.2 DB의 발전
발전 과정
- 오프라인으로 관리 : 수기
- 파일 시스템의 사용 : 메모장, 엑셀
- DBMS
- 파일 시스템의 단점 보완
- DB를 잘 관리/운영하기 위한 소프트웨어
- SQL(Structured Query Language)
- DBMS에 데이터를 구축하고 관리, 활용하기 위해 사용되는 언어
- DBMS를 통해 중요한 정보들을 입력하고 관리, 추출하는데 사용
1.1.3 DBMS 분류
분류별 특징
- 계층형 DBMS
- Tree 형태의 DBMS
- 구조 변경의 어려움, 접근의 유연성 부족
- 망형 DBMS
- 계층형 DBMS 개선
- 복잡한 내부 포인터 사용
- 관계형 DBMS
- 현재 사용되는 DBMS 중 가장 많은 부분을 차지
- ‘테이블’이라 불리는 최소 단위로 구성
- 테이블은 하나 이상의 열로 구성
- RDBMS 관리/운영 프로세스
- 업무파악(Data)
- DB 모델링(Table)
- Table(제약사항, 관계, 주요키, 외래키 등) 생성
- 데이터 입력
- 데이터 조회, 수정, 삭제
- 관리(백업, 보안, 처리)
- 관계형 DBMS에서의 ‘테이블’의 개념
- RDBMS의 가장 기본적이고 중요한 구성
- 데이터를 효율적으로 저장하기 위한 구조
- 여러 개의 테이블로 나누어 저장(데이터의 저장 효율성 보장)
- 테이블의 관계(Relation)
- 기본 키(Primary Key)와 외래키(Foreign Key)를 사용해 관계 지정(부모-자식 관계)
- SQL의 JOIN 기능 이용
- 장단점
- 장점
- 쉽게 변화에 순응할 수 있는 구조
- 유지보수 용이
- 대용량 데이터 관리와 데이터 무결성 보장
- 단점
- 시스템 자원을 많이 차지해 시스템이 전반적으로 느려짐
- 하드웨어의 급속한 발전으로 인해 단점이 보완되고 있음(비용 증가)
1.1.4 SQL 개요
SQL의 특징
- DBMS 제작 회사와 독립적임
- 제작 회사는 표준 SQL에 맞춰서 DBMS 개발
- 표준 SQL은 대부분의 DBMS 제품에서 공통 호환
- 다른 시스템으로 이식성이 좋음
- SQL 표준은 DBMS간 상호 호환성이 뛰어나 다른 시스템으로 이식이 쉬움
- 표준이 계속 발전함
- 대화식 언어
- 분산형 클라이언트/서버 구조
- 클라이언트에서 질의 → 서버에서 질의를 받아 처리 후 클라이언트에게 전달
1.2 MariaDB 소개
1.2.1 MariaDB의 개요
- MariaDB 사에서 제작한 RDBMS 소프트웨어
- 오픈 소스
- MySQL이 Oracle에 인수된 이후 몬티 와이드니어스가 자회사 설립
- MySQL과 호환성 대부분 유지
기타 용어
- Deadlock : 동시에 두 사용자가 상대 사용자의 DB에 접근하는 경우, 서로 원하는 리소스가 상대방에게 할당되어 있기 때문에 두 프로세스가 무한정 기다리게 되는 상태
- 이용자와 사용자
- 이용자 : 고객(Customer)
- 사용자 : 직원(User)
Leave a comment