Developer.

정보처리기사 실기 SQL 응용 정리

📂 목차


📚 본문

  • ⭐️ 스키마: 구조, 제약조건 등의 정보 담음
    • 외부: 사용자 뷰
    • 개념: 전체 뷰
    • 내부: 물리적 저장장치 정의, 레코드 형식 정의, 내부 레코드의 물리적 순서, 저장 데이터 항목의 표현법
  • 테이블
  • 인덱스

트랜잭션 특징

  • Atomicity: 연산을 나누는 단위, Commit/Rollback, 회복성 보장
  • Consistency: 트랜잭션 수행 전과 후의 시스템의 고정 요소가 같아야 함, 무결성, 동시성 제어
  • Isolation: 동시에 실행되는 트랜잭션이 서로 영향을 미치지 않아야 함, Read Uncommitted, Read Committed, Repeatable Read, Serializable
  • Durability: 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장, 회복 기법

병행제어 기법

  • 로킹: 하나의 자원에 대한 두 트랜잭션이 동시에 접근 X, 상호 배제 기능 구현
  • 2PC: 2단계에 걸쳐 분산 데이터베이스 시스템에서 트랜잭션의 일관성을 유지

관계 데이터 언어 - 관계 대수

  • 합집합
  • 교집합
  • 차집합
  • 카티션 프로덕트

설명 생략

관계 데이터 언어 - 순수 관계 연산자

  • Select: $\sigma_{조건}(R)$, 조건을 만족하는 튜플s
  • Project: $\pi_{속성리스트}(R)$
  • Join: ${R_1}⋈{R_2}$, 공통 속성을 활용해 튜플을 연결하여 만듦
  • Division: $R\divide S$ Relation S에 맞는 것들로만 R에서 분리하여 프로젝션

개체-관계 다이어그램

구성 요소

  • 개체: ☐
  • 관계: ♢
  • 속성: ○
  • 다중 값 속성: ◎
  • 관계-속성 연결: -

Anomaly

  • 삽입 이상: 데이터 삽입 시 다른 값들도 함께 삽입
  • 삭제 이상: 데이터 삭제 시 다른 값들도 삭제
  • 갱신 이상: 속성값 갱신 시 일부 튜플의 정보만 갱신(연동된 튜플이 갱신이 안됨)

⭐️ 데이터 정규화

  • 1NF: 원자값 구성
  • 2NF: 1NF 에서 Partial Functional Dependency(비기본키가 기본키의 일부에만 의존하는 경우) 삭제
    즉, Full Functional Dependency을 가져야 하는데 기본키의 진부분집합의 키에 의존되어 비기본키가 정해지는 경우를 없애야 한다는 것
  • 3NF: 2NF 에서 속성에 관한 종속성이 추이율(transitivity) 를 만족하면 안됨, 즉 이행 종속이면 안됨
  • BCNF(3.5NF): 3NF 에서 모든 함수 종속에서 결정자가 무조건 후보키여야 함
  • 4NF: 3.5NF를 만족하는 릴레이션에서 다치 종속(Multi-Valued Dependency MVD, A ->-> B)를 제거
  • 5NF: 4NF 에서 조인 종속성(Join Dependency, 모든 조인 종속이 후보키에 의해서만 발생해야 함) 제거, 조인으로 원래 릴레이션 정확히 복원 가능해야 함

스토리지 구성

  • DAS: 케이블로 연결
  • NAS: LAN으로 연결
  • SAN: 광섬유 연결

접근제어

불법적인 데이터의 접근으로부터 DB를 보호하는 기법

DAC, 신원기반 접근제어 정책

정책

  • IBP(Individual-Based Policy): 1:1 의 사용자:객체 로 허가를 부여 받음
  • GBP(Group-Based Policy): n:1 의 그룹:객체 로 허가를 부여 받음

MAC, 규칙기반 접근제어 정책

정책

  • MLP(Multi-Level Policy): 사용자 및 객체가 각각 부여된 기밀 분류에 따른 정책
  • CBP(Compartment-Based Policy): 조직 내 ‘특정 집단별’로 구분된 기밀 허가에 따른 정책

RBAC, 역할기반 접근제어 정책

메커니즘

  • ACL(Access Control List): 주체가 디렉토리나 파일과 같은 특정 시스템 객체에 접근할 수 있는 허가 받은 접근 종류들이 기록된 목록
  • CL(Capability List): 주체에게 허가된 자원 및 권한의 목록
  • SL(Security Label): 객체에 부여된 보안 속성 정보의 집합

데이터베이스 무결성 종류

  • 개체 무결성: 개체의 기본키는 존재하고 유일해야 함
  • 참조 무결성: 외래 키가 참조하는 다른 개체의 기본 키에 해당하는 값은 기본키 값이거나 NULL 이어야 함
  • 속성 무결성: 속성의 값은 기본값, NULL 여부, 도메인이 지정된 규칙을 준수해야 하는 제약조건
  • 사용자 무결성: 의미적 요구사항을 준수해야 하는 제약조건
  • 키 무결성: 한 릴레이션에 같은 키 값을 가진 튜플들을 허용할 수 없다는 제약조건

키 특성

  • 유일성: 모든 엔티티가 식별자에 의해 유일함
  • 최소성: 최소한의 속성으로 식별자 구성

Denormalization

개발의 성능 최적화, 단순화를 위해 선택한 데이터 정규화의 역방향 작업으로 통합, 중복, 분리하는 과정이다.