본문 바로가기

Kosta 교육

[Day17 - DB] 데이터베이스 및 DBMS 기본

DBMS 개요

1. 데이터베이스의 정의와 특징

데이터베이스란?

: 데이터의 집합

: 여러 명의 사용자, 응용 프로그램이 공유

: 동시 접근이 가능해야 함

: MariaDB에서는 '데이터의 저장공간' 자체를 의미하기도 함

 

DBMS

: 데이터베이스를 관리/운영하는 역할

: 대부분 우리가 알고 있는 DB인 MySQL, MariaDB, Oracle 등이 DBMS임

: Excel의 경우 대용량을 관리하지 않고, 여러 명의 사용자가 공유하지 않으므로 DBMS가 아님

: 제일 많이 사용하는 DBMS는 테이블 형태의 데이터베이스인 관계형 데이터베이스임

데이터베이스, DBMS, 사용자, 응용 프로그램 관계


2. 데이터베이스 및 DBMS 특징

1) 데이터 무결성

   - 오류가 없는 무결성 : 경로에 상관없이 데이터에 오류가 없어야 함

   - 제약조건을 통한 무결성 구현 : 반드시 있어야 하는 데이터는 존재해야 하며(Not Null), 중복되지 않아야 함(Unique)

 

2) 데이터 독립성

   - 데이터베이스와 응용 프로그램은 독립적 관계여야 함

   - 데이터의 크기 변경, 데이터 파일의 저장소를 변경한 경우 기존 응용 프로그램은 영향을 받지 않아야 함

 

3) 보안

   - 데이터베이스 안의 데이터에 대한 접근성

   - 데이터를 소유한 사람이나 접근 허가가 된 사람만 데이터에 접근 가능

   - 사용자 계정에 따른 다른 권한 부여

 

4) 데이터 중복 최소화

   - 동일한 데이터의 중복 저장을 방지

   - 데이터베이스에 통합해 하나의 테이블로 저장 및 관리함

 

5) 응용 프로그램 제작 및 수정이 쉬움

   - 데이터베이스 이용 : 통일된 방식으로 응용 프로그램 작성이 가능하며, 유지보수가 쉬워짐

 

6) 데이터 안전성 향상

   - DBMS가 자체적으로 제공하는 백업/복원 기능을 이용해 데이터 손실 시 복원 및 복구가 가능


3. DBMS 분류

DBMS 유형은 아래 블로깅 참고

https://kcode-recording.tistory.com/25

 

[데이터베이스] Database 기본

데이터베이스(Database) : 구조화된 정보 또는 데이터의 조직화된 모음으로서 일반적으로 컴퓨터 시스템에 전자적으로 저장되며, 데이터베이스 관리 시스템인 DBMS에 의해 제어됨 : 데이터 작성 및

kcode-recording.tistory.com

 

테이블

: RDMBS의 가장 기본적이고 중요한 구성

: 데이터를 효율적으로 저장하기 위한 구조

: 여러 개의 테이블로 나누어 저장 - 불필요한 공간의 낭비를 줄이고 데이터의 저장 효율성 보장

: 테이블의 관계

  - 기본키(PK)와 외래키(FK)를 사용해 관계 : 두 테이블의 부모와 자식의 관계로 묶어주며, JOIN 이용

 

RDMBS 장점

: 업무가 변화될 경우 쉽게 변화에 순응할 수 있는 구조

: 유지보수 측면에서도 편리한 특징

: 대용량 데이터의 관리와 데이터 무결성을 보장

 

RDBMS 단점

: 시스템 자원을 많이 차지해 시스템이 전반적으로 느려짐

: 하드웨어의 급속한 발전으로 인해 보완됨


SQL

4. SQL 개요

SQL 특징

: DBMS 제작 회사와 독립적

  - 제작 회사는 표준 SQL에 맞춰서 DBMS개발

: 다른 언어와 이식성이 좋음

: 표준이 계속 발전 중

: 대화식 언어

  - SQL은 질의 후 바로 결과를 얻는 대화식 언어

: 분산형 클라이언트/서버 구조로, 클라이언트에서 질의 시 서버에서 질의를 받아 처리 후 다시 클라이언트로 전달하는 구조

 

주의점)

: 모든 DBMS의 SQL문이 완벽하게 동일하지 않음

: 자신의 제품에 특화된 SQL이 존재함