[정처기] 3과목 데이터베이스 구축 21년 기출 정리

하나·2022년 5월 14일
0

CS

목록 보기
7/7
post-thumbnail

21년 1회

  1. 스키마

    • 개념 스키마 : 사용자,데이터베이스 관리자 관점의 스키마. 실제로 어떤 데이터가 저장되었으며, 데이터 간의 관계는 어떻게 되는지 정의하는 스키마. 1개만 존재, 접근 권한, 보안 및 무결성 등 정의 포함
    • 내부 스키마 : 저장장치와 DB설계자, 개발자 관점의 스키마. 개념 스키마를 물리적 저장장치에 구현하는 방법을 정의하는데 사용. 물리적 구조 및 내부 레코드의 물리적 순서 표현
    • 외부 스키마 : 사용자 관점의 스키마. 사용자 또는 프로그램 입장에서 논리적 구조로 여러개가 존재
  2. 데이터 베이스 설계

    • 개념적 설계 : 개념 스키마 모델링, 트렌젝션 모델링, 독립적인 개념 스키마 설계, ERD
    • 논리적 설계 : 트렌잭션 인터페이스 설계, 스키마 평가 및 정제, 목표 DBMS에 맞는 논리스키마 설계, 논리적구조로 데이터 모델화
    • 물리적 설계 : 저장구조 및 액세스 경로 설정, 레코드 집중의 분석,설계, 저장 레코드 양식 설계
  3. 트렌잭션 (ACID)

  • 원자성(atomicity)
  • 일관성(consistency)
  • 격리성(isolation)
  • 영속성(durability)

21 년 3회

  1. 데이터베이스의 무결성 규정

    개체 무결성 - 기본키는 null 값이 될 수 없음
    참조 무결성 - 외래키는 참조할 수 없는 값을 가질 수 없음
    도메인 무결성 - 특정 속성값은 그 속성이 정의된 도메인에 속한 값이어야 함
    키 무결성 - 릴레이션에는 최소한 하나의 키가 존재해야 함

  2. 트랜잭션 (ACID)
    원자성, 일관성, 독립성, 영속성

    • 뷰 : 하나 이상의 기본 테이블로부터 유도되어 만들어지는 가상 테이블
    • 튜플 : 관계데이터 구조 테이블에서 행
    • 카디널리티 : 튜플의 개수
  3. 데이터베이스 설계
    개념적 설계, 논리적 설계, 물리적 설계

  4. 슈퍼키 : 유일성은 만족, 최소성은 만족 x

  1. 병행제어 기법
    로킹
    2단계 로킹 규약
    타임스탬프
    낙관적 병행제어
    다중 버전 병행제어
    -> 병행제어를 하지 않으면

    • 갱신 분실
    • 비완료 의존성
    • 모순성
    • 연쇄복귀
  2. 관계 대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어

    관계 해석 : 비절차적인 언어

  3. 데이터의 중복으로 인해 관계연산을 처리할때 예기치 못한 곤란한 현상 : 이상현상

    • 삽입 이상
    • 삭제 이상
    • 갱신이상

    → 정규화 필요

  4. 데이터베이스 언어
    정의어 : CREATE, DROP, ALTER
    조작어 : SELECT, INSERT, UPDATE, DELETE
    제어어 : COMMIT, ROLLBACK, GRANT, REVOKE

21년 2회

  1. 병렬 데이터베이스 환경 중 수평분할 (파티션)

    • 라운드-로빈 : 순서대로 분할
    • 범위 분할 : 연도 범위로 분할
    • 예측 분할 : 존재하지 않음
    • 해시 분할 : 해시함수에 나오는 값에 따라 분할
    • 합성 분할 : 여러 방법들 합성해서 분할
    • 목록 분할 : 그룹화해서 분할
  2. 시스템 카탈로그 : 데이터베이스가 자기가 스스로 만드는 것 (사용자가 만드는 객체들을 관리하기 위해)

    • 데이터 사전, 저장된 내용을 메타데이터 라고도 함
    • 데이터베이스에 저장된 모든 개체들에 대한 정의나 명세에 대한 정보가 수록되어 있는 시스템 테이블 - 종류
    • 사용자와 데이터베이스 관리시스템의 접근(은) 가능
    • 사용자의 직접 갱신은 허용 x
  3. Select *

    from table

    where (조건)

    And/Or

    Group by (기준 컬럼)

    having sum(*)>100

    order by (컬럼) ASC/DESC

    • distinct 는 select 문과 컬럼 사이에 사용
  4. View 삭제할 때 사용하는 명령

  • 구조를 삭제할 때, Drop
  1. 데이터베이스 언어
    • 정의어(DDL) : CREATE, DROP, ALTER (view 는 alter 사용 불가)
    • 조작어(DML) : SELECT, INSERT, UPDATE, DELETE
    • 제어어(DCL) : COMMIT, ROLLBACK, SAVEPOINT, GRANT(to, 권한 줄 때), REVOKE(from, 권한 뺏을 때)
  2. 집합연산자
  • INTERSECT 교집합, 양쪽 모두에서 포함된 행을 검색
  • UNION : 중복을 제거한 결과의 합을 검색
  • UNION ALL : 양쪽 모두에서 포함된 행을 검색
  • MINUS : 첫 번째 검색 결과에서 두번째 검색 결과를 제외한 나머지를 검색
  1. 데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌것은?
  • 레코드 집중의 분석 및 설계
  • 접근 경로 설계
  • 저장 레코드의 양식 설계

