정보처리기사_3과목_데이터베이스구축(0)

2021. 4. 15. 13:56공부/정보처리기사

728x90
반응형
데이터베이스 개요 - 운영 통합 공용 저장데이터
1. 정보처리 시스템
데이터, 정보, 정보시스템

2. 데이터베이스 개념
정의 - 어느 한 조직에서 다수의 응용시스템들이 공용으로 사용하기 위해 통합, 저장된 운영 데이터의 집합
특징 - 실시간 접근가능, 계속적인변화, 동시공유, 내용의 의한 참조
논리적구성 - 개체(entity) : 표현하려는 무형, 유형의 정보를 대상으로 존재하면서 서로 구별되는것
                  속성(attribute) : 개체의 특성이나 상태를 기술 ( 단독으로 존재하기 어렵다)
                  관계(relationship) : 개체간 또는 속성간의 상호작용
구조 - 논리적구조 : 사용자관점에서 본 구조
          물리적 구조 : 저장장치 관점에서 본 구조

3. 데이터베이스 관리 시스템 (DBMS : Database Management System)
종래의 자료처리 시스템의 문제점 - 데이터 종속성, 데이터 중복성
정의 - 물리적으로 저장된 데이터를 관리하고 접근하도록 지원하는 소프트웨어
필수기능 - 정의 기능 (DDL) : 데이터의 형태, 구조, 데이터베이스의 저장에 관한 내용 정의
               조작 기능 (DML) : 사용자의 요구에 따라 검색, 갱신, 삽입, 삭제 등을 지원하는 기능
               제어 기능 (DCL) : 정확성과 안전성을 유지하는 기능(무결성 유지, 보안검사, 병해수행 제어)

장단점 - 장점 : 데이터 중복의 최소화, 데이터 공유, 일관성 유지, 무결성 유지, 데이터 보안 보장, 표준화기능, 지속성 제공, 백업과 회복 제공
            단점 : 많은 운영비, 자료처리의 복잡, backup, recovery어려움, 시스템의 취약성

4. 데이터베이스 시스템의 구성
3단계 데이테베이스(스키마) - 스키마란 데이터베이스의 구조(개체, 속성, 관계)에 대한 정의와 이에 대한 제약 조건 등을 기술한 것으로 컴파일되어 데이터 사전에 저장한다.

외부스키마 - 가장 바깥쪽 스키마로, 전체 데이터 중 사용자가 사용하는 한 부분에서 본 구조
개념스키마 - 논리적 관점에서 본 구조로 전체적인 데이터 구조 범 기관적 입장에서 데이터베이스를 정의(기관전체의 견해) 모든 데이터 개체, 관계, 제약조건, 접근권한, 무결성 규칙, 보안정책등을 명시
내부스키마 - 물리적 저장장치관점에서 본 구조 실제로 저장되는 내부 레코드 형식, 저장데이터 항목 표현 방법, 인덱스 유무, 내부 레코드의 물리적 순서를 나타냄

데이터 언어
정의어 : 데이터 베이스의 정의 및 수정 등에 사용 구조,DDL
조작어 : 데이터 베이스 내에서 검색, 삽입, 수정, 삭제 등에 사용되는 언어 데이터 조작, DML
제어어 : 데이터를 보호하기 위해 데이터의 보안, 무결성, 회복, 병행 수행 등에 사용되는 언어 DCL 무,보,병

데이터베이스 관리자 DBA - DBMS의 전체적인 관리 운영에 책임을 지는 사람

데이터사전(Data Dicitionary)과 데이터 디렉토리(Data Diretory)
데이터 사전은 데이터베이스 관리자(DBA)의 도구로서 시스템 내의 모든 개체들에 대한 정의나 명세에 관한 정보를 수록하여 시스템 카탈로그라고도 한다.

데이터 모델링
1. 데이터 모델의 개념
 - 현실 세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 기술하는 놀리적 구조
 - 세계를 데이터베이스에 표현하는 중간과정
 - 나 컴퓨터에 맞게 데이터의 크기 및 유형을 결정하고, 레코드 타입을 결정
 - 데이터 모델 : 1. 데이터 구조(Structure)= 정적성질(추상적 개념)로서 개체 타입과 이들간의 관계를 명세
                     2. 연산(Operation)= 동적성질로서 개체 인스턴스에 적용가능한 연산에 대한 명세
                     3 . 제약조건(constraint)= 데이터에 대한 논리적 제약으로 개체 인스턴스의 허용 조건을 의미 하며 이는 구조로부터 파생되는 의미상 제약

