본문 바로가기
공부/정보처리기사

2023 정보처리기사 - 데이터베이스 구축(3과목)

by Wanado 2023. 2. 6.
728x90

1.소프트웨어 설계 https://bit-b-bit.tistory.com/231
2. 소프트웨어 개발 https://bit-b-bit.tistory.com/221
4. 프로그래밍 언어 활용 https://bit-b-bit.tistory.com/218
5. 정보시스템 구축 https://bit-b-bit.tistory.com/217

 

***영어단어도 같이 정리

 

<함수적종속>

https://kyungi.tistory.com/71

https://nasunsaeng.tistory.com/39

 

<파일구조>

파일구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식으로 접근 방식에 따라 방식이 달라진다. 접근 방법중, 레코드들을 키-값 순으로 정렬하여 기록하고, 레코드의 키 항목만을 모은 (  )을 구성하여 편성하는 방식이 있으며, 레코드를 참조할 때는 (   ) 이 가르키는 주소를 사용하여 직접 참조할 수 있다. 파일 구조에는 순차 접근, (인덱스 ) 접근,  해싱 접근이 있다.

 

<데이터베이스보안>https://lipcoder.tistory.com/350

 

 

<데이터모델>

개체 데이터 모델에서는 ( 연산  ) 을/를 이용하여 실제 데이터를 처리하는 작업에 대한 명세를 나타내는데
논리 데이터 모델에서는 (  구조 ) 을/를 어떻게 나타낼 것인지 표현한다. 
(  제약조건 ) 은/는 데이터 무결성 유지를 위한 데이터베이스의 보편적 방법으로 릴레이션의
특정 칼럼에 설정하는 제약을 의미하며, 개체무결성과 참조 무결성 등이 있다.

 

<DDL,DCL,DML 예시>

https://bruders.tistory.com/7

 

 

 

 

<스키마>https://coding-factory.tistory.com/216

 스키마란? 

1. 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다.

2. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.

3. 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다.

 

 

스키마의 특징

1. 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고도 한다.

2. 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다.

3. 스키마는 시간에 따라 불변인 특성을 갖는다.

4. 스키마는 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다.

 

 

 스키마의 3계층 

데이터베이스 관리 시스템은 외부적 스키마에 따라 명시된 사용자의 요구를 개념적 스키마에 적합한 형태로 변경하고 이를 다시 내부적 스키마에 적합한 형태로 변환한다.

 

외부 스키마(External Schema) = 사용자 뷰(View)

1. 외부스키마는 사용자나 응용프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것이다.

2. 외부스키마는 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마(Sub Schema)라고도 한다.

3. 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있으며 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수도 있다.

4. 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.

5. 일반 사용자는 질의어(SQL)을 이용하여 DB를 쉽게 사용할 수 있다.

6. 응용 프로그래머는 C, JAVA등의 언어를 사용하여 DB에 접근한다.

 

개념 스키마(Conceptual Schema) = 전체적인 뷰(View)

1. 개념 스키마는 데이터베이스의 전체적인 논리적 구조로서, 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.

2. 개념스키마는 개체간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.

3. 데이터베이스 파일에 저장되는 데이터의 형태를 나타내는 것으로, 단순히 스키마(Schema)라고 하면 개념 스키마를 의미한다.

4. 기관이나 조직체의 관점에서 데이터베이스를 정의한것이다.

5. 데이터베이스 관리자(DBA)에 의해서 구성된다.

 

내부 스키마(Internal Schema) = 저장 스키마(Storage Schema)

1. 내부 스키마는 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 물리적인 저장장치와 밀접한 계층이다.

2. 내부스키마는 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.

3. 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

<반정규화>

시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위

 

<DB관련 신기술>  

브로드데이터

메타 데이터

디지털 아카이빙

하둡

맵리듀스

타조

데이터 웨어하우스

데이터 다이어트

데이터 마이닝

OLAP

 

<DCL 용어정리>

COMMIT 명령에 의해 수행된 결과를 실제 물리적 디스크에 저장, 완료됨을 관리자에게 알림
ROLLBACK 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구
GRANT  데이터베이스 사용자에게 사용 권한을 부여
REVOKE 데이터베이스 사용자의 사용 권한을 취소

릴레이션 이상 Anomaly : 릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상

삽입이상 -

삭제이상

갱신이상 - 일부만 변경

 

<정규화>https://youtu.be/_H9vgFN42kw

테이블의 속성들이 상호종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정

도메인이 원자값

부분적 함수 종속제거

이행적 함수 종속제거

결정자이면서 후보키가 아닌 것 제거 :후보키가 여러개 존재    (BCNF)

다치 종속 제거 (MVD) 

조인 종속 제거

 

 *** 중요

관계형 데이터베이스 

https://whitehats.tistory.com/30

https://youtu.be/6i9sEwFX0ZE

<관계대수> : 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적 언어

연산자와 연산규칙을 제공하며 , 피연산자와 연산결과가 모두 릴레이션 

순서를 명시 

