1. 데이터베이스와 데이터베이스 시스템
- 데이터: DB에 저장된 값 자체
- 정보: 데이터에 맥락과 의미를 부여한것 ( 데이터를 조회, 분석, 가공)
- 지식: 정보를 해석&축적 한 것.
(1) 구조에 따른 데이터분류
- 정형데이터 : 행,열이 명확함 (엑셀)
- 반정형 데이터: 일정한 구조는 있으나 고정되지 않음(JSON,XML)
- 비정형 데이터: 구조없고 자유로움(이미지, 영상, 텍스트)
(2) 특성에 따른 분류
- 범주형 데이터 : 범주로 구분할 수 있는 값 (질적데이터)
- 수치형 데이터: 크기비교와 산술연산이 가능한 숫자값을 가진 데이터 (양적데이터)
(3) 데이터 베이스의 활용
=> 시간에 따라 변하는 데이터 값을 데이터 베이스에 반영하기위해 수행하는 " 생성, 삽입, 삭제, 수정" 등의 작업을 말함. =>. CRUD
(4)데이터베이스 개념
- 여러사용자가 공유하여 사용할 수 있도록 저장한 운영데이터의 집합
- 공유 데이터: 특정조직이 함께 소유 (여러사용자 활용)
- 통합 데이터: 최소의 중복과 통제 가능한 중복만 허용(=중복제거, 하나로모음)
- 저장 데이터: 컴퓨터가 접근할 수 있는 매체에 저장 (= 영구적 보관)
- 운영 데이터: 조직에 지속적으로 필요한 데이터 (=실시간 업무활용)
(5) 기본 구성요소
구성: 데이터베이스,DBMS 데이터 모델, 사용자, 인터페이스
데이터베이스: 실제 데이터 저장공간
DBMS :사용자와 데이터베이스를 연결
데이터모델: ERD
데이터 사용자: 일반사용자& 개발,관리자
인터페이스: SQL, Application
USER-> Application-> DBMS-> Database
2. 데이터베이스 시스템의 발전
소매상-> 파일시스템-> 데이터베이스-> 인터넷통신-> 종합그룹
- 파일 시스템: 엑셀, 전용프로그램, 데이터중복 및 공유,보안문제 있음
- 데이터베이스 시스템: DB로 통합&표준화, 중복통제, 장애발생시 회복가능
- 웹 데이터베이스 시스템 : 인터넷을 매개로 사용자가 데이터조회, 수정,저장
- 분산 데이터베이스 시스템: 분산된 데이터들을 네트워크로 연결하여 통합
3. 파일시스템과 DBMS비교
DBMS의 장점
- 데이터 중복 통제, 독립성 확보
- 데이터 공유가능, 보안향상
- 데이터 무결성 유지, 표준화 가능
- 장애 발생시 회복빠름, 응용프로그램 개발비용 줄어듬
DBMS의 단점
- 도입비용 높음
- 백업 및 회복방법 복잡
- 중앙집중관리로 취약점 존재, 복잡한 쿼리처리시 성능저하,
- 숙련된 DBA필요
(1) DBMS의 발전과정
1세대: 네트워크 DBMS
2세대: 관계DBMS (오라클, MYSQL, 마리아DB)
3세대: 객체지향 DBMS (오투, 온투스, 오라클)
4세대: NoSQL, NewSQL (구글스패너, 볼트, 누오)
-> NoSQL:비정형 데이터를 처리하는데 적합하고 확장성이 뛰어남
최종 발전순서
파일시스템-> 네트워크-> 계층 -> 관계-> 객체-> 객체관계-> NoSQL->NewSQL
4. 데이터베이스 시스템의 구성
(1) 데이터베이스 시스템의 구성
-> 데이터베이스 ,DBMS, 데이터모델, 사용자, 인터페이스
데이터베이스: 실제 데이터가 저장되는 물리적 저장소
여러사람이 공유하여 사용할 수 있도록 통합된 데이터의 집합
DBMS기능: 데이터베이스를 관리하여 운영 및 제어
데이터 모델:
- 데이터를 DB구조로 변환하는 논리적 가이드라인
- 데이터가 어떻게 구조화 되어 저정되는지를 결정
- 계층, 네트워크, 관계, 객체 모델등이 존재
- 현재 가낭 많이 사용되는 모델은 관계데이터모델
(2) 데이터베이스 언어(SQL)
- 구성: 데이터정의어, 조작어, 제어어
정의어(DDL): 테이블 구조 정의 할때 사용
조작어(DML): 데이터 검색, 삭제, 삽입, 수정 시 사용
제어어(DCL): 규칙이나 사용권한 관리할때 사용
(3) 데이터모델
관계표현방법
- 포인터 사용(1세대) : 계층 데이터모델, 네트워크 데이터 모델
속도는 빠르지만 개발속도 느림
- 속성값 사용: 관계데이터 모델 (2세대)
개념이 쉽고, 개발속도 빠름, 가장 많이 사용
- 객체 식별자 사용: 객체 데이터 모델(3세대)
객체지향언어의 상속, 캡슐화 개념 도입가능
(4) 데이터베이스의 개념적 구조
외부스키마, 개념스키마, 내부스키마
스키마: 데이터구조와 제약조건 정의한것 (구조)
인스턴스: 저장된 값
-
외부단계 : 개별 사용자 관점 (사용자)
일반사용자나 프로그래머가 접근하는 계층, 논리적인 부분을 의미
여러개의 스키마 존재
-
개념단계: 조직 전체의 관점 (관리자)
통합 조직별로 하나만 존재, DBA가 관리함.
논기적 구조를 정의한 것
-
내부단계: 저장 장치의 관점 (설계자)
물리적 저장장치에 실제로 저장되는 방법을 표현
하나의 데이터베이스에는 내부 스키마 하나만 존재
레코드구조, 필드크기 등의 구조와 인덱스를 정의
논리적 독립성: 외부와 개념단계 사이의 독립성
논리적 구조가 변경되어도 응용프로그램에는 영향없도록 하는것
물리적 독립성: 개념과 내부 사이의 독립성
내부스키마가 변경되어도 개념스키마에 영향미치지 않음.