logo
작성일

CH1. 개념 한 장

Authors
  • avatar
    Name
    seren-wib
    Twitter
Contents

개념 한 장 (2.1~2.2, 3.1)

그리기도 SQL도 아닌 "설명하라" 문제용. 외울 건 표 안에 있는 단어랑 개수.

1. DB가 뭔지

말뜻
Database서로 관련 있는 데이터를 모아놓은 것
DBMS그 DB를 만들고·채우고·조작하고·공유하는 소프트웨어. Oracle, MySQL
Database systemDB + DBMS

파일로 그냥 저장하면 생기는 문제 3개 (DB 쓰는 이유)

문제뭐가 안 되나
Integrity길이 제한, 중복 입력, 동명이인 구분 안 됨
Management특정 데이터 빨리 못 찾음, 여럿이 동시에 쓰면 꼬임
Durability쓰다가 장애 나면 파일 깨지고 복구 못 함

2. DB 시스템 특징 4개

특징한 줄핵심 단어
Self-describing데이터뿐 아니라 그 구조(메타데이터)도 DB 안에 같이 저장카탈로그
Data abstraction프로그램은 논리 구조만 보고 디스크에 어떻게 저장됐는진 모름program-data independence
Multiple views사용자마다 다른 모습으로 보여줌view = 저장 안 된 가상 테이블
Sharing & multiuser transaction여러 사용자가 한 DB를 동시에 씀concurrency control, transaction

3. DB 시스템 장점 5개

장점한 줄
Controlling redundancy같은 데이터 여러 곳에 안 둠 → 갱신 한 번, 공간 절약, 불일치 없음. 성능 때문에 일부러 두기도
Enforcing integrity constraints데이터가 지킬 조건(타입, 키, FK)을 DBMS가 강제
Storage structures & efficient searching디스크 느리니까 버퍼·캐시, 빨리 찾게 인덱스(B-tree, B+tree)
Backup and recovery평소에 복사본, 장애 나면 직전 상태로 복구
Restricting unauthorized access사용자별 권한

DBMS 안 쓰는 게 나을 때: 단순하고 안 바뀌는 앱 / 엄격한 실시간 요구 / 공간 부족한 임베디드 / 사용자 한 명

4. 데이터 모델 3층

데이터 모델: DB 구조를 설명하는 개념들의 묶음. 데이터 타입, 관계, 제약조건, 기본 연산까지

모델누구 눈높이쓰는 개념예
Conceptual (high-level)사용자entity, attribute, relationshipER 다이어그램
Representational (중간)사용자도 이해하고 저장 방식에도 가까움relation, tuple, attribute, domain테이블. 상용 DBMS 대부분
Physical (low-level)컴퓨터 전문가record format, ordering, access path디스크 배치, 인덱스

5. 3단계 스키마

목표: 응용 프로그램을 물리적 DB에서 떼어놓기

단계기술하는 것개수쓰는 모델
External (view)그 사용자 그룹이 보는 부분만여러 개
ConceptualDB 전체 논리 구조 (entity, 타입, 관계, 제약)하나Representational
Internal물리 저장 구조, 접근 경로하나Physical
  • 함정: Conceptual level은 Conceptual 모델이 아니라 Representational 모델로 씀
  • Mapping: 층 사이에서 요청·결과를 변환. 데이터는 Internal에만 있고, 위로 들어온 요청을 DBMS가 아래 요청으로 바꿈

6. 데이터 독립성 2개

데이터 독립성: 한 층 스키마를 바꿔도 바로 위층은 안 바꿔도 됨. 3층으로 쌓은 이유. mapping만 고침

바꾸는 층안 바뀌는 층예
LogicalConceptualExternal, 응용 프로그램열 추가, 테이블 분리
PhysicalInternalConceptual인덱스 교체, 파일 구조 변경
  • 이름은 바꾸는 층 기준. 테이블 건드리면 Logical, 디스크 건드리면 Physical / 둘 다 결과는 "기존 프로그램 안 고쳐도 됨"

7. DB 설계 과정

단계하는 일결과물
1 요구사항 수집·분석사용자 데이터 요구 모으기요구사항 목록
2 개념적 설계모델 골라서 개념 스키마로ER 다이어그램
3 논리적 설계개념 스키마 → DB 스키마테이블
4 물리적 설계저장 구조 정하기파일·인덱스
  • 요구사항 말 → ER: "고유한" = key, "여러 개" = multivalued, "하나" = cardinality
  • 좋은 설계: Redundancy(같은 정보 반복) 없음, Incompleteness(표현 못 하는 데이터) 없음

8. 관계형 모델 장점 4개

장점한 줄
Simplicity평평한 테이블이라 이해 쉬움
Data integrity제약조건으로 유효·일관
Easy data manipulationSQL로 조건 걸어 조작
Security인증·권한·암호화

9. 숫자로 외우기

몇 개뭐
3파일 저장 문제 / 데이터 모델 층 / 스키마 단계
4DB 시스템 특징 / 설계 단계 / 관계형 모델 장점
5DB 시스템 장점
2데이터 독립성