데이터베이스란?

여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음

정보를 수집하고 보관하기 위한 시스템

데이터베이스의 본질 : CRUD (Create Read Update Delete)

데이터베이스 종류?

  1. 계층형 데이터베이스 : 트리구조. 상위 레코드가 하위레코드를 갖는 구조. 단점 : 데이터중복
  2. 네트워크형 데이터베이스 : 그물구조. 레코드간의 다양한 관계를 그물처럼 표현. 단점 : 복잡한 구조 때문에 변경에 어려움을 겪는다
  3. 관계형 데이터베이스(SQL) : 행과 열로 구성된 table간의 관계를 나타낼 때 사용. 이렇게 표현된 데이터를 SQL(Structured Query Language)을 사용하여 데이터 관리 및 접근을 한다.
  4. No SQL 데이터베이스 : 키와 값 형태로 저장된 구조. 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용한다. 키를 사용해 데이터 관리 및 접근을 한다.

SQL vs No SQL

관계형 데이터베이스 (SQL) No SQL
설명 행(Row,Record), 열(Column)로 구성된 Table구조
(행에는 key라는 고유ID가 포함된 레코드가, 열에는 데이터의 속성이 들어있다) SQL을 사용하지 않는다
Not Only SQL (SQL이 필요 없다는 의미가 아니고, 개선/ 보안의 의미)
장점 1. 다양한 용도로 사용가능(범용적)
  1. 일반적으로 높은 성능(고성능)
  2. 데이터의 일관성을 보증한다
  3. 정규화에 따른 갱신 비용 최소화 | 1. 대용랑
  4. 데이터 분산 처리
  5. 빠른 읽기/쓰기 속도
  6. Cloud Computing
  7. 유연한 데이터 모델링 | | 단점 | 1. 대량의 데이터 입력 처리
  8. 갱신이 발생한 테이블의 인덱스 생성 및 스키마 변경
  9. 컬럼의 확장의 어려움
  10. 단순히 빠른 결과 | | | 주요 제품 | • MySQL / Oracle (SunMicroSystems) • Oracle / Oracle • MS-SQL Server / Microsoft • Cloud SQL / google | • key/value • Document • Big Table(Column형) DB | | 특징 | 데이터 테이블, 뷰 및 인덱스와 같은 논리 데이터 구조가 물리적인 스토리지 구조와 분리되어있다. → 이 덕분에 관리자는 논리적 구조로서 해당 데이터에 대한 액세스에 영향을 주지 않고도 물리적 데이터 저장소를 관리할 수 있다(예시로 데이터베이스 파일의 이름을 변경해도 그 안에 저장된 테이블의 이름은 변경되지 않는다) | |

SQL 구조

Untitled

행 : row, record / 열 : column

스키마 : 서로 연관된 데이터(표)들을 그룹핑한 것

데이터베이스 서버 : 데이터를 처리, 관리하기 위한 서버 ex)MySQL, Oracle 등

SQL과 MySQL?

관계형 데이터베이스 서버를 관리하기 위하여 사용하는 언어를 sql이라고 하며, mysql같은 제품은 데이터베이스서버의 한 종류이다. 정확하게 말하자면 데이터베이스 관리시스템(DataBase Management System)의 한 종류이다.

MySQL 기본 명령어

데이터베이스 생성 : CREATE DATABASE 데이터베이스명;

데이터베이스 삭제 : DROP DATABASE 데이터베이스명;

데이터베이스 사용 : USE 데이터베이스명;