[필기]1과목 데이터베이스

자료 : 현실 세계로부터 단순한 관찰이나 측정을 통해 수집된, 가공(처리)되지 않은 값이나 사실

정보 : 자료를 처리해서 의사결정에 필요한 형태로 가공한 결과물로서 사용자가 목적하는 값

 

데이터베이스의 정의

 통합된 데이터

 저장된 데이터

 운영 데이터

 공용 데이터

 

  데이터베이스의 특성

 실시간 접근성

 내용에 의한 참조

 동시 공유  계속적 변화

 

DBMS의 필수 기능

 정의 기능

 조작 기능

 제어 기능  

 

스키마  

 외부 스키마 : 사용자 접근 측면 기술(전체 중 일부 기술)

 내부 스키마 : 물리적 저장 기술

 개념 스키마 : 논리적인 측면(DB전체 기술)

 

사용자

 단말 사용자 : 정의어나 응용 프로그램을 사용하여 데이터베이스 접근

 응용 프로그래머 : 응용 프로그램을 작성하여 데이터에 접근, 사용자 인터페이스 제공

 DBA : 데이터베이스의 생성과 모든 관리 운영에 대한 책임과 권한을 가짐

 

데이터모델의 구성 요소

 데이터 구조

 연산

 제약조건

 

E-R 다이어그램 구성 요소

기호
기호 이름
의미
사각형
개체
타원
속성/(밑줄 시 기본키)
마름모
관계
□-◇-□
관계
1:1, 1:n, n:m 등의 관계 유형

개념적 설계 모델 : 개체-관계(E-R)모델

논리적 설계 모델

관계 데이터 모델 : Table로 표현

계층 데이터 모델 : Tree로 표현

망 데이터 모델 : Graph로 표현

 

데이터베이스의 설계 순거

요구조건 분석 - 개념적 설계 - 논리적 설계 - 물리적 설계 - 데이터베이스 구현

 

관계 데이터 모델의 용어

릴레이션(Relation)
2차원 구조의 테이블
릴레이션 스키마와 릴레이션 인스턴스로 구성됨
속성(Attribute)
개체가 가지는 성질을 나타내며, 테이블의 각 열(Column)을 의미함
릴레이션 내에서 유일한 이름을 가지며 속성들 간에는 순서가 없음
속성값은 논리적으로 더 이상 분해할 수 없는 원자값이어야 함
도메인(Domain)
하나의 속성이 취할 수 있는 범위
튜플(Tuple)
테이블의 각 행(Row)을 의미함
중복된 튜플이 존재하지 않으며, 튜플 간의 순서는 없음
차수(Degree)
한 릴레이션에서 속성의 수
카디널리티(Cardinality)
한 릴레이션에서 튜플의 수

무결성

개체 무결설 : 한 릴레이션의 기본키를 구성하는 어떠한 속성값도 널 값이나 중복값을 가질 수 없음

참조 무결성 : 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없음

영역 무결성 : 속성값들은 정해진 범위 내에 있어야 함

 

널값

아직 알려지지 않은 값 또는 모르는 값

'해당 없음'의 이유로 정보 부재(Missing)를 나타내기 위해 사용하는 특수 데이터

 

관계 대수

구분
기호
 
일반
집합
연산자
합집합(Union)
두 릴레이션의 튜플의 합집합을 구함
교집합(Intersection)
두 릴레이션에서 중복되는 튜플을 선택함
차집합(Difference)
-
두 릴레이션에서 중복되는 튜플을 제거함
교차곱(Cartesian Product)
×
두 릴레이션에 정의된 튜플을 곱으로 계산함
순수
(특별)
관계
연산자
셀렉트(Select)
σ
선택 조건에 맞는 튜플을 수평적 부분 집합
프로젝트(Prosect)
П
선택 조건에 맞는 튜플을 수직적 부분 집합
조인(Join)
▷◁
두 개 이상의 릴레이션에서 튜플이나 애트리뷰트를
조합한 새로운 릴레이션을 생성함
디비전(Dicision)
÷
두 릴레이션 A, B에서 B릴레이션의 모든 조건을 만족하는
튜플들을 릴레이션 A에서 분리해 내어 프로젝션 함

 

관계 해석

 질의어 형태로 원하는 릴레이션을 정의하는 방법을 제공하며, 수학의 Predicate Calculus에 기반을 둠
 원하는 정보가 무엇이라는 것만 정의하는 비절차적 언어의 특성을 지님

 

SQL 
 데이터 정의어(DDL) : CREATE, ALTER, DROP 
 데이터 조작어(DML) : SELECT, INSERT, DELETE, UPDATE 
 데이터 제어어(DCL) : GRANT, REVOKE

 

뷰(view)의 특징 
사용자에게 접근이 허용된 자료만 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블 
뷰에 대한 검색은 기본 테이블과 동일하며, 뷰를 이용한 또 다른 뷰의 생성이 가능함 
뷰는 한 번 정의되면 변경할 수 없으므로, 정의를 변경하려면 삭제하고 다시 만들어야 함

 

