반응형

정보처리기사/Database 12

정처기 수준에서의 데이터베이스 - 튜닝, 객체 지향 데이터베이스, 고급 데이터베이스

튜닝의 개요데이터베이스 튜닝이란 데이터베이스 응용 프로그램, 데이터베이스 자체, 운영체제 등의 조정을 통하여 데이터베이스 관리 시스템의 성능을 향상시키는 작업을 말한다. 튜닝의 목표- 데이터베이스에 접근하는 SQL문의 실행 시 디스크 블록에 대한 접근횟수를 최소화한다.- 디스크 블록에서 한번 읽어온 데이터는 가능한 한 메모리 영역에 보관하여 다시 그 데이터가 필요할 때 메모리에서 신속히 가져오게 한다.- 모든 SQL문은 공유가 가능하도록 대소문자 일치 등의 이름 작성 규칙을 준수하여 작성한다.- 여러 명의 사용자가 자원들을 안정적으로 접근할 수 있도록 허용하기 위해 잠금 기능의 사용을 최소화한다. 튜닝의 단계비즈니스 규칙 튜닝데이터 설계 튜닝응용 프로그램 튜닝데이터베이스의 논리적 구조 튜닝데이터베이스 접..

정처기 수준에서의 데이터베이스 - 회복과 병행제어

트랜잭션의 특성 ACID Atomicity = All or nothing 완벽히 실행되거나 아예 실행되지 않거나 Consistency = 하나의 트랜잭션이 실행되고 나서 언제나 일관성 있는 데이터베이스 상태로 변환해야 한다. Isolation = 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다. Duarability = 트랜잭션이 실행을 성공적으로 완료하면 그 결과는 영속적이어야 한다. 트랜잭션 연산 COMMIT 연산 ROLLBACK 연산 데이터베이스 장애의 유형 실행장애 = 응용 프로그램 내에 코드로 명시되어 있는 경우로서 ROLLBACK과 같은 연산의 명시로 인한 종료. 트랜잭션 장애 = 계획되지 않은 비정상적 종료(Overflow등)..

정처기 수준에서의 데이터베이스 - 데이터베이스 고급 기능

트리거(Trigger) = 테이블에 데이터가 입력, 수정, 삭제되어질 때 다른 테이블에 연관된 작업을 정의하기 위한 목적으로 사용된다. 데이터가 입력될 때 가상 테이블(Inserted Table, Deleted Table)을 통해서 입력이 된다. 내장형(Embedded SQL) = 응용 프로그램 내에 SQL 문장을 내포하여 프로그램이 실행될 때 함께 실행되도록 PASCAL, FORTRAN, C, C++, JAVA와 호스트 프로그램 언어에 삽입된 SQL을 의미한다. 단 하나의 튜플만을 반환한다. EXEC SQL BEGIN DECLARE SECTIONint SNO; char SNAME[20];char DEPT[6];char SQLSTATE[5];EXEC SQL END DECLARE SECTION; SNO =..

정처기 수준에서의 데이터베이스 - SQL(DML)

DML(Date Manipulation Language) SELECT *DISTINT = 중복된 값을 제거 INSERT DELETE UPDATE 조건 지정 검색 1. '이거나' 라는 조건을 검색할 떄, '똑같은 속성안에 있는 검색 조건이여야 IN을 쓸 수 있다 그게 아니라면 OR 2. SELECT * FROM 학생 WHERE 성명 LIKE '이_ _; => 와일드 카드 _, % _ = 한글자, % = 문자열 LIKE 'A%' = 'A'로 시작하는 데이터만 검색 LIKE '%A' = 'A'로 끝나는 데이터만 검색 LIKE '%KIM%' = 'KIM' 문자가 있는 데이터 들만 검색 LIKE '%K%I%' = 'K' 문자와 'I'문자가 있는 데이터 들만 검색 LIKE '_A%' = 'A'문자가 두 번째 위치한..

정처기 수준에서의 데이터베이스 - SQL(DDL, DCL)

SQL(structured query language) - 인터페이스 = 대화식 SQL, 내장형 SQL - 구성요소 = DDL(정의어), DML(조작어), DCL(제어어) DDL(Data Definition Language) - 데이터베이스의 논리적 데이터 구조와 물리적 데이터 구조 및 구조 간의 사상을 정의한다. - DDL로 정의된 내용은 메타데이터(Metadata)가 되며, 시스템 카탈로그에 저장된다. DDL = CREATE/ALTER/DROP CREATE DOMAIN = 도메인을 정의하는 명령문이다. 표기형식 => CREATE DOMAIN 도메인_이름 데이터_타입 [DEFAULT 기본값] [CONSTRAINT VALID-도메인_이름 CHECK(범위값) EX) CREATE DOMAIN GENDER C..

