정보처리산업기사 실기/데이터베이스 23

[정보처리산업기사 실기] 데이터베이스 요약 정리본

[정리] 데이터베이스 개념 - codingman18.tistory.com/5 1.1. 데이터베이스 정의 : 공유하여 사용할 목적으로 통합, 저장, 관리, 운영되는 데이터의 집합. 1) 통합된 데이터(Integrated Data) : 중복을 최소화한 데이터의 집합. 2) 저장된 데이터(Stored Data) : 저장된 데이터의 집합. 3) 공용 데이터(Shared Data) : 공유할수 있도록 만든 데이터의 집합. 4) 운영 데이터(Operational Data) : 중복을 최소화, 관리를 필요로 하는 데이터로 이용가치가 있는 데이터의 집합. 1.2. 데이터베이스 특징 1) 계속적인 변화(진화)(Continuous Evolution) : 항상 최신 정보를 유지할 수 있도록 삽입, 삭제, 갱신이 이루어짐. ..

기타 데이터베이스 용어

개체(Entity)의 종류 1) 독립 개체(Independent Entity) - 데이터베이스 내에서 다른 개체(Entity)에 종속되지 않고, 그 개체(Entity) 내에서 모든 검색과 변경 등이 가능한 개체를 말한다. 2) 종속 개체(Dependent Entity) - 데이터베이스의 그 개체(Entity) 내에서 원하는 검색 등의 연산을 하지 못하고 다른 개체(Entity)를 참조해야 하는 개체를 말하는 것으로, 다른 개체에 종속되는 개체이다. 속성(Attribute)의 종류 1) 단순 속성(Simple Attribute) - 속성의 값을 더 이상 작은 단위로 나눌 수 없는 속성을 말한다. 2) 복합 속성(Composite Attribute) - 속성의 값을 여러 개의 작은 단위로 나눌 수 있는 속성..

보안(Security)

보안(Security) - 데이터의 위험이나 손실, 정보의 유출 등을 차단하기 위해 통제된 접근을 통해 정보를 안정적으로 관리하는 것을 말한다. 정보 보안의 목표 기밀성 (Confidentiality) - 허락되지 않은 사용자나 대상이 정보의 내용을 알 수 없도록 하는 것. - 원하지 않는 정보의 공개를 막는다는 점에서 프라이버시 보호와 밀접한 관계가 있음. 무결성 (Integrity) - 허락되지 않은 사용자나 대상이 정보를 함부로 수정/삭제 등을 변경할수 없도록 하는 것. 가용성 (Availability) - 허락된 사용자나 대상이 정보에 접근하고자 할 때 방해받지 않도록 하는 것. - 정보 보안을 위해 고려해야 할 사항은 허락되지 않은 접근, 수정, 훼손, 노출 등이다. 정보 보안의 방법 물리적인 ..

객체 지향 데이터베이스(OODB)

객체(Object)와 객체 지향 기법의 특징 1) 객체(Object) - 유형이나 무형으로 현실 세계에 존재하는 개체를 추상화한 것으로 서로 구별되는 개념적인 단위를 말한다. - 관계 데이터베이스의 개체(Entity)와 유사하나 개체(Entity)의 개념과 자체적으로 처리 기능을 갖는 연산자까지 포함된 하나의 단위 시스템이다. 복합 객체(Complex Object) - 한 객체가 가지고 있는 속성으로 다른 객체를 이용하기 위한 것으로 관계 데이터베이스의 외래키(Foreign Key)와 유사한 개념이다. 2) 속성(Attribute) - 객체의 특성이나 상태를 나타내며, 관계 데이터베이스의 속성과 유사한 개념이다. 3) 메시지(Message)와 메소드(Method) - 메시지는 객체에 어떤 처리를 하도록 ..

인덱스(INDEX)

인덱스(INDEX) - 수많은 데이터 중에서 원하는 자료를 빠르고 효율적으로 검색하기 위해서 사용하는 방법을 말한다. - 기본적으로 데이터의 위치(주소)를 관리/기억하는 인덱스 파일(Index File)과 실제 데이터를 기억하는 데이터 파일(Data File)로 구성된다. - 데이터를 검색할 때는 먼저 인덱스 파일에서 데이터의 주소를 찾는다. 이어서 데이터 파일에서 인덱스 파일에서 찾은 주소의 데이터를 검색하게 된다. - 인덱스 파일(Index File)은 [키 값, 주소]의 두 가지 정보로 구성된다. 키 값 : 인덱스를 만들 때 사용된 속성의 값. 주소 : 실제로 자료가 저장된 위치. 인덱스 구조 1) B-트리(Balanced Tree) - 검색의 효율을 높이기위해 자료의 구조를 균형 있는 트리 구조로..

회복 기법과 병행 제어

