▶ 데이터
: 현실세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값
▶ 정보
: 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물
▶ 데이터베이스
: 여러 사용자가 공유해 사용할 수 있도록 통합, 저장한 운영 데이터의 집합
▷ 공유 데이터
: 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터
▷ 통합 데이터
: 최소의 중복과 통제 가능한 중복만 허용하는 데이터
→ 통제 가능한 최소한의 중복 허용
▷ 저장 데이터
: 컴퓨터가 접근할 수 있는 매체에 저장된 데이터
▷ 운영 데이터
: 조직의 주요 기능을 수행하기 위해 지속적으로 꼬 필요한 데이터
▷ 특징
: 사용자의 데이터 요구에 실시간으로 응답할 수 있는 접근성
: 데이터의 삽입, 삭제, 수정을 통해 현재 정확한 데이터 유지
: 서로 다른 데이터의 동시 사용뿐만 아니라 같은 데이터의 동시 사용도 지원
: 데이터가 저장된 주소나 위치가 아닌 내용으로 참조
▷ 비정형 데이터
: 정해진 구조 없이 저장된 데이터
: EX) 소셜
▷ 반정형 데이터
: 구조에 따라 저장된 데이터지만 데이터 내용 안에 구조에 대한 설명이 함께 존재
: 구조를 파악하는 파싱(parsing) 과정 필요
: EX) HTML, XML, JSON 문서나 웹 로그 등
▶ 파일 시스템
: 데이터를 파일로 관리하기 위해 파일을 생성·삭제·수정·검색 기능을 제공하는 소프트 웨어
: 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리
▷ 파일 시스템의 문제점
: 같은 내용의 데이터가 여러 파일에 중복 저장 (데이터 중복성)
: 응용 프로그램이 데이터 파일에 종속적
: 데이터 파일에 대한 동시 공유, 보안, 회복 기능 부족
: 응용 프로그램 개발의 어려움
▶ 데이터베이스 관리 시스템
: 데이터베이스에 데이터를 저장하고, 이를 관리해 조직에 필요한 정보를 생성해주는 시스템
▷ 주요 기능
: 정의 - 데이터베이스 구조를 정의, 수정 가능 (DDL)
: 조작 - 데이터를 삽입·삭제·수정·검색하는 연산 가능 (DML)
→ 사용자가 원하는(WHAT) 데이터와 그를 어떻게(HOW) 얻는지를 명시 (절차적 조작)
→ 사용자가 원하는(WHAT) 데이터만 명시 (비절차적 조작)
: 제어 - 내부적으로 필요한 규칙이나 기법을 정의 (DCL)
→ 무결성 - 정확하고 유요한 데이터만 유지
→ 보안 - 허가받지 않은 사용자의 데이터 접근 차단, 허가된 사용자에 권한 부여
→ 회복 - 장애가 발생하도 데이터 일관성 유지
→ 동시성 제어 - 동시 공유 지원
▷ 장점
: 중복 통제 가능
: 데이터 독립성 확보 가능
: 동시 공유 가능
: 데이터 보안 향상
: 데이터 무결성 유지 가능
: 표준화 가능
: 장애 발생 시 회복 가능
: 응용 프로그램 개발 비용 감소
▷ 단점
: 높은 비용
: 백업과 회복 방법 복잡
: 중앙 집중 관리로 인한 취약점 존재
▷ DBMS 발전 과정
1세대 네트워크 DBMS (그래프), 계층 DBMS (트리)
2세대 관계 DBMS (RDBMS, 테이블)
3세대 객체지향 DBMS(객체를 이용해 구성), 객체관계 DBMS(객체 DBMS + 관계 DBMS)
4세대 NoSQL·NewSQL DBMS
→ NoSQL : 비정형 데이터 처리에 적합, 확정성이 뛰어남
→ NewSQL DBMS : 관계 DBMS의 장점 + NoSQL의 확정성 및 유연성
▷ 데이터베이스 3단계 구조
: 데이터베이스를 쉽게 이해하고, 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눈 것
→ 외부(개별 사용자 관점), 개념(조직 전체의 관점), 내부(물리적인 저장 장치의 관점)
: 각 단계별로 다른 추상화 제공
→ 내부 단계에서 외부 단계로 갈 수록 추상화 레벨 ↑
: 스키마 사이 대응 관계
→ 외부/개념 사상
→ 개념/내부 사상
▷ 데이터 독립성
: 하위 스키마를 변경하더라도 상위 스키마가 영향을 받지 않는 특성
→ 논리적 데이터 독립성
: 개념 스키마가 변경되어도 외부 스키마는 영향 X
: 개념 스키마가 변경되면 관련된 외부/개념 사상만 정확하게 수정
→ 물리적 데이터 독립성
: 내부 스키마가 변경되어도 개념 스키마는 영향을 받지 않음
: 내부 스키마가 변경되면 관련된 개념/내부 사상만 정확하게 수정
▷ 데이터 사전
: 시스템 카탈로그
: 데이터 베이스에 저장되는 데이터에 관한 정보(=메타 데이터)를 유지하는 시스템 데이터베이스
: 스키마, 사상 정보, 다양한 제약 조건등을 저장
: 데이터 베이스 관리 시스템이 스스로 생성, 유지
: 일반 사용자도 접근 가능하지만, 저장 내용을 검색만 할 수 있음
▷ 데이터 디렉터리
: 데이터 사전에 있는 데이터에 실제로 접근하는데 필요한 위치 정보를 통해
▶ 개체-관계 모델 (E-R model)
: Entity-Relationship Model
: 피터 첸이 제안한 개념적 데이터 모델
: 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현
: 핵심 요소 - 개체, 속성, 관계
▷ 개체-관계 다이어그램 (E-R Diagram)
: 개체-관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현
→ 사각형 - 개체
→ 마름모 - 관계
→ 타원 - 속성
→ 연결선 - 개체와 속성을 연결
▷ 개체(Entity)
: 구별되는 모든 것
: 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등
: 다른 개체와 구별되는 이름, 각 개체만의 고유한 특성이나 상태(=속성)을 하나 이상 가지고 있음
: 파일 구조의 레코드(record)와 대응
▷ 속성(Attribute)
→ 속성 값의 개수
: 단일 값 속성 - EX) 이름
: 다중 값 속성 -
- EX) 주소(우편 번호, 도로명, 상세 주소 등)
→ 의미의 분해 가능성
: 단순 속성 - EX) 가격
: 복합 속성 - EX) 생년월일(년, 월, 일로 세분화 가능)
→ 기존 속성 값에서 유도
: 유도 속성 - EX) 출생연도 속성을 통해 계산 가능한 나이 속성
→ 널 속성(NULL)
: 값이 없거나, 아직 결정되지 않음
: 공백 / 0 과는 다른 의미
→ 키 속성(KEY)
: 각 개체 인스턴스를 식별하는데 사용되는 속성
: 모든 개체 인스턴스의 키 속성 값이 다름
: 둘 이상의 속성들로 구성되기도 함
▷ 관계 (Relationship)
: 개체와 개체가 맺고 있는 의미 있는 연관성
: 개체 집합들 사이의 대응 관계(=매핑, 사상)
: EX) 고객 개체와 책 개체 간 구매 관계
→ 유형
: 일대일(1:1) 관계 - EX) 결혼
: 일대다(1:n) 관계 - EX) 부서와 사원
: 다대다(n:m) 관계 - EX) 고객과 책 개체의 구매 관계
▶ 용어
: 도메인(Domain)
: 널(NULL)
: 차수(degree)
: 카디널리티(cardinality)
▶ 릴레이션
: 투플의 유일성
: 투플의 무순서
: 속성의 무순서
: 속성의 원자성
▶ 키
: 릴레이션에서 투플들을 유리하게 구별하는 속성 또는 속성들의 집합
▷ PRIMARY KEY (기본키)
: 후보키 중에서 기본적으로 사용하기 위해 선택한 키
: EX) 고객 아이디
▷ CANDIDATE KEY (후보키)
: 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
: EX) 고객 아이디, (고객이름, 주소) 등
▷ ALTERNATE KEY
: 후보키 중 기본키를 제외한 속성 또는 속성들의 집합
▷ SUPER KEY (슈퍼키)
: 유일성을 만족하는 속성 또는 속성들의 집합
: EX) 고객아이디, (고객아이디, 고객이름), (고객이름, 주소)
▷ FOREIGN KEY (외래키)
: 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
: 릴레이션들 간의 관계를 표현
→ 참조하는 릴레이션 : 외래키를 가진 릴레이션
→ 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션
▶ 무결성 제약조건
: 데이터의 무결성을 보장, 일관된 상태로 유지하기 위한 규칙
▷ 개체 무결성 제약조건
: 기본키를 구성하는 모든 속성은 NULL 값을 가질 수 없다는 규칙
▷ 참조 무결성 제약조건
: 외래키는 참조할 수 없는 값을 가질 수 없는 규칙
: ERD 내에서 중복 요소를 찾아 제거해 나가는 과정
→ 중복 요소를 제거하는 과정에서 엔티티가 증가
→ 엔티티 사이의 관계를 유지하며 엔티티 분리 필요
▶ 제 1 정규화
: 엔티티에서 하나의 속성이 복수의 값을 갖도록 설계되어 있을 때, 하나의 속성이 단일 값(Atomic value)을 갖도록 설계를 변경하는 과정
▶ 제 2 정규화
: 주식별자가 아닌 속성들 중에서 주식별자 전체가 아닌 일부 속성에 종속관계에 있는 속성을 찾아 제거하는 과정
▶ 제 3 정규화
: 주식별자가 아닌 속성들 중에서 종속관계에 있는 속성을 찾아 제거하는 과정