1. 데이터베이스와 데이터베이스 시스템
구조에 따른 데이터 분류
1) 정형 데이터 : 행,열 명확 ex)테이블
2) 반정형 데이터 : 일정한 구조는 있지만 고정 x ex)JSON
3) 비정형 데이터 : 구조x ex)이미지,영상
특성에 따른 데이터 분류
1) 범주형 데이터
2) 수치형 데이터
데이터베이스 개념
1) 통합 : 중복 제거해서 하나로 모음
2) 공유 : 여러 사용자 활용
3) 저장 : 영구적 보관
4) 운영 : 실시간 업무 활용
기본 구성 요소
데이터베이스 / DBMS / 데이터 모델
+ 사용자 / 인터페이스
2. DBMS
DBMS 장점
- 데이터 중복 최소화 (데이터 공유 가능)
- 데이터 일관성 유지
- 데이터 독립성 유지 : 데이터 정의와 프로그램 간의 독립성 유지 가능
- 관리 기능 제공 : 데이터 복구, 보안, 동시성 제어, 데이터 관리 기능 등 수행
- 프로그램 개발 생산성 향상 : 개발 시간 단축, 장애 발생시 회복 가능
- 데이터 보안 향상, 표준화 가능
DBMS 단점
- 백업과 장애 회복 방법 복잡
- 중앙 집중 관리로 인한 취약점 존재
- 대규모 사용자 동시 접속 시 성능 저하 발생
DBMS 발전 과정

3. 데이터베이스 시스템의 구성
데이터베이스 / DBMS / 데이터 모델 / 데이터베이스 사용자 / 인터페이스(데이터베이스 언어, 응용프로그램)
데이터베이스 언어(SQL)
- 사용자와 데이터베이스 관리 시스템 간의 통신 수단
SQL 구성
- 데이터 정의어(DDL) : DBMS에 저장된 테이블 구조 정의 (관리자)
- 데이터 조작어(DML) : 데이터 검색, 삽입, 삭제, 수정 (일반 사용자)
- 데이터 제어어(DCL) : 내부적으로 필요한 규칙이나 데이터의 사용 권한 관리 (관리자)
SQL의 핵심
- 데이터 조작어 중 데이터 검색하는 질의문
- SELECT - FROM - WHERE 구조
-> SELECT (무엇을) FROM (어디서) WHERE (조건)
데이터베이스 사용자
일반사용자
- 프로그래머가 개발한 프로그램을 이용하여 접근
- 주로 데이터 조작어 이용
- 캐주얼 사용자 / 초보 사용자
SQL 사용자
- 응용 프로그램으로 구현되지 않은 업무를 SQL을 사용해 처리
응용 프로그래머
데이터베이스 관리자 (DBA)

데이터 모델
관계 표현 방법
1) 포인터 사용 : 계층 데이터 모델 / 네트워크 데이터 모델
2) 속성값 사용 : 관계 데이터 모델 ( 가장 많이 사용 )
3) 객체 식별자 사용 : 객체 데이터 모델
데이터베이스의 개념적 구조
3단계 데이터베이스 구조
1) 외부 단계 : 개별 사용자 관점
- 일반 사용자나 응용 프로그래머가 접근하는 계층
- 전쳬 데이터베이스 중에서 하나의 논리적인 부분
- 여러 개의 외부 스키마가 있을 수 있음 (사용자마다 다를 수 있음)
2) 개념 단계 : 조직 전체의 관점
- 통합 조직별로 하나만 존재하며 DBA가 관리
- 개념 스키마 : 개념 단계에서 전체 데이터베이스의 논리적 구조
3) 내부 단계 : 저장 장치의 관점
- 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법 표현
- 하나의 데이터베이스에는 내부 스키마 하나만 존재
+) 각 단계 간 대응 관계
- 외부 / 개념 (응용 인터페이스)
- 개념 / 내부 (저장 인터페이스)
데이터 독립성
하위 단계 추상화 -> 하위 스키마 변경해도 상위는 안변하도록
1) 논리적 데이터 독립성
- 외부와 개념 단계 사이
- 논리적 구조가 변경되어도 응용 프로그램에는 영향 x
2) 물리적 데이터 독립성
- 개념과 내부 단계 사이
- 내부 스키마(저장구조)가 변경되어도 개념 스키마에 영향 x
후속 활동
DBMS 종류에 대한 선호도 및 국내 점유율
1) 관계형 DBMS (RDBMS)
- 데이터 테이블 형식 저장
- SQL 사용하여 데이터에 접근 및 관리
- 현재 가장 널리 사용되는 데이터베이스 모델
ex. Tibero, Oracle, MySQL, MariaDB
2) 비관계형 DBMS (NoSQL DBMS)
- 비정형 데이터 처리에 최적화
- 다양한 데이터 형식 지원
- 주로 대규모 데이터 처리 및 실시간 데이터 분석에 사용
ex. MongoDB(문서 기반), Cassandra(분산형), Neo4j(그래프) 등
3) 계층형 DBMS
4) 객체지향형 DBMS
- 상속, 다형성 -> 복잡한 관계 쉽게 처리 가능
ex. ObjectDB
5) 객체관계형 DBMS

관계형 DBMS에 해당하는 MySQL, Oracle이 가장 많이 사용되고 있음
DB 자격증
1) SQLD (SQL 개발자) : 데이터 모델링의 이해 / SQL 기본 및 활용
2) SQLP (SQL 전문가) : 데이터 모델링 / SQL 기본 및 활용 / SQL 고급 활용 및 튜닝
3) DAP (데이터 아키텍처 전문가) : 데이터 아키텍처 설계 / 데이터 거버넌스 / 데이터 품질 관리
4) 빅데이터분석기사 : 빅테이터 수집, 저장, 처리, 분석, 시각화
5) ADP (데이터분석 전문가) : 통계 분석 / 데이터 마이닝 / 빅데이터 처리 기술