
GIF 출처 : https://logpresso.store/ko/apps/mysql
1 ) 데이터베이스란?
2 ) 데이터베이스 종류
3 ) SQL
- 데이터베이스 정의 : ISOS
정의 설명 통합된 데이터 ( Intergrated Data ) 데이터 중복을 최소화한 데이터이다. 저장된 데이터 ( Saved Data ) 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터이다. 운용 데이터 ( Operational Data ) 조직의 고유한 업무를 수행하는 데 반드시 필요한 데이터이다. 공용 데이터 ( Shared Data ) 여러 응용 시스템이 공동으로 소유하고 유지하는 데이터이다.
- 데이터베이스 시스템의 특징 : R1C3
정의 설명 실시간 접근성 ( Real Time Accessibility ) 사용자 질의에 실시간 응답으로 처리한다. 지속적인 변화 ( Continuous Evolutuion ) 삽입 , 삭제 , 수정 작업을 하여 항상 최신 데이터를 동적으로 유지한다. 운용 데이터 ( Operational Data ) 조직의 고유한 업무를 수행하는 데 반드시 필요한 데이터이다. 공용 데이터 ( Shared Data ) 여러 응용 시스템이 공동으로 소유하고 유지하는 데이터이다.

① 계층형 데이터베이스
: 데이터가 부모와 자식 관계인 트리 구조이다. 상위 레코드 아래에 하위 레코드가 존재하는 구조이며 계층형 데이터베이스는 다음과 같은 특징을 지닌다.
(1) 데이터 중복이 쉽게 발생한다.
(2) 데이터가 상하 종속 관계이다.

② 네트워크형 데이터베이스
: 데이터를 노드로 표현한 모델이며 이는 모든 데이터가 동등한 계층 관계를 이루고 있음을 의미한다. 네트워크형 데이터베이스는 다음과 같은 특징을 지닌다.
( 1 ) 동등한 계층 관계를 지니기 때문에 구조가 복잡하다.
( 2 ) 복잡한 구조로 인해 변경 및 운영이 어렵고 데이터 종속성 문제가 발생한다.
③ 키 - 값 데이터베이스 ( Key - Value Database )
: 해당 데이터베이스는 NoSQL의 한 종류로 키 - 값을 1:1 대응하여 데이터를 저장한다. 키 - 값 데이터베이스는 다음과 같은 특징을 지닌다.
( 1 ) 데이터 중복이 발생하며 비정형 데이터 저장에 유리하다.
( 2 ) 스키마 없이 작동한다.
( 3 ) 데이터 구조를 미리 정의할 필요가 없다.

💫 참고
- NoSQL의 종류
NoSQL 유형 특징 종류 키 - 값 데이터베이스 ( Key - Value Database ) 키 - 값 형태로저장하며 수평 확장이 쉽다. 값의 내용으로 쿼리가 불가능하다. Redis , LevelDB 도큐먼트 데이터베이스 ( Document Database ) 키 - 값 모델이 진화한 형태이며 키 - 도큐먼트 형태로 저장된다. 값이 계층적인 형태로 저장된다. MongoDB , CouchDB 컬럼 데이터베이스 ( Column Database ) 키에 해당하는 값에 각기 다른 스키마를 가질 수 있으며 대용량 데이터 압축 , 분산처리 , 집계 처리 등에 뛰어나다. HBase , Cassandra 그래프 데이터베이스 ( Graph Database ) 데이터를 노드로 표현하며 노드 사이의 관계를 엣지로 표현한다. 소셜 미디어나 네트워크 다이어그램 등에서 사용할 수 있다. Neo4j , OrientDB
④ 관계형 데이터베이스
: 데이터를 열과 행으로 구성한 테이블로 정리하며 기본키 ( Primary Key : PK ) 가 각 행을 식별한다. 데이터는 행 ( Row ) 단위로 저장되며 , 각 항목의 속성은 열 ( Column ) 이라 표현한다.

| 구성 요소 | 설명 |
|---|---|
| 열 ( Column ) | 각 열은 고유한 이름을 가지며 자신만의 타입을 가지고 있다. 열은 필드 ( Field ) 또는 애트리뷰트 ( Attribute ) 라고도한다. |
| 행 ( Row ) | 관계된 데이터의 묶음을 의미하며 한 테이블의 모든 행은 같은 수의 열을 가지고 있다. 이때 행을 튜플 ( Tuple ) 혹은 레코드 ( Record ) 라고도 한다. |
| 테이블 ( Table ) | 행과 열 값들의 모음을 나타내는 것으로 , 도메인 특성에 따라 데이터를 논리적으로 그룹화하여 모아놓은 것 |
⭐️ ERD ( Entity Relationship Diagram )
: 테이블 간의 관계를 표현한 그림을 의미하며 ERD를 표현하는 모델에는 2가지가 존재한다.
① 논리 모델
: 데이터 모델의 첫 단계로 고객의 요구 사항을 수집 & 분석하여 데이터베이스의 전체 모양을 구성하는 것② 물리 모델
: 논리 모델을 바탕으로 실제 데이터를 저장할 수 있는 모델을 표현한 것
SQL ( Structured Query Language )
: RDBMS 의 데이터를 관리하는 프로그래밍 언어를 의미한다.
- SQL의 종류
DBMS SQL 이름 SQL 서버 Transact-SQL(T-SQL) 오라클 데이터베이스 PL/SQL MySQL SQL 국제 표준 ANSI SQL : DBMS 제조사는 ANSI SQL 즉, 국제 표준을 따르면서도 자사 제품에 특화된 문법이나 명세를 추가한 SQL을 사용한다.
![]()
출처 : https://onurdesk.com/what-is-the-history-of-mysql-with-3-layers/
- SQL 문법
: SQL 문법은 총 3가지로 크게 분류할 수 있다.
- 데이터 정의 언어 ( DDL )
- 데이터 조작 언어 ( DML )
- 데이터 제어 언어 ( DCL )
① 데이터 정의 언어 ( DDL : Data Define Language )
: 데이터 정의 언어는 말 그대로 데이터베이스를 정의하는 언어이다. 테이블 스키마를 관리하는 역할을 하며 테이블 생성 초기화 및 수정 등의 명령어를 포함한다.ex ) CREATE , ALTER , DROP , TRUNCATE
② 데이터 조작 언어 ( DML : Data Manipulation Language ): 데이터 조작 언어는 데이터베이스에 입력된 데이터를 조회 & 입력 & 수정 & 삭제하는 명령어이다.
ex ) SELECT , INSERT , UPDATE , DELETE
③ 데이터 제어 언어 ( DCL : Data Control Language )
: 데이터 제어 언어는 데이터베이스에 접근하거나 객체에 권한을 부여하는 등의 역할을 하는 명령어이다.
ex ) GRANT , REVOKE , COMMIT , ROLLBACK