목표 DBMS - 논리설계 (관계DB인지 등등)

특정 DBMS - 물리설계 (오라클인지, mysql 인지 등등)

데이터베이스 설계

  1. 개념적 설계

    • 현실세계를 데이터 관점으로 추상화하는 단계, ER다이어그램
  2. 논리적 설계

    • 특정 데이터 모델(계층, 관계, 객체지향)을 적용한 설계
    • 사용할 DBMS 특성을 고려한 설계, 정규화, 트랜잭션 인터페이스 설계, 릴레이션 스키마
  3. 물리적 설계

    • 물리적 구조와, 저장구조, 분산형태, 데이터특징, 인덱스
    • 오브젝트, 접근방법, 트랜잭션 분석, 인덱스, 뷰, 용량 설계
    • 물리적 스키마
  4. 무결성 제약조건

  • 개체 무결성 : 기본키는 null 값이 될 수 없음 (ex. 같은 주민번호 가진 사람이 있으면 안 됨, 식별해야 하므로)
  • 참조 무결성 : 외래키는 참조할 수 없는 값을 가질 수 없음 (cascade : 연쇄삭제, restricted : 삭제못함)
  • 도메인 무결성 : 특정 속성값은 그 속성이 정의된 도메인에 속한 값이어야 함 (ex. 1~6학년까지 있는데 7학년이 있으면 안됨)
  • 키 무결성 : 릴레이션에는 최소한 하나의 키가 존재해야 함
  1. 병행제어 기법 : 여러사람이 데이터베이스를 제어하기 때문에 병행제어 필요
  • 로킹 기법 : 잠그는 것
  • 2단계 로킹 규약 : 확장(키를 잠글 생각 밖에 없는), 축소(키를 해제하는 생각 밖에 없는)
  • 타임 스탬프 기법
  • 낙관적 병행제어 : 알아서 잘 하겠지
  • 다중 버전 기법 : 타임 스탬프 여러개 쓰는 것

병행제어를 하지 않으면

  • 갱신분실
  • 비완료 의존성
  • 모순성
  • 연쇄 복귀
  1. 관계대수 연산자
  • 순수 관계 연산자 : select, project, join, division
  • 일반 집합 연산자 : 합집합, 교집합, 차집합, 카티션 프로덕트
  1. 관계형 데이터 모델의 릴레이션
  • 모든 속성 값은 원자 값을 갖는다.
  • 한 릴레이션에 포함된 튜플은 모두 상이하다.
  • 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
  • 한 릴레이션을 구성하는 속성 사이에는 순서가 존재한다. (x)
  1. 카티션 프로덕트 (조인)

    차수는 더하고, 카디널리티는 곱하기

  2. 속성에 대한 설명

  • 속성은 객체의 특성을 기술
  • 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위
  • 속성은 파일 구조상 데이터 항목 또는 데이터 필드에 해당된다.
  • 속성의 수는 차수, 튜플의 개수가 카디널리티
  1. insert into table명 (a,b,c 속성) values (값)

    delete from table명 where ~

  2. 차수의 의미

    = 컬럼의 수

    = 어트리뷰트의 수

    = 속성의 수

  3. ER 그래픽 표현

  • 개체타입 - 사각형
  • 속성 - 원형
  • 관계 타입 - 마름모
  • 연결 - 선
  1. 트랜잭션 연산
  • commit 연산 : 트랜잭션의 결과를 반영
  • rollback 연산 : 트랜잭션 실행이 실패하였음을 알리는 연산자, 수행한 결과를 원래 상태로 원상 복귀시킴

트랜잭션의 특성

  • 원자성 : 모두 반영되거나 모두 반영되지 않아야 한다
  • 일관성 : 트랜잭션 완료 후에 데이터들이 일관적으로 유지되어야 한다
  • 독립성/격리성 : 어떤 트랜잭션이 실행 되는 중에 다른 트랜잭션이 영향 미치면 안된다
  • 영속성 : 트랜잭션의 결과는 영구히 보존되어야 한다.
  1. 종속성에 대한 엄밀한 고려 없이 잘못 설계된 데이터베이스에서는 데이터 처리 연산 수행시 이상현상
  • 삽입이상
  • 삭제이상
  • 갱신이상
  1. 제3정규형에서 BCNF 가 되기 위한 조건

개념적 설계를 한 경우 여러 이상 현상들이 발생 할 수 있음 → 정규화 시켜야 함

0개의 댓글