정처기 수준에서의 데이터베이스 - 관계 데이터 연산

관계 데이터 연산 - 데이터 모델은 구조와 제약을 정의해야 될 뿐 아니라 데이터를 조작하기 위한 연산(Operation)의 정의도 포함되어 있다. - 종류 : 관계 대수(Relational Algebra), 관계 해석(Relational Calculus) 관계 대수 : 절차 언어(Procedural language), 어떻게(How)의 관점. 1. 일반 집합 연산자. 2. 순수 관계 연산자. 관계 해석 : 비절차 언어(Nonprocedural language), 무엇(What)의 관점. 1. 튜플 관계 해석. 2. 도메인 관계 해석. 관계 대수 - 1. 일반 집합 연산자 합집합, 교집합, 차집합, 카티션 곱(CARTESIAN PRODUCT, X) 관계 대수 - 2. 순수 관계 연산자 SELECT(시그마)..

정처기 수준에서의 데이터베이스 - 물리적 데이터베이스 모델링

물리적 데이터베이스 모델링 - 논리적 설계 단계를 거쳐 논리적 구조로 표현된 데이터를 물리 저장장치에 저장할 수 있는 물리적 구조로 변경해주는 단계. - 실제로 데이터베이스를 생성하기 위한 저장구조와 접근경로의 설계. - 예상빈도를 포함하여 데이터베이스 질의와 트랜잭션들을 분석. - 사용하고자 하는 DBMS를 결정하고 해당 DBMS의 특성을 고려하여 진행. 물리적 DB 설계시 고려사항 1. 응답 시간의 최소화. 2. 저장 공간의 효율화. 3. 트랜잭션 처리도. 물리적 DB 설계의 기능 1. 저장 레코드 양식 설계.( ex.type, size..) 2. 레코드 집중의 분석 및 설계.(클러스터링) 3. 접근 경로 설계. 4. 최적화 작업. 반정규화(역정규화) De-normalization 기존 설계를 재구성..

정처기 수준에서의 데이터베이스 - 정규화

정규화의 목적 - 데이터 구조의 안정성을 최대화시킨다. - 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지한다. - 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하도록 한다. - 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다. - 효과적인 검색 알고리즘을 생성한다. 제 1정규형(1NF) = 릴레이션에 속한 모든 도메인이 원자값(Atomatic Value) BCNF(3.5NF) = 릴레이션의 모든 결정자가 후보키인 릴레이션

정처기 수준에서의 데이터베이스 - 함수적 종속성

보다 효율적인 데이터베이스 스키마 구축을 위해 정규화를 한다. 정규화라는 것은 테이블을 정해진 규칙 아래에서 테이블을 쪼개는 행위. 정규화 = 1. 키, 무결성의 개념 이해. 2. 이상현상 이해. 3. 함수적 종속성 이해. 4. 정규화 과정 이해. 이상(Anomaly) = 데이터 중복으로 인해 릴레이션 조작 시 예상하지 못한 곤란한 현상이 발생. 이상은 속성들 간에 존재하는 여러 종류의 종속 관계를 하나의 릴레이션에 표현할 때 발생 (개념적 설계 단계 -> 스키마 -> 구축) 설계를 잘못해서 생기는 현상! 이상의 종류 => 삽입 이상(Insertion Anomaly) / 삭제 이상(Deletion Anomaly) / 갱신 이상(Updating Anomaly) =========================..

정처기 수준에서의 데이터베이스 - 키와 무결성 제약조건

Edgar Codd 박사 : 키(Key)는 주어진 릴레이션에서 모든 인스턴스 가운데 유일함(Unique)을 보장해 주는 하나 이상의 애트리뷰트의 집합. Key = 튜플을 유일하게 식별할 수 있는 속성 집합! 키와 애트리뷰트는 다르다. 애트리뷰트를 키로 만들면 키. (하나 이상의 애트리뷰트로 구성된 키는? 복합키) 키의 유일성과 최소성 = 중복이 안되는 속성을 가지고 있고, 최소한의 속성값으로 하나를 찾아야 한다. (하나의 속성으로 찾을 수 있는데 또 하나의 속성을 추가해서 찾으면 최소성 위배) 슈퍼키(Super Key) = 유일성을 만족하면 슈퍼키. 최소성을 만족하든 만족하지 않든 한놈만 찾을 수 있다면! 슈퍼키. 후보키(Candidate Key) = 튜플을 유일하게 구분할 수 있은 최소 슈퍼키(한 릴레..

반응형