데이터베이스(Database, DB)란? : 데이터의 저장소.
DBMS(Database Management System, 데이터베이스 관리 시스템)란? 데이터베이스를 운영하고 관리하는 소프트웨어.
SQL(Structured Query Language)란? 구조화된 질의 언어라는 뜻으로 관계형 데이터베이스에서 사용되는 언어. 표준 SQL을 배우면 대부분의 DBMS를 사용할 수 있음.
NoSQL(Not Only SQL)
[NoSQL 종류]
1) Document방식
- MongoDB(MongoDB Inc.), CouchDB(Apache) : Json, XML과 같은 Collection 데이터 모델 구조 사용
2) Key - Value 방식
3) Big Table DB
데이터베이스 종류
DMBS는 데이터 저장 방법에 따라 몇 가지로 분류할 수 있다.
계층형 데이터베이스
역사가 오래된 DBMS로, 폴더와 파일등의 계층 구조로 데이터를 저장하는 방식이다.
하드디스크나 DVD 파일시스템을 이러한 계층형 데이터베이스라고 할 수 있다.
현재는 거의 사용되지 않는 방식이다.
관계형 데이터베이스
관계 대수(relational algebra)라는 것에 착안하여 만들어진 데이터베이스이다.
관계 대수 형태란, 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리킨다.
가로 방향으로는 '열'을', 세로 방향으로는 '행'을 나열한다.
각각의 표에 이름을 붙여 관리하고, 이 때, 데이터베이스 안의 데이터는 SQL 명령어로 조작할 수 있다.
객체지향 데이터베이스
객체지향 언어란 '객체(object)'라는 것을 중심으로 프로그래밍하는 언어이다.
여기서 '가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것'이 객체지향 데이터베이스이다.
XML 데이터베이스
XML이란 자료 형식을 가리키는 용어로, 태그를 이용해 마크업 문서를 작성할 수 있게 정의한 것이다.
태그는 HTML과 비슷한 형식으로 <data>데이터</data> 와 같은 형식으로 표현한다.
즉, XML 데이터베이스는 이처럼 XML 형식으로 기록된 데이터를 저장하는 데이터베이스이다.
XML 데이터베이스에서는 SQL 명령을 사용할 수 없고, XQuery라는 전용 명령어를 사용해야 한다.
키-밸류 스토어(KVS)
키와 그에 대응하는 값(밸류)이라는 단순한 형태의 데이터를 저장하는 데이터베이스이다.
키와 밸류의 조합은 연상배열이나 해시 테이블(hash table)에서 자주 볼 수 있다.
NoSQL(Not only SQL)이라는 슬로건으로부터 생겨난 데이터베이스로, 열 지향 데이터베이스라고도 불린다.
연상배열(associative array): 자료구조의 하나로, 키 하나와 값 하나가 연관되어 있으며 키를 통해 연관되는 값을 얻을 수 있다. 연상 배열, 결합성 배열, 맵(map), 딕셔너리(dictionary)로 부르기도 한다.
Schema(스키마)
스키마의 3계층
External Schema(외부 스키마) = 서브 스키마 = 사용자 뷰
Conceptual Schema(개념 스키마) = 전체적인 뷰(View)
Internal Schema(내부 스키마)
[Database] 데이터베이스 설계 및 구조
https://velog.io/@inyong_pang/Database-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%84%A4%EA%B3%84-%EB%B0%8F-%EA%B5%AC%EC%A1%B0
https://www.integrate.io/ko/blog/complete-guide-to-database-schema-design-ko/
데이터베이스 스키마란?
간단히 말해서 데이터베이스 스키마는 특정 데이터베이스의 구조 또는 구성에 대한 형식적인 설명입니다. "데이터베이스 스키마"라는 용어는 관계형 데이터베이스, 즉 테이블에 정보를 구성하고 SQL 쿼리 언어를 사용하는 데이터베이스와 관련하여 가장 일반적으로 사용됩니다. 비관계형(즉, "NoSQL") 데이터베이스는 여러 다른 형식으로 제공되며, 기본 구조가 있음에도 불구하고 일반적으로 관계형 데이터베이스와 동일한 방식으로 "스키마"가 있는 것으로 간주되지 않습니다.
관계형 데이터베이스 시스템은 견고한 데이터베이스 스키마를 갖추고 있느냐에 따라 크게 좌우됩니다. 효과적인 데이터베이스 스키마 설계의 목표는 다음과 같습니다.
데이터베이스 설계 단계별 특성

데이터 베이스 설계
https://m.blog.naver.com/roser111/221638714322
[개발상식] 데이터 모델링(스키마설계 하는법, DB설계 하는법)
https://frozenpond.tistory.com/151
1정규화, 2정규화, 3정규화에 대한 내용 포함
https://mulmandu17.tistory.com/68
트랜잭션
[DataBase] DB를 지탱하는 트랜잭션
https://brunch.co.kr/@skeks463/27
[DB] 트랜잭션(Transaction)이란? | ACID
https://code-lab1.tistory.com/51