데이터베이스란?
여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음
정보를 수집하고 보관하기 위한 시스템
데이터베이스의 본질 : CRUD (Create Read Update Delete)
데이터베이스 종류?
- 계층형 데이터베이스 : 트리구조. 상위 레코드가 하위레코드를 갖는 구조. 단점 : 데이터중복
- 네트워크형 데이터베이스 : 그물구조. 레코드간의 다양한 관계를 그물처럼 표현. 단점 : 복잡한 구조 때문에 변경에 어려움을 겪는다
- 관계형 데이터베이스(SQL) : 행과 열로 구성된 table간의 관계를 나타낼 때 사용. 이렇게 표현된 데이터를 SQL(Structured Query Language)을 사용하여 데이터 관리 및 접근을 한다.
- No SQL 데이터베이스 : 키와 값 형태로 저장된 구조. 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용한다. 키를 사용해 데이터 관리 및 접근을 한다.
SQL vs No SQL
|
관계형 데이터베이스 (SQL) |
No SQL |
설명 |
행(Row,Record), 열(Column)로 구성된 Table구조 |
|
(행에는 key라는 고유ID가 포함된 레코드가, 열에는 데이터의 속성이 들어있다) |
SQL을 사용하지 않는다 |
|
Not Only SQL (SQL이 필요 없다는 의미가 아니고, 개선/ 보안의 의미) |
|
|
장점 |
1. 다양한 용도로 사용가능(범용적) |
|
- 일반적으로 높은 성능(고성능)
- 데이터의 일관성을 보증한다
- 정규화에 따른 갱신 비용 최소화 | 1. 대용랑
- 데이터 분산 처리
- 빠른 읽기/쓰기 속도
- Cloud Computing
- 유연한 데이터 모델링 |
| 단점 | 1. 대량의 데이터 입력 처리
- 갱신이 발생한 테이블의 인덱스 생성 및 스키마 변경
- 컬럼의 확장의 어려움
- 단순히 빠른 결과 | |
| 주요 제품 | • MySQL / Oracle (SunMicroSystems)
• Oracle / Oracle
• MS-SQL Server / Microsoft
• Cloud SQL / google | • key/value
• Document
• Big Table(Column형) DB |
| 특징 | 데이터 테이블, 뷰 및 인덱스와 같은 논리 데이터 구조가 물리적인 스토리지 구조와 분리되어있다. → 이 덕분에 관리자는 논리적 구조로서 해당 데이터에 대한 액세스에 영향을 주지 않고도 물리적 데이터 저장소를 관리할 수 있다(예시로 데이터베이스 파일의 이름을 변경해도 그 안에 저장된 테이블의 이름은 변경되지 않는다) | |
SQL 구조

행 : row, record / 열 : column
스키마 : 서로 연관된 데이터(표)들을 그룹핑한 것
데이터베이스 서버 : 데이터를 처리, 관리하기 위한 서버 ex)MySQL, Oracle 등
SQL과 MySQL?
관계형 데이터베이스 서버를 관리하기 위하여 사용하는 언어를 sql이라고 하며, mysql같은 제품은 데이터베이스서버의 한 종류이다. 정확하게 말하자면 데이터베이스 관리시스템(DataBase Management System)의 한 종류이다.
MySQL 기본 명령어
데이터베이스 생성 : CREATE DATABASE 데이터베이스명;
데이터베이스 삭제 : DROP DATABASE 데이터베이스명;
데이터베이스 사용 : USE 데이터베이스명;