본문 바로가기

Tech Stack/정보처리기사

정보처리기사 필기 데이터베이스 정리

3-5

 

02

데이터 정의어 DDL

CREAT, ALTER, DROP, TRUNCATE (크알드트)

 

데이터 조작어 DML

SELECT, INSERT, UPDATE, DELETE (셀인업드)

 

데이터 제어어 DCL

GRANT, REVOKE (그리)

 

06

NULL이 아닌 경우의 SQL

IS NOT NULL, 

NULL인 경우

NOT NULL

 

3-15

02

DSTINCT중복제거

 

SELECT절에 DISTINCT

 

08

UPDATE ~ SET

DELETE ~ FROM

INSERT INTO ~ VALUES

 

15

데이터 제어언어 DCL

보무병회

데이터 보안 / 무결성 유지 / 병행수행 제어 / 회복

 

18

GRANT UPDATE ON STUDENT TO PARK;

 

 

OLAP

Roll-UP, Drill-Down, Slicing, Dicing, Pivot-ing

 

DESC 내림차순

ASC 오름차순

 

3-33

01

하나의 에트리뷰트가 가질 수 있는 원자값들의 집합

도메인

 

도메인 = 하나의 속성이 가질 수 있는 원자값들의 집합, 속성의 데이터 타입과 크기, 제약조건 등의 정보

스키마 = 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조

테이블 = 데이터를 저장하는 항목인 필드들로 구성된 데이터의 집합체

뷰 = 하나 이상의 물리 테이블에서 유도되는 가상의 테이블

인덱스 = 검색을 빠르게 하기 위한 데이터 구조

 

04

외부 스키마 = 사용자나 개발자의 관점에서 필요로 하는 데이터베이스의 논리적 구조, 사용자 뷰를 나타냄, 서브 스키마로 불림

개념 스키마 = 데이터베이스의 전체적인 논리적 구조, 전체적인 뷰 , 개체간의 관계, 제약조건, 접근권환, 무결성, 보안에 대해 정의

내부 스키마 = 물리적 저장장치의 관점에서 보는 데이터베이스 구조, 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터  항목의 표현 방법, 내부 레코드의 물리적 순서 등을 표현

 

06 데이터베이스의 상태를 변환시키기 위하여 논리적 기능을 수행하는 하나의 작업단위

= 트랜잭션

 

07 테이블과 클러스터에 연관되어 독립적인 저장공간을 보유하며, 데이터베이스에 저장된 자료를 더욱 빠르게 조회

인덱스

 

역정규화 = 빈 정규화는 정규화된 엔티티, 속성 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합 분리 등을 수행하는 데이터 모델링 기법

비정규화, 역정규화라고도 함

트리거 = 트리거는 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL

 

CASCADE 참조하는 테이블까지 연쇄적으로 제거

RESTRICT 다른 테이블이 삭제할 테이블 참조중이면 제거 안 함

 

13.

원자성 = 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 모두 취소되어야 하는 상황

일관성 = 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질

격리성=고립성 = 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질

영속성 = 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질

 

16. 트랜잭션의 특징

ACID

Atomicity / Consistency / Isolation / Durability

 

21. 로킹

데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있음

로킹 단위가 작아지면 오버헤드 증가, 데이터베이스 공유도 증가

한꺼번에 로킹할 수 있는 객체의 크기를 로킹 단위라고 함.

 

로킹 단위가 크면 병행성 수준이 낮아진다

 

24. 병행제어 기업

로 낙타다

로킹 / 낙관적 검증 / 타임스태프 순서 / 다중버전 동시성

 

3-54

 

01 뷰

논리적으로 구현되는 테이블

 

장점 = 논리적 독립성, 데이터 접근제어로 보안기능 제공, 사용자의 데이터 관리를 간단하게 함, 하나의 테이블로 여러개의 상이한 뷰를 정의 가능

단점 = 독자적인 인덱스를 가질 수 없음, 정의를 변경할 수 없음, 삽입, 삭제, 갱신 연산에 많은 제약이 따름

 

3-64

 

01 에트리뷰트의 수를 차수(Degree), 튜플의 수를 카디널리티(Cardinality)

 

차수 열 카디널리티 행

 

릴레이션에 튜플 사이에는 순서가 없다.

 

for all: 모든것에 대하여

A를 거꾸로

 

 

11. 

일반집합연산자

합교차카

합집합 . 교집합 . 차집합 , 카디션프로덕트

 

순수 관계 연산자

셀프조디

셀렉트 프로젝트 조인 디비전

 

 

