DB : 데이터베이스
오늘은 데이터 베이스에 대해 무엇인지 가볍게 살펴보자. 엑셀을 개인적으로 좋아하는 편은 아닌데, 웹에서는 데이터 베이스를 기반한 서비스를 하는 것이기 때문에 반드시 알아야하고 다룰줄 알아야한다. 가보자고.
데이터 베이스(DB)의 역할
: 데이터를 저장(구조적 저장)하고 조작(Create Read Update Delete)
: DBMS(Database Management System)으로 데이터베이스를 관리하는 소프트웨어 프로그램으로 다룬다.
- 데이터 저장 및 관리를 용이하게 하는 시스템
- 데이터베이스와 사용자 간의 인터페이스 역할
- 데이터 구성, 업데이트, 모니터링, 백업, 복구 등을 할 수 있다
-->여기서 관계를 추가하면 RDBMS로 RDBMS는 모두 DBMS에 포함된다
RDBMS (Relational Database Management System)
: 관계형 데이터 베이스를 관리하는 소프트웨어 프로그램
아래는 대표적인 RDBMS 프로그램 4가지이다.
: 데이터 간의 관계가 있는 데이터 항목들의 모음 (SQL에서는 JOIN을 통해 배울 예정)
- 테이블, 행, 열의 정보를 구조화하는 방식
- 서로 관련된 데이터 포인터를 저장하고 이에 대한 액세스를 제공
이때 두개의 테이블은 아래와 같은 연결된 관계를 갖게된다.
: 이 관계로 인해 두 테이블을 사용하여 데이터를 다양한 형식으로 조회를 할 수 있다.
- 특정 날짜에 구매한 모든 고객 조회
- 지난 달에 배송일이 지연된 고객 조회
- 일정 기간동안 구매하지 않은 고객 조회
- Table(Relation) - 데이터를 기록하는곳
- Field(Column, Attribute) - 필드에 고유한 데이터 형식(타입) 지정
- Record(Row) - 각 레코드에 구체적인 데이터 값 저장
- Database(Schema) - 테이블의 집합
- Primary Key(PK) - 레코드의 고유한 값, 관계형 데이터베이스에서 레코드의 식별자로 활용된
- Foreign Key(FK) - 다른 테이블 레코드를 식별할 수 있는 키, 다른 테이블의 기본 키(PK)를 참조, 관계를 형성하는 키
SQL (Structure Query Language)
: 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어
: 테이블의 형태로 구조화된 관계형 데이터베이스에게 요청사항을 요구하는 것
다뤄볼 RDBMS는 SQLite다.
(표준 SQL 명령어는 존재하지만 각자 SQL 프로그램에서 사용 가능한 것과 아닌 것이 있으니 유의하자)
SQLite
: 경량의 오픈 소스 데이터베이스 관리 시스템
: 컴퓨터나 모바일 기기에 내장되어 간단하고 효율적인 데이터 저장 및 관리를 제공한다
SQL syntax
- SQL 키워드는 대, 소문자를 구분하지 않고 혼용하여 사용이 가능하다. 하지만 보통 명령어는 대문자를 사용
- 각 SQL Statements의 끝에는 문장이 끝났다는 것을 구분하기 위해 세미콜론(' ; ')을 넣어줘야 한다.
SQL statements의 4가지 유형
유형 | 역할 | SQL 주요 키워드 |
DDL (Data Definition Language) |
데이터의 기본 구조 및 형식 변경 | CREATE DROP ALTER |
DQL (Data Query Language) |
데이터 검색 |
SELECT |
DML (Data Manipulation Language) |
데이터 조작 (추가, 수정, 삭제) |
INSERT UPDATE DELETE |
DCL (Data Contral Language) |
데이터 및 작업에 대한 사용자 권한 제어 |
COMMIT ROLLBACK GRANT REVOKE |
이후에는 DCL을 제외한 위에서 3가지만 배울 예정이다.
db파일은 직접적으로 건들일은 없고 입력은 .sql 파일로하니 구분해서 사용하면 된다. 또, 해당 출력을 보려면 sqlite 관련 extention 설치가 필요하니 사전 설정을 하고 시작하면 되겠다.