728x90
목차
1. DBMS의 기초
2. RDBMS(관계형 데이터베이스 시스템)

 

1. DBMS의 기초

DBMS(Data Base Management System) : 데이터베이스(DB)를 관리하는(Management) 시스템(Systme) - DB: 테이블들이 보여 이루는 데이터 단위

  • 데이터를 저장하고 유지보수(수정, 삭제, 추가)하고 이를 검색하는 시스템 - CRUD(Create, Retrieve, Update, Delete)
  • 대량의 데이터를 처리하는 시스템
  • 다양한 자료구조와 검색 구조 사용해 ‘빠른’ 검색 가능 > 검색에 최적화(인덱스)
  • 대부분의 시스템은 검색 >>> 업데이트의 빈도수가 맣음
  • 검색에 최적화(쓰기에 최적화된 시스템은 NoSQL계열)

 

[정렬]

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

 

[인덱스]

  • 정렬 데이터에서 빠른 데이터 검색을 위해 사용하는 개념
  • DB에서 인덱스는 바이너리와 B-Tree가 있음
  • 데이터 추가/수정/삭제할 때마다 정렬/인덱스 업데이트가 일어남

 

[Binary Search]

  • 한 가운데 값을 확인

 

[B-Tree]

  • 비교를 한번에 하나만 하는 이진 검색과 달리, 비트리는 두개의 값을 비교함
  • 이진 검색과 유사하지만 한 번에 비교를 2번 (a, b : a < b)
  • B-Tree가 Binary Search 계열보다 빠름
  • 데이터가 추가/삭제/변경 될때마다 a, b 값을 업데이트

 

[DBMS의 종류]

  • 계층형 데이터베이스
  • 네트워크형 데이터베이스
  • 관계형 데이터베이스(RDBMS) -> 주류
  • 객체지향 데이터베이스
  • 객체관계형 데이터베이스(ORDBMS)
  • NoSQL(Not Only SQL) <- 최근에는 검색보다 업데이트에 최적화된 DB가 있음

 

2. RDMBS(관계형 데이터베이스)

[RDBMS]

  • 데이터를 테이블 형태로 저장하고 관리하는 형태
  • 테이블(Table based) 기반의 DBMS
  • 모델링 E-R(Entity Relationship) 모델을 사용
  • 테이블을 엔티티(기본)와 릴레이션십(유도) 테이블로 구분하는 방식
  • 데티터를 테이블 단위로 관리 -> 하나의 테이블은 여러개의 컬럼으로 구성
  • 테이블끼리의 중복 정보는 최소화시킴
  • 사용방식

 

[RDBMS 기본용어]

  • 스키마(Schema) : DB, 테이블 정의 내역
  • SQL 쿼리(SQL Query)
  • 기본키(Primary Key: PK)
  • 외래키(Foreign Key: FK)
  • 테이블(Table)
  • 컬럼(Column)
  • 레코드(Record)
  • 도메인값(Domain Value)

 

728x90

'IT > SQL' 카테고리의 다른 글

MySQL[3] - SQL, CRUD  (0) 2022.05.24
MySQL[2] - MySQL  (0) 2022.05.24
[SQL] from  (0) 2022.03.24
[SQL] select  (0) 2022.03.24
DB 필수용어  (2) 2022.03.24

+ Recent posts