카디션 프로덕트에서 차수는 합이되고, 카디널리티는 곱이 된다.

 

 

21 관계 대수와 관계 해석

대절해비

관계 대수는 절차적 언어 / 관계 해석은 비절차적 언어

 

관계 해석에서 수학의 프레디킷 해석에 기반을 두고있음

 

 

3-85

데이터 모델에 표시해야하는 요소

구연제

구조/연산/제약조건

 

트랜잭션에 대한 모델링은 개념적 모델링 단계에서 수행

 

03 레코드 집중의 분석 및 설계는 물리적 설계단계

 

04 목표 DBMS에 맞는 스키마 설계는 논리적 설계단계

 

 

요구조건 분석 = 도출된 요구사항 간 상충을 해결하고 범위를 파악하여 외부 환경과의 상호작용을 분석을 통해 데이터에 대한 요구사항 분석

개념적 설계 = 트랜잭션 모델링, Biew 통합방법 및 Attribute 합성 고려, 개념적 데이터 모델은 DB종류와 관계가 없음

논리적 설계 = 트랜잭션 인터페이스 설계, 관계형 데이터베이스에서는 테이블을 설계, DBMS에 맞는 논리적 스키마를 설계, 논리적 데이터베이스 구조로 매핑, 스키마의 평가 및 정제

물리적 설계 = 저장 레코드 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계

 

08 네트워크형 데이터

논리적 구조가 그래프 형태로 구성

CODASYL DBTG 모델

 

er다이어그램

개체 - 사각형

속성 - 타원

연결 -선

관계 - 마름모

 

불필요한 중복 예방

anomaly

 

이상현상 = 삽삭갱

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

 

3-88

17

데이터베이스 정규화 단계

원부이결다조

원자화 / 부분함수 종속 제거 / 이행 함수 종속 제거 / 결정자 함수 종속 제거 / 다치 종속성 제거 / 조인 종속성 제거

 

이행규칙

 

결정자 함수 종속 제거

보이스코드 정규형

 

34

구조 = 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입간의 관계

연산 = 데이터베이스에 저장된 실제 데이터를 처리하는 작업

제약조건 = 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

 

이행함수 종속제거

A -> B B ->C = A-> C

 

3-102

 

04

분산 데이터베이스 투명성

위 복병 분장

 

파티션 유형

레해리컴라

Range Partitioning / Hash Partitioning / List Partitioning / Composite Partitioning / Round-Robin

 

개참속사키

개체 무결성, 참조 무결성, 속성 무결성, 사용자 무결성, 키 무결성

 

키는 유일성과 최소성을 만족해야 한다.

 

후보키 = 테이블에서 각 튜플들을 구별하는 데 기준이 되는 컬럼

외래키 = 테이블 간의 참조 데이터 무결성을 위한 제약조건, 한 릴레이션의 컬럼이 다른 릴레이션의 기본 키로 이용되는 키

 

기본키를 참조하는 키 = 외래 키

 

슈퍼키 = 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못하는 키

 

유일성과 최소성을 만족하는 속성 또는 속성들의 집합

= Candidate key

 

반정규화

집계 테이블 추가, 진행 테이블  추가, 특정 부분만 추가

 

정규화는 데이터베이스의 구조를 최적화하기 위해 사용되는 과정입니다. 정규화는 데이터를 효율적이고 일관성있게 저장하기 위해 데이터를 여러 개의 테이블로 분할하는 작업입니다. 이를 통해 중복 데이터를 제거하고 데이터의 일관성과 무결성을 유지할 수 있습니다. 정규화는 보통 1차 정규화, 2차 정규화, 3차 정규화 등의 단계로 나누어 진행됩니다.

한편, 반정규화는 정규화된 데이터베이스 구조를 성능 향상을 위해 다시 조정하는 과정입니다. 반정규화는 데이터베이스의 읽기 성능을 향상시키거나 복잡한 조인 연산을 줄이는 등의 목적으로 사용됩니다. 이를 위해 중복 데이터를 허용하거나 관계를 강조하는 등의 작업을 수행합니다. 반정규화는 주로 대량의 데이터를 처리하는 OLAP(Online Analytical Processing) 시스템이나 성능이 중요한 응용 프로그램에서 사용될 수 있습니다.

요약하자면, 정규화는 데이터의 일관성과 무결성을 유지하기 위해 데이터를 분할하는 작업이며, 반정규화는 성능 향상을 위해 데이터의 구조를 다시 조정하는 작업입니다. 어떤 방법을 선택할지는 데이터베이스의 목적과 요구사항에 따라 결정되어야 합니다.