DB
데이터를 통합하여 관리하는 데이터의 집합
DBMS
데이터 베이스를 관리하는 미들웨어 시스템으로 데이터 베이스 관리 시스템
DBMS
- DBMS는 RDBMS와 NoSQL 두가지로 나뉨
RDBMS
- relational database management system
- oracle, mysql, postgresql, sqlite
- 데이터 테이블 사이에 키값으로 관계를 가지는 데이터 베이스
- 데이터 사이의 관계 설정으로 최적화된 스키마를 설계 가능 (최적의 성능)
- RDBMS의 특징
- 데이터 분류, 정렬, 탐색 속도가 빠름
- 신뢰성이 높음
- 스키마 수정이 어려움
스키마
데이터 베이스의 구조를 만드는 디자인
확장성과 최적화를 고려해서 만들어야 하지만 이는 반비례의 관계를 가지기 때문에 잘 고민해야함
RDBMS 구조 | table 구조 |
---|
 |  |
NoSQl
- mongodb , Hbase, Cassandra
- 데이터 테이블 사이에 관계가 없이 저장하는 데이터 베이스
- 데이터 사이의 관계가 없으므로 복잡성이 줄고 많은 데이터 저장 가능
NoSQl vs RDBMS
특징 | RDBMS | NoSQL |
---|
Create, update , Delete | 속도 느림 | 속도 빠름 |
read | 속도 빠름 | 속도 느림 |
데이터 베이스 모델링
1) 개념적 모델링
- 업무 분석해서 핵심 데이터의 집합을 정의하는 과정

2) 논리적 모델링
- 개념적 모델링을 상세화 하는 과정

- 관계선

3) 물리적 모델링
- 논리적 모델링을 DBMS에 추가하기 위해 구체화 되는 과정

SQL
- sql문에는 3가지 종류가 있음
- DML, DDL, DCL
DML
- data mainpulation language
- 데이터 조작어
- 데이터 검색, 삽입, 수정, 삭제 등에 사용
- select from , insert into , update set, delecte from(CRUD)
- 트랜젝션이 발생하는 sql
트랜젝션
하나의 작업단위로 묶어서 중간에 다른 것이 실행될 수 없게 하는 것
DDl
- Data Definition Language
- 데이터 정의어
- 데이터 베이스, 테이블, 뷰, 인덱스등의 데이터 베이스 개체를 생성, 삭제, 변경에 사용
- CREATE , DROP (삭제) , ALTER (수정), TRUNCATE, show, desc,
- 실행 즉시 DB에 적용
- 트랜젝션이 실행되지 않음
DCL
- Data Control Language
- 데이터 제어어
- 사용자의 권한을 부여하거나 빼앗을때 사용
- GRUNT, REVORKE, DENY
- 시스템 관리