[정보처리기사] 필기 데이터베이스 요약
※ 제가 필요한 부분을
제 방식으로 정리한 것입니다.
없는 내용이 있을 수 있으니
참고만 해 주세요. ※
DB 정의
- Intergrated Data(통합 데이터): 중복이 최소화된 데이터
- Stored Data(저장 데이터): 저장 매체에 저장된 데이터
- Operational Data(운영 데이터): 조직의 목적을 위해
- Shared Data(공유 데이터): 여러 응용 프로그램들이 공동으로
DB 특징
- Real Time Accessibility(실시간 접근성)
- Continuous Evolution(계속적인 변화):
- Content Reference(내용에 의한 참조): 주소나 위치로 찾지 않음 내용으로 검색
Data Language
- DDL(정의): create, alter, drop
- DML(Manipulation: 조작): insert, delete, update
- DCL(제어): commit, rollback, grant, revoke
Schema
- External Schema(외부 스키마): =Sub Schema. DB 1개당 여러 개가 가능, DB의 논리적인 부분의 하나
- Conceptual Schema(개념 스키마): DBA에 의해 작성됨, 전체적인 논리적 구조
- Internal Schema(내부 스키마): 물리 구조 정의, DB 1개당 1개
DB 설계 순서
Requirement Analysis(요구 조건 설계)
-> Conceptual Design(개념적 설계)
-> Logical Design(논리적 설계)
-> Physical Design(물리적 설계
-> Database Implementation(DB 구현)
릴레이션
|
|
| |
|
|
| |
|
|
| |
|
|
|
튜플(tuple) = Row = 행 / 튜플의 수: Cardinality(카디널리티 = 기수) 카기행
애트리뷰트(attribute) = Column = 열 / 애트리뷰트의 수: Degree(디그리 = 차수) 기(디)차열
Key의 종류
- Super Key: 키가 집합으로 구성됨, 유일성(Unique)O, 최소성(minimality)X
※최소성: 키를 구성하는 속성 하나를 없앴을 때 기본키 능력이 없어야 함
- Candidate Key: 기본키가 될 수 있는 키
- Primary Key: 레코드를 고유하게 식별하는 후보키 가운데 설계자가 일반적으로 이용되어야 한다고 정해 놓은 것
- Alternate Key(대체키) = (후보키) - (기본키)
- Foreign Key: 다른 테이블의 기본키를 참조
Integrity(무결성)
정의: 통합 데이터의 정확성을 위해 정확하지 않은 데이터가 DB에 저장되는 것을 방지하기 위한 제약 조건
- Null 무결성: 특정 속성값이 null이 될 수 없도록
- Unique(고유) 무결성: 각 튜플이 갖는 속성값이 달라야 함
- Domain 무결성: 학생 Table의 '성별' 속성에는 '남' 또는 '여'만 존재해야 함
- Key 무결성: 하나의 릴레이션에 적어도 하나의 키가 존재해야 함
- Relationship 무결성: 튜플의 삽입 가능 여부, 한 릴레이션과 다른 릴레이션 사이의 관계에 대한 적절성 여부를 지정한 규정
- Referential(참조) 무결성: 외래키 값은 Null이거나, 참조 릴레이션의 기본키와 같아야 함
- Entity 무결성: 기본 릴레이션의 기본키를 구성하는 속성은 절대 Null일 수 없음
Relational Algebra(관계 대수)
순수관계연산자
- SELECT: σ , 튜플 구하기
- PROJECT: π , 속성(애트리뷰트) 구하기
- JOIN: R▷◁(조인 조건)S (ex) 학생▷◁이름=이름성적
※ 중복된 속성 제거하는 연산: NATURAL JOIN
- DIVISION: R[속성r ÷ 속성s]S (ex) 구입자[구입품 코드 ÷ 생산품 코드]생산품
일반집합연산자
- UNION(합집합) ∪
- INTERSECTION(교집합) ∩
- DIFFERENCE(차집합) -
- CARTESIAN PRODUCT(교차곱) ×
Relational Calculus(관계 해석)
비절차적 특성, 질의어로 표현
종류: 튜플 관계 해석, 도메인 관계 해석
테이블 생성하는 쿼리문(검정색)과 설명(초록색)
CREATE TABLE 학생
(
이름 VARCHAR(15) NOT NULL,
학번 CHAR(8),
전공 CHAR(5),
성별 SEX,
생년월일 DATE, //속성명 데이터 타입
PRIMARY KEY(학번), //기본키 설정
FOREIGN KEY(전공) REFERENCES 학과(학과코드) //외래키 설정
ON DELETE SET NULL //관련 튜플이 DELETE 되면 '전공' 속성을 SET NULL
ON UPDATE CASCADE //관련 튜플이 UPDATE 되면 CASCADE
CONSTRAINT 생년월일제약 CHECK (생년월일 >= '1980-01-01')
//└>제약 조건 이름
)
※ set null: null 값으로 설정
set default: 기본값으로 설정
cascade: 연쇄적으로
no action: 아무것도 하지 않음
뷰 생성하는 쿼리문
CREATE VIEW 뷰 이름
AS SELECT 속성 1, 속성2, …
FROM 테이블 이름
WHERE 주소 = 안산시
※ ASC 오름차순 / DESC 내림차순
Anomaly(이상)
- Insertion Anomaly: 삽입 이상
- Deletion Anomaly: 삭제 이상
- Update Anomaly: 갱신 이상
함수적 종속
X→Y
- X는 결정자(Determinant)
- X는 Y를 함수적으로 결정
- Y는 종속자(Dependent)
- Y는 X에 함수적 종속
Normalization(정규화) 두부이겨다조
1NF: 모든 도메인이 원자값으로 되어 있는 것
2NF: 모든 속성이 기본키에 대해 완전 함수적 종속O (=부분 함수적 종속 X)
3NF: 이행적 함수 종속 X
BCNF: 결정자가 후보키인 경우
4NF: 다중값 종속
5NF: 조인 종속
▼ 제 1~5 정규화 설명(이론에 적합)
http://blog.naver.com/c_18/10166613816
▼ 제 1~3 정규화 설명(실무에 적합)
http://blog.naver.com/PostView.nhn?blogId=mjsolar&logNo=130109454313
Index
- Clustered Index: 레코드 물리적 순서와 인덱스 엔트리 순서(키의 순서)가 일치, 1개 테이블에 1개 인덱스 존재 (ex) 책 앞의 목차
- Non-Clustered Index: 인덱스의 키 값만 정렬되어 있고 실제 데이터는 정렬 X, 1개 테이블에 여러 개 인덱스 존재 (ex) 책 뒤의 찾아보기
Transaction(트랜잭션): 일련의 작업 단위
- Atomicity(원자성): 모두 반영되든지 모두 취소되든지
- Consistency(일관성): 일관성 있는 DB, 고정 요소는 작업 후에도 변함 없음
- Isolation(독립성): 한 트랜잭션이 데이터를 갱신하는 동안 다른 트랜잭션은 접근할 수 없음
- Durability(영속성): 완료된 트랜잭션의 결과는 영구적으로 반영되어야 함
Recovery(회복)
- Redo: start가 있고 commit이 있는 값을 재작업
- Undo: start가 있고 commit이 없는 값을 취소
Concurrency Control(병행 제어)
- Lost Update(갱신 분실)
- Inconsistency(모순성)
- Cascading Rollback(연쇄 복귀)
Tuning(튜닝)
- DB 튜닝: DB 자체, DB app, DB OS 등의 조정을 통해 DBMS의 성능을 향상시킴
고급 데이터베이스
- 분산 데이터베이스
분산 DB의 목표
- Transparency(투명성): 고려하지 않아도 ok
- Location(위치)
- Replication(중복)
- Concurrency(병행)
- Failure(장애)
- 멀티미디어 데이터베이스
CLOB: 텍스트 데이터
BLOB: 이미지, 비디오, 오디오 등
- 주기억장치 데이터베이스
디스크 입출력이 X
- 데이터 웨어하우스(DB)
정의: 급증하는 다량의 데이터를 효과적으로 분석 및 정보화를 하여 여러 계층 사용자들이 효율적으로 사용하게 만든 DB
키워드: 전사적인 데이터 통합, 신속 정확한 의사 결정, 인덱스 생성
※ 전사(全社)는 회사 전체를 뜻함, 따라서 전사적(全社的)은 '회사 전체적으로'라는 뜻
- 데이터 마트(DB)
데이터 웨어하우스에서 특정 주제나 부서 중심
- 데이터 마이닝(기법)
데이터 웨어하우스에 저장된 데이터 집합에서 사용자 요구에 따라 유용하고 가능성 있는 정보를 발견하는 기법
- OLAP (OL: 온라인, A: 분석, P: 프로세싱)
정의: 데이터를 분석하고 의사 결정에 활용하는 프로세싱
연산 종류
- Roll-Up: 구체적 -> 요약된 데이터로 접근하는 기능
- Drill-Down: 요약된 -> 구체적 데이터로 접근하는 기능
- Pivoting: 보고서의 행, 열, 페이지 차원을 바꿔서 봄
- Slicing/Dicing: 다양한 각도에서 조회, 비교
OLAP의 종류
- ROLAP: Relational OLAP
- MOLAP: Multi-dimension OLAP, 큐브 캐시라는 주기억장치 속에 데이터 큐브를 보관
※ 데이터 큐브: OLAP에서 사용하기 위한 큐브 형태의 다차원 논리 구조
- OLTP (OL: 온라인, T: 트랜잭션, P: 프로세싱)
- ODBC (O: 오픈, DB: 데이터베이스, C: 커넥티비티)
마이크로 소프트사가 만든 API
출처: 2013 시나공 중 데이터베이스