본문 바로가기
DB

SQLite3로 가볍게 배우는 데이터베이스 1

by seonggu 2024. 1. 1.
  • 파일 시스템과 데이터 베이스의 비교

파일 시스템 : 원시 데이터 파일을 컴퓨터의 하드 디스크 등에 저장하는 시스템이다.

중복 데이터가 많이 발생하고 데이터의 일관성이 떨어지며 보안, 백업 복구가 불편한 문제가 있다.

데이터베이스 : 파일 시스템의 단점을 보완하고 데이터의 모델링, 무결성, 다수 사용자를 위한 동시성 제어 등을 제공한다.

 

  • 데이터베이스의 종류

데이터를 바라보는 관점에 따라 관계형 데이터베이스, 계층형 데이터베이스, 그래프 데이터베이스 등으로 나눌 수 있음

관계형 데이터베이스 : 일반적으로 DBMS라고 하면 RDBMS(Relational DBMS)를 가리킨다. 오라클 데이터베이스 서버, 마이크로소프트 SQL 서버, MySQL과 MariaDB, PostgreSQL 등이 해당함.

 

SQLite도 RDBMS

계층형 데이터베이스 : 데이터를 계층적인 트리로 표현한다. 데이터는 레코드로서 저장되며, 레코드들은 링크를 통해 연결된다. 레코드는 필드 들의 모음이며, 필드는 단일한 값을 갖는다.

 

그래프 데이터베이스 : 데이터를 그래프 형태로 표현한 것

예시 - Neo4j, Amazon Neptune, TigerGraph, Oracle Graph Database

 

✔ NoSQL

관계형 데이터베이스 모델을 벗어난 몽고DB(MongoDB), 카산드라(Cassandra), Neo4등을 NoSQL이라고 통칭함.

 

ralation, tuple, attribute

관계형 데이터베이스에서는 데이터를 '관계'로 나타내며, 이는 '테이블'로 구현

  • relation(관계, 릴레이션) = table(테이블)
  • tuple(튜플) = row(행, 로우) = record(레코드)
  • attribute(속성, 어트리뷰트) = column(열, 컬럼, 칼람) = field(필드)
  • SQL(Structured Query Language)

RDBMS의 데이터를 다루기 위해 사용하는 언어

  • DML(Data Manipulation Language, 데이터 조작 언어) : 추가 , 삭제, 갱신, 조회하는데 사용

INSERT, DELETE, UPDATE, SELECT문이 있음

  • DDL(Data Definition Language, 데이터 정의 언어) : DDL은 테이블 등을 생성, 변경, 제거하는 데 사용

CARATE, ALTER. DROP, TRUNCATE문이 있음. SQLite는 TRUNCATE가 없음.

  • SQLite : 널리 사용되는 데이터베이스 엔진, 임베디드 디바이스, 사물인터넷, 데이터 분석, 작은 규모의 웹사이트에 사용하기 적합함.

특징 :

  • SQLite는 임베디드 SQL 데이터베이스 엔진으로, 독립적인 서버 프로세스를 갖지 않는다.
  • 설치 과정이 없고, 설정 파일도 존재하지 않음
  • 테이블, 인덱스, 트리거, 뷰 등을 포함한 완전한 데이터베이스가 디스크 상에 단 하나의 파일로 존재함
  • 퍼플릭 도메인으로 개인적, 상업적으로 사용 가능

참고자료 : 
위키독스 SQLite로 가볍게 배우는 데이터베이스
https://wikidocs.net/book/1530