SEARCH/생활정보

[정보처리기사] 필기 데이터베이스 요약

도미노@ 2015. 12. 14. 22:32



※ 제가 필요한 부분을

제 방식으로 정리한 것입니다.


없는 내용이 있을 수 있으니

참고만 해 주세요. ※





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 시나공 중 데이터베이스