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 |