회복 - 여러 가지 요인으로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업을 말한다. - 회복을 위해 로그(Log)를 이용한다. 로그(Log) : 트랜잭션이 수행되어 변경되는 데이터베이스의 상황 정보를 기록하는 것으로, 트랜잭션이 수행되기 이전 값과 수행된 이후 값 모두 기록된다. 이와 같은 정보를 담고 있는 파일을 로그파일(Log File)이라고 한다. 1) 회복 기법 즉시 갱신 기법 - 트랜잭션이 실행(활동) 상태에서 변경되는 내용을 바로 데이터베이스에 적용하는 기법. - 변경되는 모든 내용은 로그(Log)에 기록하여 장애 발생 시 로그(Log)의 내용을 토대로 회복시킴. 지연 갱신 기법 - 트랜잭션이 수행되어 부분 완료가 될 때까지 데이터베이스에 적용하지 않고 지연시킨 ..

트랜잭션(Transaction)

트랜잭션(Transaction) - 데이터베이스 내에서 한꺼번에 모두 수행되어야 할 연산들의 집합으로 하나의 작업 처리를 위한 논리적 작업 단위를 말한다. - 트랜잭션 내의 연산은 한꺼번에 완료되어야 하며 그렇지 못한 경우 모두 취소되어야 한다. 트랜잭션의 성질(=ACID 성질) 원자성(Atomicity) - 트랜잭션의 가장 기본적인 특성으로 트랜잭션 내의 연산은 반드시 모두 수행되어야 하며 그렇지 않은 경우 모두 수행되지 않아야 함. 일관성(Consistency) - 트랜잭션이 정상적으로 완료된 후 언제나 일관성 있는 데이터베이스 상태가 되어야하며, 결과에 모순이 생겨서는 안 됨. 격리성(Isolation) - 독립성이라고도 하며, 하나의 트랜잭션이 수행 중에는 다른 트랜잭션이 접근할 수 없고 각각의 ..

내장 SQL과 커서(Cursor)

내장 SQL(Embedded-SQL) - 삽입 SQL이라고도 하며, 일반 응용 프로그램에 SQL을 삽입하여 데이터베이스 자료를 이용하고 다양한 조작을 할 수 있도록 한 것이다. - 즉, 응용 프로그램이 실행될 때 같이 실행되도록 호스트 프로그램 언어에 삽입된 SQL을 말한다. 호스트 프로그램 언어 : 응용 프로그램을 작성할 때 사용되는 C, C++, Visual Basic 등의 언어를 의미한다. 1) 내장 SQL의 특징 - EXEC SQL문으로 시작하여 세미콜론(;)으로 종료한다. - 호스트 프로그램 실행 시 같이 실행된다. - 일반 SQL문은 실행 후 결과값으로 여러 자료(튜플)을 얻을 수 있지만 내장 SQL은 하나의 자료(튜플)만 얻을 수 있다. - 호스트 언어에 데이터베이스의 자료를 불러와 기억하기..

역정규화

역정규화 - 정규화된 릴레이션은 원래 하나의 릴레이션을 분해하다 보니 원하는 자료가 하나의 릴레이션에 존재하지 않아 외래키를 이용해 자주 참조하는 현상이 발생한다. 따라서 정규화된 릴레이션은 실제로 자료를 검색하는 과정에서 성능 저하를 가져올 수 있다. - 역정규화는 정규화된 릴레이션을 물리적 데이터 모델링 과정에서 성능을 향상시키기 위해 중복을 허용하더라도 다시 통합하거나 분할하여 구조를 재조정하는 것을 말한다. ex) 수강(학번, 전공, 담당교수) 학생(학번, 전공), 교수(전공, 담당교수) 역정규화의 종류 1) 릴레이션 역정규화 - 두 릴레이션을 합하거나 하나의 릴레이션을 분할하는 방법이 있다. 1.1) 릴레이션 병합 - 두 릴레이션 간의 잦은 데이터 참조로 성능이 저하되는 문제점을 해결하기 위해 ..

정규화(Normalization)

정규화(Normalization) - 논리적 설계 단계에서 발생할 수 있는 종속으로 인한 이상(Anomaly) 현상의 문제점을 해결하기 위해, 속성들 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해하는 과정. - 종류 : 제1정규형, 제2정규형, 제3정규형, BCNF, 제4정규형, 제5정규형 정규형의 종류 1) 제1정규형(1NF : First Normal Form) - 한 릴레이션을 구성하는 모든 도메인이 원자값(Atomic Value)만으로 구성되도록 하는 정규형을 말한다. ex) - 데이터베이스에서는 검색, 삽입, 삭제 등 여러 가지 작업이 튜플 단위로 이루어지기 때문에 '박순신' 회원과 '김길동' 회원과 같이 튜플을 하나로 합쳐서 표현하면 원할하게 수행되지 못한다. 회원 테이블 회원번호 성명..