본문 바로가기
Data-driven Methodology/Database & SQL

DBMS (Data Base Management System)

by goatlab 2022. 3. 1.
728x90
반응형
SMALL

DBMS (Data Base Management System)

 

DBMS에는 데이터 저장 형태에 따라 RDBMS, NoSQL으로 나눌 수 있다. 차이점은 RDBMS의 경우 데이터들의 관계를 기반으로 한 정형 데이터이고, 반면 NoSQL은 key-value값으로 이루어진 비정형 데이터이다.

 

  • 데이터 베이스 관리 시스템 (Data Base Management System)
  • 방대한 양의 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공해 주는 시스템 소프트 웨어
  • 응용프로그램과 데이터베이스의 중재자로서 모든 응용프로그램들이 데이터베이스를 공용할 수 있게끔 관리해 주는 소프트웨어 시스템
  • 데이터를 저장하고 유지보수 (수정, 삭제, 추가)하고 이를 검색하는 시스템 (CRUD ; Create, Retrieve, Update, Delete)
  • 대량의 데이터를 처리하는 시스템
  • 다양한 자료구조와 검색구조 (정렬, 인덱싱, ...)을 사용해 빠른 검색 가능
  • 검색에 최적화 (쓰기에 최적화된 시스템은 NoSQL계열)

 

정렬

 

  • 빠른 검색을 위해서는 데이터가 반드시 정렬 (sorting)되어 있어야 함
  • 정렬 되어 있지 않다면 평균적으로 전체 데이터의 절반 필요 (최선 : 1, 최악 : N, 평균 : N / 2)
  • 정렬되어 있을 경우 데이터를 빠른 시간 안에 찾을 수 있음 : O(NlogN)-O(N^2)
  • 퀵정렬 / 힙정렬 계열이 주로 사용됨

 

인덱스 (Index)

 

1. 이진검색 (Binray Search) : 최대 log_2(N)번 내에 검색가능

2. B-Tree계열 : 사용 DMMs에서 가장 일반적으로 많이 사용됨

 

데이터 추가 / 수정 / 삭제할 때마다 정렬 / 인덱스 업데이트가 일어남

 

관계형 데이터베이스 관리 시스템 (Relational Database Management System ; RDBMS)의 종류

 

  • 오라클 (Oracle)
  • 사이베이스 (Sybase)
  • 인포믹스 (infomix)
  • MYSQL
  • Acess
  • SQL Server
  • NoSQL (Not Only SQL)

 

관계형 데이터 베이스는 정보를 저장하기위한 구조를 위해 테이블을 사용한다.

 

1. 테이블 (Table based)기반의 DBMS
- 테이블 / 컬럼 형태의 데이터 저장 방식
- 테이블과 테이블 간의 연관관계 (주로 외래키 형태)를 이용해 필요한 정보를 구하는 방식

2. 모델링은 E-R (Entity Relationship) 모델을 사용

3. 테이블을 엔티티 (기본)와 릴레이션십 (유도) 테이블로 구분하는 방식

4. 데이터를 테이블 단위로 관리 : 하나의 테이블은 여러 개의 컬럼으로 구성됨

5. 테이블끼리의 중복 정보는 최소화시킴
- 동일한 데이터가 여러 군데 중복되어 존재하면 데이터 수정시 문제 발생 확률 높아짐
- 정규화 (Normalize) -> 정규형

6. 사용방식 : 여러 테이블을 합쳐 큰 테이블을 생성 (join)해서 필요한 정보를 찾아내는 방식

 

기본 용어

 

1. 스키마 (Schema) : DB, 테이블 정의 내역

2. SQL쿼리 (SQL Query)
- 관계형 DBMS를 사용하는 전용 질의언어
- 대소문자를 가리지 않음

3. 기본키 (Primary Key ; PK)
- 테이블에서 하나의 레코드를 지정할 수 있는 하나 이상의 컬럼 집합
- ex) 주민등록번호, SSN (Social Securiy Number)

4. 외래키 (Foreign Key ; FK) : 어떤 테이블의 기본키가 다른 테이블의 컬럼에 들어 있을 경우

5. 테이블 (Table) : 정보들의 묶음 단위 (ex. 학교, 학생, 교수, ...)

6. 컬럼 (Column) : 테이블을 구성하는 정보들 (ex. 학생테이블 - 이름, 주소, 전화번호, 나이, 성별, ...)

7. 레코드 (Record)
- 테이블에 들어 있는 여러가지 인스턴스 하나하나를 지정
- 기본키 (PK)로 구별 가능
- 대학교의 학과 테이블, 경영학과, 미술학과, ...

8. 도메인 값 (Domain Value) : 각 컬럼에서 나올 수 있는 후보값

 

사용자

 

  • 데이터베이스 관리자 (DBA) : 데이터베이스 설계와 정의, 관리 및 운영 등 데이터베이스 시스템을 관리하고 제어하는 사용자
  • 응용프로그래머 : 데이터베이스를 실제적으로 설계하여 최종 사용자들의 요구에 맞는 인터페이스와 응용 프로그램을 개발
  • 최종 사용자: 데이터베이스를 실질적으로 사용하는 사용자

 

https://wikidocs.net/3902

 

2) DBMS(DataBase Management System)

* 데이터 베이스 관리 시스템(DataBase Management System) * 방대한 양의 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공해 ...

wikidocs.net

 

728x90
반응형
LIST