파일을 이용한 데이터 관리
장점
단점
- 성능과 보안적 측면에서 한계가 명확
- 데이터를 구조적으로 정리하기 어려움
- 대용량 데이터를 다루기에 적합하지 않음
- 확장 불가능 구조
표를 이용한 데이터 관리
- 무한하게 커질 수 없음 (100만 행 정도가 최대)
- 보안 측면
- 무결성 측면
데이터베이스(Database)
DBMS
사용자 간이나 데이터베이스 자체 간에 데이터를 수집하고 분석하기 위해 고안된 소프트웨어
관계형 데이터베이스 (Reltional Database)
표 형식으로 된 데이터 베이스
특징
- 테이블 행, 열 등으로 나누어 구조화
- 구조화해서 저장하므로보다 체계적으로 데이터를 저장하고 관리할 수 있음
- 자료를 여러 테이블로 나누어서 관리하고, 테이블간 관계 설정해 여러 데이터 조작이 가능
- 데이터의 무결성(정확성, 일관성) 유지에 장점
- SQL 사용해 데이터를 조회하고 조작
한계
- 형식이 정해져있다
- 관계가 표현되어 있다
- 유연성이 부족
- 성능 문제
비관계형 데이터베이스 (NoSQL Database)
관계형 데이터 베이스의 한계를 극복하기 위해 나온 조금 더 유연한 데이터베이스
보통 서브로 많이 사용한다
메인 데이터 베이스는 역사와 전통의 관계형 데이터 베이스(위)를 사용
SQL
데이터 베이스를 조작하는 언어
스키마
테이블의 구조
데이터 베이스에서의 자료의 구조, 표현방법, 관계 등 전반적인 명세를 기술한 것
테이블
필드와 레코드를 사용해 조직된 데이터 요소들의 집합
관계라고도 부름
1. 필드
- 레코드
PK(Primary Key)
기본키
각 레코드의 고유한 값
- 각각의 데이터 구분할 수 있는 고유값
기술적으로 다른 항목과 절대 중복될 수 없는 단일 값
디비 관리 및 테이블 간 관계 설정시 중요하게 사용
FK(Foreign Key)
외래키
한 테이블 속성 중 다른 테이블의 레코드를 식별할 수 있는 키
다른 테이블의 기본 키를 참조
SQL 커맨드 종류 3가지
- DDL
관계형 데이터베이스 구조를 정의(생성, 수정 및 삭제)하기 위한 명령어
- DML
데이터 조작(추가, 조회, 변경, 삭제)하기 위한 명령어
- DCL
SQL Syntax
- SELECT, INSERT, UPDATE 등과 같은 키워드로 시작
하나의 statement는 세미콜론으로 끝남
- SQL 키워드는 대소문자를 구분하지 않음
- 즉, SELECT와 select는 SQL문에서 동일한 의미
- 대문자로 작성하는 것 권장