2. 논리적 데이터 모델 
- 관계 데이터 모델 : 표데이터 모델이라고도 하며, 구조가 단순하며 사용이 편리하고, n : m 표현이 가능하다
- 네트워크 데이터 모델 : 망 데이터 모델이라고도 하며, 레코드 타입간의 관계에 대한 도형적 표현(그래프 형태) 방법이다.
- 계층 데이터 모델 : 트리 데이터 모델이라고도 하며, 부모-자식 관계 즉 1 : n 으로 이루어져 있다.
DBMS 종류
관계형 DBMS : DB2, Ingres, Informix, SQL Server, Oracle Sybase, SQL/DS
계층형 DBMS : IMS(IBM), System 2000
네트워크형 DBMS : DBTG(CODASYSL), IDMS, IDSⅱ, Total, DMS/1100
객체지향형 DBMS : GemStone, Versant ODBMS, O2
    
3. 개체와 관계
개체 - 단독으로 존재하며 다른것과 구분되는 객체, 애트리뷰트들의 집합을 가짐
관계 - 개치 집합의 구성원소인 인스턴스 사이의 대응성 즉 사상(mapping)을 의미

4. 개체 관계 모델(E-R, Entity-Relationship Model)
개체-관계 모델
현실세계의 개념적 표현으로서 개체 타입과 관계 타입을 기본 개념으로 현실 세계를 개념적으로 표현하는 방법

E-R 다이어그램 표기법 (E-R모델의 그래픽 표현 방법)

다이어 그램의 예

5. 속성 유형
단순속성(simple attribute)과 복합속성(composite attribute)
단일값(single-valued) 속성과 다중값(multi-valued)속성
저장(stored)속성과 유도(derived)속성
널애트리뷰트 - 널은 '허용할수 없음', '해당사항 없음' 이라는 의미(공백, 0과 다름)

관계 데이터 모델
1. 관계 데이터 모델의 구조 및 제약
관계 데이터 구조
릴레이션 : 정보저장의 기본 형태가 2차원 구조의 테이블
attribute(속성) : 테이블의 각 열을 의미
도메인 : 어트리뷰트가 취할 수 있는 값들의 집합
튜플(tupple) : 테이블이 한 행을 구성하는 속성들의 집합
차수(Degree) : Attribute의 개수
기수(Cardinality) : Tuple의 개수

릴레이션 특성
- 릴레이션의 튜플들은 모드 상이하다
- 릴레이션에서 어트리뷰트 들 간의 순서는 의미가 없다
- 한 릴레이션에서 포함된 튜플 사이에서는 순서가 없다
- 어트리뷰터는 원자값으로서 분해가 어렵다

키의 종류
후보키 : 속성 집합으로 구성된 테이블의 각 튜플을 유일하게 식별 항수 있는 속성이나 속성의 조합들
기본키 : 개체 식별자
대체키 : 기본키를 제외한 후보키들
외래키 : 다른 테이블을 참조하는데 사용되는 속성 (두개의 릴레이션 R1, R2에서 R1에 속한 애트리뷰트인 외래키가 참조 릴레이션 R2의 기본키가 됨)
슈퍼키(super key) : 유일성은 갖지만 최소성을 만족시키지 못하는 애트리뷰트 집합 테이블을 구성하는 속성의 집합으로, 해당 집합에서 같은 튜플이 발생하지 않는 키

데이터 무결성 제약조건
-데이터의 정확성 또는 유효성을 의미
-무결성이란 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미한다.
-데이터베이스 내에 저장되는 데이터 값들이 항상 일관성을 가지고 유효한 데이터가 존재하도록 하는 제약조건들을 두어 안정적이여 결힘이 없이 존재시키는 데이터베이스의 특징
  개체 무결성 : 기본 릴레이션의 기본키를 구성하는 어떤 속성도 NULL일 수 없고, 반복입력을 허용하지 않는다는규정
  참조 무결성 : 외래키 값은 참조 릴레이션에 있는 기본키와 같아야 한다는 규정
  영역(Domain) 무결성 : 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이여야 한다는 규정
  키 무결성(key integrity) : 한 릴레이션에 같은 key값을 가진 tuple들이 허용 안되는 규정

2. 관계데이터 연산
관계대수
-릴레이션 조작을 위한 연산의 집합으로 연산자를 이용하여 표현된다.
-일반집합 연산자 : 합집합, 교집합, 차집합, 카디션 프로덕트
- 순수 관계 연산자 : SELECT, PROJECT, JOIN, DIVISION

SELECT (셀렉트,σ)
표기형식 -> σ<선택조건 (테이블이름)
σ점수≥80 -> '학생' table에서 점수 속성 값이 80점 이상인 튜플 선택
PROJECT(프로젝트,π)
표기형식 -> π<속성리스트>(테이블이름)
π전공 (학생) -> '학생'table에서 전공 속성 선택

JOIN(조인, 표기형식 위에 그림에서 참조)
두관계로부터 튜플들을 하나의 튜플로 결합하는 연산
DIVISION(디비전, ÷)
- 동시에 포함하는 속성

관계해석
- 원하는 릴레이션을 정의하는 방법을 제공하며 비절차적(non-procedural)인 언어이다.

728x90