[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과목이 나에겐 고득점 획득하기 쉬울 듯!
'👩🏻💻TIL (Today I Learn) > 정처기' 카테고리의 다른 글
정처기 22년 3월 5일 기출 오답정리_02 (0) | 2025.02.04 |
---|---|
정처기 22년 3월 5일 기출 오답정리_01 (1) | 2025.02.03 |
정처기 22년 4월 24일 기출 오답정리_04 (0) | 2025.01.23 |
정처기 22년 4월 24일 기출 오답정리_03 (1) | 2025.01.22 |
정처기 22년 4월 24일 기출 오답정리_02 (0) | 2025.01.21 |