-순수관계연산자 :  select(시그마) , project(수직연산,중복제거됨) , join(공통속성 중심으로, cartesian product + select, 리본) ,

division(디비전 ÷)

 SHAPE  \* MERGEFORMAT

 

-일반집합연산자(수학적 집합 이론에서 사용)

 합집합(UNION) 중복제거

 교집합(INTERSECTION)

 차집합(DIFFERENCE) 

 교차곱 (CARTESIAN PRODUCT) 튜플들의 순서쌍을 구함

 

<관계해석>

관계데이터의 연산을 표현하는 방법원하는정보가 무엇이라는것만 정의비절차적 특성

 

<회복기법>

취소(undo) : log에 보관한 정보 이용. 처음부터 다시.

                    로그를 이용하여 오류와 관련된 내용을 취소하여 복구한다.

재시도(redo) : 덤프와 log 이용해 최근 정상적인 데이터베이스로 회복 재실행

                        오류가 발생하기 전까지의 사항을 로그(log)로 기록해 놓고, 이전 상태로 되돌아간 후 실패가 발생하기 

                        전까지의 과정을 재실행한다.

 

즉각갱신 기법 log 반영 log 반영 (undo,redo)

연기갱신 기법 log log log commit 반영 (redo)

그림자페이지 대체기법(로그,undo,redo 필요없음)

검사점기법 특정단계에서 재실행할 수 있도록 , 장애발생시 검사점부터 회복작업

 

<분산데이터베이스>

위치투명성

중복(Replication)

병행: 다수의 트랜잭션들이 동시에 실현되도 결과는 영향 받지 않음

장애: 장애에도 불구하고 트랜잭션을 정확하게 처리함.

분할: 하나의 논리적 relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 사이트에 저장

지역사상: 지역DBMS와 물리적 DB사이의 매핑 보장

 

-설계방법

테이블 위치분산 - 테이블을 각기 다른 서버에 분산배치

분할- 데이터 분할,분할규칙(완전성,재구성,상호중첩배제

할당- 여러개 서버에 생성, 중복이없는할당과 중복이 있는 할당으로 나뉨

 

<>

자체적으로 인덱스 가지지 않음.

삽입,삭제,수정이 제한적

 

<병행제어>: 다중 프로그램의 이점을 활용하여 트랜잭션 간의 상호작용을 제어

-로킹 : 데이터 액세서 상호배타적으로 (어떤 로킹 단위를 액세스하기전 잠금요청)

-타임스탬프순서(Time Stamp Ordering): 처리순서 미리선택, 시간표 부여,교착상태 발생하지 않음.

-최적 병행수행(검증기법,확인기법,낙관적기법): Read Only트랜잭션일 경우 충돌률이 매우낮아 병행제어 기법을 사용하                                                                                  지 않고 일관성있게 유지.

-다중 버전 기법: 다중 버전 타임스탬프기법, 갱신될때마다 버전을 부여하여 관리.

 

1. 병행제어 기법 로킹(Locking)

- 데이터베이스 병행 제어를 위해 트랜잭션(transaction)이 접근하고자 하는 데이터를 잠가(lock) 다른 트랜잭션이 접근하지 못하도록 하는 병행 제어 기법이다.

- 트랜잭션이 어떤 데이터에 접근하고자 할 때 로킹을 수행

- 로킹이 되어 있는 데이터에는 다른 트랜잭션이 접근할 수 없음

- 트랜잭션은 로킹이 된 데이터에 대해서만 연산을 수행

- 로킹 단위: 필드, 레코드, 테이블, 파일, 데이터베이스 모두 로킹 단위가 될 수 있다.

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

 

로킹 단위
로크의 수 병행 제어 로킹 오버헤드 병행성 수준 데이터베이스 공유도
커짐 적어짐 단순해짐 감소 낮아짐 감소
작아짐 커짐 복잡해짐 증가 높아짐 증가

 

 

<트랜잭션>

원자성 : 모아니면 도

일관성 : 언제나 그대로

독립성 

지속성 : 성공적인 결과는 영구적 반영

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=gkenq&logNo=220717351228 

 

제05절 관계데이터모델

  [YouTube 동영상보기] 관계데이터모델   제1항 관계데이터모델 (1) 정의 1) 열과(column)과...

blog.naver.com

<데이터베이스의 무결성 규정>

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=k97b1114&logNo=140154979592 

 

<SQL문>

UNIQUE 인덱스 생성

CREATE UNIQUE INDEX 인덱스이름

ON 테이블이름 (필드이름1, 필드이름2, ...)
(   물리적설계   )은/는 특정 DBMS의 특성 및 성능을 고려하여 데이터베이스 저장 구조로 변환하는 과정으로 결과로 나오는 명세서는 테이블 정의서 등이 있다.

(   개념적설계   )은/는 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 과정으로 주요 산출물에는 E-R 다이어그램이 있다.

(   논리적 설계   )은/는 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스를 설계하는 정규화 과정을 수행한다.

구현

요구사항분석
728x90