정처기 22년 4월 24일 기출 오답정리_05
2025. 1. 24. 13:28

[3과목 : 데이터베이스 구축]

 

*정규화 과정

1. 제1정규형 : 모든 속성이 도메인 원자값으로 구성

2. 제2정규형 : 기본키 전체에 대해 완전 함수 종속성을 가져야 함. (부분 함수 종속성 제거)

3. 제3정규형 : 기본키에 대해 이행적 함수 종속성을 가지지 않도록

4. BCNF : 모든 결정자가 후보키여야 함

5. 4NF : 다치 종속성 문제 해결

6. 5NF : 조인 종속성 문제 해결

 

* 트랜잭션의 특성

- 원자성 Atomicity : 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야 함

- 일관성 Consistency : 시스템의 고정 요소는 트랜잭션 전후에 같아야 함

- 격리성, 고립성 Isolation : 다른 트랜잭션의 간섭을 받지 않아야 함

- 영속성, 지속성 Durability : 트랜잭션의 결과가 DB에 영구히 기억됨

 

* 인덱스(Index)

- DB에서 테이블을 삭제하면 인덱스도 같이 삭제됨

- 인덱스 생성 : CREATE

- 인덱스 삭제 : DROP

 

* 데이터 사전

- DB에 저장된 데이터 자첵 아니라, 데이터를 설명하는 메타데이터(Metadata)를 저장하는 공간

- 시스템 카탈로그라고도 함

- DB의 구조(테이블,뷰,인덱스 등), 사용자 권한, DB접근방식 등을 관리

- DBMS가 자동으로 생성, 관리 >> 사용자가 직접 수정 생성 불가

- 데이터 디렉토리 포함 (실제 데이터의 물리적 위치)

 

*저장 레코드 양식 설계시 고려 사항

: 데이터 타입, 데이터 값의 분포, 접근 빈도

 

*뷰(View)

- 다른 뷰를 기반으로 새로운 뷰를 만들 수 있음

- 일종의 가상 테이블. update에 제약이 따름 

- 논리적으로만 존재

- 기본 테이블을 만드는 것처럼 create view를 사용하여 생성

 

*릴레이션의 특징

- 튜플의 유일성 : 서로 다른 값

- 튜플의 무순서성

- 속성의 원자성 : 더이상 분해할 수 없는 원자 값. (속성 값이 리스트, 집합 등의 복합구조x)

- 속성 이름의 유일성 : 고유한 이름 (같은 이름의 속성을 두개이상 포함x)

** 튜플의 불변성과 릴레이션의 튜플 무순서성은 다른 개념!

>> 파이썬에서 튜플은 정해진 순서불변성의 특징을 가짐

>> 이는 DB의 릴레이션과는 아예 다른 개념임

>> DB에서의 릴레이션은 집합(set)! 집합의 특성상 원소(튜플)의 순서는 중요하지 않음.

>> 따라서 DB에서 튜플은 무순서성. 정렬이나 순서에 의미를 부여하려면 ORDER BY와 같은 기준이 필요

 

- 차수(Degree) : 속성의 수

- 카디널리티(Cardinality) : 릴레이션에 포함되어 있는 튜플의 수(기수)

 

- Partially Committed : 마지막 연산이 실행된 직후의 상태로, 아직 Commit 실행 전

- Committed : 트랜잭션 실행을 성공적으로 완료하여 Commit 연산을 수행한 상태

 

* SQL 명령어

- DDL(Data Definition Language) : 구조를 정의하거나 수정 CREATE, ALTER, DROP, TRUNCATE

- DML(Data Manipulation Language) : 데이터 조작 SELECT, INSERT, UPDATE, DELETE

- DCL(Data Control Language) : 사용자의 권한 및 접근 제어 GRANT, REVOKE

- TCL(Transaction Control Language) : 트랜잭션 처리 COMMIT, ROLLBACK, SAVEPOINT

 

- REVOKE CREATE TABLE FROM PARK; 권한 취소

- GRANT CREATE TABLE TO PARK; 권한 부여

 

- 슈퍼키 Super Key : 유일성은 만족하지만, 최소성은 만족하지 않을 수 있음

- 후보키 Candidate Key : 유일성과 최소성을 모두 만족

- 기본키 Primary Key : 후보키 중 하나를 기본키로 선정

    - 유일성 : 테이블의 각 행(튜플)을 고유하게 식별. 속성값은 중복x

    - NOT NULL 제약조건

    - 후보키 중 하나 선택 (최소성, 유일성 만족)

    - 외래키(Foreign Key)로 참조 가능

 

* 데이터베이스의 설계 단계 (개논물)

1. 개념적 설계 : 사용자의 요구사항을 바탕으로 데이터 구조와 제약조건을 모델링
  - 데이터의 구조(엔터티, 속성, 관계) 모델링

  - DBMS에 독립적으로 설계

  - E-R 다이어그램 등 시각적 모델링 도구 사용

2. 논리적 설계

  - 개념적 설계를 바탕으로 DBMS에 맞는 논리적 구조로 변환 (인터페이스 설계)

  - 관계형 모델로 맵핑

3. 물리적 설계

  - 저장소 구조, 인덱스 등 최적화 작업 수정 (세부설계)

 

* 데이터 모델의 구성 요소

- 구조(Structure) : 데이터를 구조화하고 관리하기 위한 작 (테이블, 컬럼, 기본키, 외래키 등)

- 연산(Operation) : 데이터를 처리하기 위한 작업 (SELECT, INSERT, UPDATE, DELETE)

- 제약조건(Constraint) : 데이터의 일관성과 무결성 유지 규칙 (NOT NULL조건, 무결성 제약조건 등)

 

* 무결성 제약조건

- 개체 무결성 : 기본키는 NULL값이나 중복값을 가질 수 X

- 참조 무결성 : 외래키 값은 NULL이거나, 참조하는 릴레이션의 기본키 값과 동일해야 함

- 도메인 무결성 : 속성들의 값은 정의된 도메인에 속한 값

- 고유 무결성 : 특정 속성은 릴레이션 내에서 유일한 값을 가져야 함

- NULL 무결성 : 특정 속성 값은 NULL값을 가질 수 없음

- 키 무결성 : 각 테이블에는 고유하게 식별할 수 있는 최소 하나의 키가 존재해야함  

 

 

**정규화과정 키워드 다시 외워봐야겠다!

 

xxoooxooxo

xoxxxoooxo

>> 11/20

     55점

3과목이 나에겐 고득점 획득하기 쉬울 듯!