2018/05/15 - [방송통신대학교/컴퓨터과학과 [3학년 1학기]] - [데이터베이스] 5강 정규화 기초

2018/03/21 - [방송통신대학교/컴퓨터과학과 [3학년 1학기]] - [데이터베이스] 4강 데이터베이스 언어

2018/03/19 - [방송통신대학교/컴퓨터과학과 [3학년 1학기]] - [데이터베이스] 3강 관계형 모델

2018/03/16 - [방송통신대학교/컴퓨터과학과 [3학년 1학기]] - [데이터베이스] 2강 데이터베이스 모델링

2018/03/16 - [방송통신대학교/컴퓨터과학과 [3학년 1학기]] - [데이터베이스] 1강 데이터베이스의 이해

1. 데이터베이스의 개념

사용: 은행 항공 대학 등등등등 많다

데이터베이스가 없으면 원하는 자료를 찾는데 소요되는 비용이 너무 크다. 

1) 파일처리시스템
    DB가 개발되기전에 데이터관리에 사용
    업무 별 작성되는 각각의 어플리케이션이 개별적으로 자신의 데이터를 케어하는 시스템

    1-1) 데이터 종속의 문제
        저장된 데이터가 특정 HW 또는 SW에서만 사용될수 있도록 제한되는 문제
        - 물리적 데이터 독립성
        - 논리적 데이터 독립성

    1-2) 데이터 중복의 문제
        동일한 사항에 대한 데이터를 복수 개 저장할 경우 일관성, 보안성, 경제성 측면에서 문제 발생
        - 일관성: 한가지 사실에 대해 한 개의 데이터 값을 유지
        - 보안성: 같은 데이터에 같은 수준의 보안 유지
        - 경제성: 데이터에 대해 최소한의 저장 공간 만을 점유

    1-3) 무결성 훼손의 문제
        실세계의 데이터는 어떤 현상에 대한 값을 유지하고 있을 뿐만 아니라 데이터가 가질 수 있는 기능범위를 포함
        - 현상에 대한 값의 예: '홍길동'의 수강과목
        - 가능 범위의 예: 1학기 최대 수강과목 18학점
        데이터 무결성
        - 데이터의 정확성 보장
        - 데이터의 값과 값에 대한 제약조건을 동시에 만족
        파일 시스템은 데이터 무결성을 보장하기 위한 기능을 제공하지 않음

    1-4) 동시접근의 문제
        동일 데이터에 다수 사용자의 접근 허용 시 일관성이 훼손

2. 특징

DB 관련 용어
    데이터: 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 값에 대한 설명
    데이터베이스: 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
    DBMS: 데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지
    데이터베이스 시스템: 정보를 데이터베이스에 저장, 관리하여 사용장게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템

데이터베이스 사용의 의미
    이전의 파일처리시스템에서의 데이터사용과 데이터관리를 DBMS를 통해 이원화 시킨것.

특성)

DB 시스템의 자기 기술성
 - 설명(메타데이터)을 포함
프로그램과 데이터의 격리 및 추상화
 - 사용제에게 개념적인 표현을 제공하여 접근성을 향상
다중 뷰 제공
 - 각 사용자가 관심을 갖은 데이터베이스의 일부만을 표현할 수 있는 기능 제공
다수 사용자 트랜잭션 처리
 - 동시성 제어 기능

값, 데이터, 메타데이터의 차이)

12
값: 숫자 12의 순수한 의미
데이터: 숫자 12와 어떤것을 의미 하는지에 대한 설명 (오늘일자 낮 최고기온)
메타데이터: 숫자 12의 설명 (오늘일자 낮 최고기온)

DBMS의 구조)
    개념적 > 논리적 > 물리적

3. 모델

개념)
    사용 가능한 데이터만을 선별하여 구조화된 DB에 저장 사용할 방법이 필요
    데이터모델: 관계형, ER, 객체지향적 모델 등

1) ER(entity-relationship model) 모델
    실세계 인식에 기초하여 실세계의 객체(object)를 나타내는 개체(entity)들과 개체들간의 관계(relationship)로 구성

2) 관계형(relational model) 모델
    릴레이션이라고 하는 표 형태의 구조를 사용하여 데이터를 저장, 관리하는 모델

관계형 모델로 가기전에 ER 모델을 사용한 후 관계형으로 진행된다.

4. 구성요소

1) DB 언어

1-1) 개념: DBMS는 사용자가 DB를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공
                역할에 따라 종류의 언어로 구분 데이터정의언어(DDL) , 데이터조작언어(DML)
            현대 DB언어는 자연어와 유사한 형태의 SQL로 표준화

1-2) 데이터정의언어 DDL (Data Definition Language)
        DB 스키마를 정의하기 위한 언어

1-3) 데이터조작언어 DML(Data Manipulation Language)
        구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색,삽입,삭제,수정)

5. 시스템 아키텍처

1) 개념

1-1) 중앙집중식 방식
        - 단일 서버가 다수의 클라이언트 장치를 대신하여 작동
        - 중앙 컴퓨터의 과부하로 전체적인 성능 저하

1-2) 분산시스템 방식
        - 클라이언트 장치의 성능 향상으로 자체적인 처리 능력 보유
        - 클라이언트-서버 데이터베이스 시스템

* 클라이언트 - 서버 구조
2 tier: 사용자, 애플리케이션, 데이터베이스
3 tier: 사용자, 애플리케이션 클라이언트, 애플리케이션 서버, 데이터베이스