시스템 카탈로그
 시스템이 필요로 하는 모든 객체에 대한 정보를 가지고 있는 시스템 데이터베이스로 사용자 데이터베이스와 구별됨
 데이터 사전(Data Dictionary)이라고도 하며, 카탈로그에 저장된 데이터를 메타 데이터(Meta Data)라 라고 함
 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 사용자도 SQL을 이용하여 검색해 볼 수 있음
 카탈로그의 정보를 INSERT, DELETE, UPDATE 문으로 카탈로그를 직접 갱신하는 것은 불가능함
 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 DBMS가 자동으로 카탈로그를 갱신함

 

삽입 이상 : 데이터 삽입 시 불필요한 데이터까지 함께 삽입되는 현상
삭제 이상 : 한 튜플을 삭제함으로써 일어나는 연쇄 삭제 현상
갱신 이상 : 튜플의 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상

정규화 과정

비정규 (Relation)
↓ 도메인이 원자값
제 1 정규형
↓ 부분 함수 종속 제거
제 2 정규형
↓ 이행적 함수 종속 제거
제 3 정규형
↓ 결정자이면서 후보키가 아닌 것 제거
BCNF
↓ 다치 종속 제거
제 4 정규형
↓ 조인 종속성 이용
제 5 정규형

 

트랜잭션의 특성(ACID)

원자성(Atomicity) : 트랜잭션은 완벽하게 수행되거나 전혀 수행되지 않아야 함

일관성(Consistency) : 트랜잭션 수행 전과 트랜잭션 수행 환료 후가 같아야함

격리성(Isolation, 독립성) : 트랜잭션이 실행될 때마다 다른 트랜잭션의 간섭을 받지 않아야함

영속성(Durability) : 트랜잭션이 일단 그 실행을 성공적으로 완료하면 그 결과는 영속적이어야함

 

트랜잭션 연산 : Commit(완료), Rollback(복귀)

 

로킹 단위 로크(lock)의 수 관리(병행제어 기법) 병행성 수준
작을수록 많아짐 복잡해짐 높아짐
클수록 적어짐 쉬워짐 낮아짐

 

분산 데이터베이스의 장,단점

장점 분산 데이터의 효과적 처리와 데이터의 공유성 향상
신롸성, 융통성, 효율성, 가용성, 확장성 증가
지역 특성에 맞는 H/W, S/W를 구축
단점 구현이 복잡하며, 소프트웨어 개발 비용과 처리비용의 증가
잠재적 오류가 증가함
보안을 위한 추가 기술이 필요

 

자료구조

선형 구조 : 리스트(List), 스택(Stack), 큐(Queue), 데크(Deque)

비선형 구조 : 트리(Tree), 그래프(Graph)

 

이진 트리의 운행법

전위(Preorder) 운행법 : Root → Left → Right

중위(Inorder) 운행법 : Left→Root→Right

후위(Postorder)운행법 : Left→Right→Root

 

산술식 표기법

중위식(Infix) 표기법 : 피연산자 → 연산자 → 피연산자

전위식(Prefix) 표기법 : 연산자 → 피연산자 → 피연산자

후위식(Postfix) 표기법 : 피연산자 → 피연산자 → 연산자

 

해싱(Hashing)

해시 테이블(Hash Table)이라는 기억공간을 할당하고, 해시 함수(Hash Function)를 이용하여

레코드키에 대한 해시 테이블 내의 홈 주소(Home Addres)를 계산한 후, 주어진 레코드를

해당 기억장소에 저장하거나 검색 작업을 수행하는 방식.

키 값으로부터 레코드가 저장되어 있는 주소를 직접 계산하여, 산출된 주소로 바로 접근하는

방법이며, 키ㅡ주소 변환 방법이라고도 함.

검색 방법 중 속도가 가장 빠르지만, 기억공간이 많이 요구됨

종류 : 제산 방법, 중간 제곱 방법, 중첩 방법, 기수 변환 방법, 무작위 방법, 계수 분석 방법

 

파일 조직 기법

순차 파일 : 입력되는 데이터의 논리적인 순서에 따라 물리적으로 연속된 위치에 기록하는

                   방식으로, 처리속도가 빠르고, 저장 매체의 공간 효율이 좋지만 검색 시 불편함

색인 순차 파일 : 키 값에 따라 순차적으로 정렬되는 파일로서, 기본 영역, 색인 영역(트랙/실린더/마스터),

                           오버플로우 영역으로 구성됨

VSAM 파일 : Virtual Storage Access Method File

                      동적 인덱스 방법을 이용한 색인 순차 파일로서, 기본 데이터 영역과 오버플로우 영역을 구분하지 않음.

직접 파일 : 특정 레코드에 접근하기 위해서 디스크의 물리적 주소로 변환할 수 있는 함수인 해싱 함수를 사용하며,

                   시간이 빠르고, 랜덤 처리에 적합하나 메모리 효율이 떨어짐.