• 체계화된, 논리적으로 연관된 데이터의 모임
  • 몇 개의 자료 파일을 조직적으로 통합
  • 자료 항목의 중복 제거, 자료를 구조화하여 기억
  • 자료의 집합체

  • 데이터 중복 최소화
  • 데이터 무결성(정확한 정보 저장)
  • 데이터 일관성
  • 데이터 독립성(물리적/논리적)
  • 데이터 표준화
  • 데이터 보안 유지

  • Relational Database
  • key와 value들의 간단한 관계(relation)를 표(table) 형태로 정리
  • 관계형 모델에 기반

스키마(schema)

  • 전반적인 명세 기술 : 자료의 구조, 표현방법, 관계 등

테이블(table)

  • 열과 행의 모델을 사용해 조직된 데이터 요소들의 집합
  • 열(컬럼/필드) : 고유한 데이터 형식 지정
  • 행(레코드/값) : 실제 데이터의 저장
  • 기본키(PK) : 각 행(record)의 고유값

  • RDB를 기반으로 하는 DBMS
  • MySQL, SQLite, ORACLE, MS SQL...

  • 서버 형태가 아닌 파일 형식으로 응용 프로그램에 넣어 사용
  • 비교적 가벼운 DB
  • 안드로이드 운영체제 기본 탑재
  • 임베디드에서도 많이 활용
  • 로컬에서 간단한 DB 구성 가능
  • 오픈소스 프로젝트

  • 특정 컬럼에 저장하도록 권장하는 데이터 타입
  • 여러가지 detail이 추상화되어 5가지 데이터 타입으로 동적으로 변경
  1. NULL
  2. INTEGER : 크기에 따라 0, 1, 2, 3, 4, 5, 6 또는 8바이트에 저장된 부호가 있는 정수
  3. REAL : 8바이트 부동 소수점 숫자로 저장된 부동 소수점 값
  4. TEXT
  5. BLOB : 입력된 그대로 정확히 저장된 데이터(별다른 타입 없이 그대로 저장)
  6. NUMERIC

  • RDBMS의 데이터 관리를 위해 특수 목적으로 설계된 프로그래밍 언어
  • DB 스키마 생성 및 수정
  • 자료의 검색 및 관리
  • DB 객체 접근 조정 관리

DDL : 데이터 정의어

  • Data Definition
  • RDBMS 구조(테이블, 스키마)를 정의
  • CREATE, DROP, ALTER

DML : 데이터 조작어

  • Data Manipulation
  • CRUD
  • INSERT, SELECT, UPDATE, DELETE

DCL : 데이터 제어어

  • Data Control
  • DB 사용자의 권한 제어
  • GRANT, REVOKE, COMMIT, ROLLBACK

$ sqlite3 tutorial.sqlite3
sqlite> .database
  • tutorial.sqlite3 을 활용하겠다는 뜻
  • tutorial.sqlite3가 없다면 생성
  • database 생성
  • '.'은 sqlite 프로그램의 기능을 실행

sqlite> .mode csv
sqlite> .import hellodb.csv examples
 
sqlite> .tables
examples
  • hellodb.csv 파일로 examples 테이블 생성
  • .tables : 테이블 조회

SELECT 1. 기본 선택

sqlite> SELECT * FROM examples;
  • examples 테이블의 모든 데이터 조회

결과

1,"길동","홍",600,"충청도",010-0000-0000

SELECT 2. 컬럼도 함께 선택

.headers on

sqlite> .headers on

sqlite> SELECT * FROM examples;

결과

id,first_name,last_name,age,country,phone
1,"길동","홍",600,"충청도",010-0000-0000

SELECT 3. 테이블 형식으로 보기

.mode column

sqlite> .mode column

sqlite> SELECT * FROM examples;

id  first_name  last_name  age  country  phone
--  ----------  ---------  ---  -------  -------------
1   길동          홍          600  충청도      010-0000-0000

스키마 확인

.schema [table_name]

sqlite3> .schema classmate

[DB.sqlite3 우클릭] -> [NEW QUERY] 클릭 -> SQL 파일 만들어짐


실행 : 마우스 우클릭

  1. Run Query : SQL 파일의 SQL 코드 전체 실행
  2. Run Selected Query : 선택 범위의 SQL 코드만 실행