정보처리기사_2과목_소프트웨어개발(1)

2021. 2. 15. 14:39공부/정보처리기사

728x90
반응형

논리 데이터 저장소

분석->설계->구현

                                 DBMS     H/W

개념적:트랜잭션모델링   독립적    독립적

논리적                        종속적    독립적

물리적                        종속적    종속적

 

데이터 모델링 절차

- 개념적 모델링

사용자들의 요구사항을 이해하기 쉬운 형식으로 간단히 기술하는 단계

트랜잭션 모델링(처리.흐름중심 설계) : 응용을 위한 데이터 처리에 주안점을 둔 처리 중심 설계

- 논리적 모델링

개념적 설계에서 만들어진 구조를 구현 가능한 데이터 모델로 변환하는 단계

- 물리적 모델링

물리적 데이터베이스 구조는 데이터베이스에 포함될 여러 파일 타입에 대한 저장 레코드의 양식, 순서, 접근경로, 저장 공간의 할당 등을 기술한다.

 

논리 데이터 저장소

- 데이터베이스의 논리적 구성

개체(entity) : 표현하려는 유형, 무형 정보의 대상으로 존재하면서 서로 구별이 되는 것으로, 하나 이상의 속성으로 구성된다.

속성(atturibute) : 개체의 특성이나 상태를 기술하는 것이다.(단독으로 존재하기는 어렵다)

관계(relationship) : 개체간 또는 속성간의 상호작용(1:1, 1:n, n:m)

 

물리데이터 저장소 설계

ORM(Ojbect relational mapping, 객체=관계 매핑)

- 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.

                                                                   관계, 계층, 네트워크

 

구조적 언어 : C언어

객체지향 언어: java

db 1) 파일시스템

2) DBMS

3) 객체지향

4) 객체관계

ORM의 전환방식

- CLASS(클래스), OBJECT(객체) -> TABLE(RELRATION)

 

ORM(OBJECT-ROLE MODELING)에서 클래스간의 관계 표현

- 대표적으로 사용하는 모델링 언어인 UML을 통해서 클래스 관계를 확인할 수 있다.

1.연관관계

2. 집합(AGGREGATION)관계 : 구성요소(부분)가 없어도 전체 개념이 존재할 수 있다. -결속력이 약함

3. 복합(COMPOSITION)관계 : 집합 관계의 강한 형태로써, 복합 관계에서 부분은 한 순간에 하나의 전체에만 포함된다. - 결속력이 강함

 

트랜잭션 인터페이스

트랜잭션 == 연산들이 모여 기능이됨

 

트랜잭션의 성질

                                     COMMIT, ROLLBACK

원자성(ATOMICITY) : 트랜잭션은 전부, 전무의 실행만이 있지 일부 실행으로 트랜잭션의 기능을 가질수는 없다. - 전부 OR 전무 / ALL OR NOTHING

일관성(CONSISTENCY)

격리성(ISOLATION)

영속성(DURABILITY)

 

트랜잭션의 원자성과 관련된 연산

COMMIT : 트랜잭션의 성공적인 종료

ROLLBACK : 트랜잭션의 비정상적인 종료

 

트랜잭션 인터페이스 설계

- 입출력과 기능적 형태로만 작성된 트랜잭션에 대한 인터페이스를 설계하는 단계이다.

데이터 조작 프로시저 작성

프로시저

SQL(구조적 질의어)

SQL특징

- 데이터 정의, 데이터 조작, 제어기능 제공

- 비절차적 언어

 

데이터 정의어(DDL: DATA DEFINITOIN LANGUAGE)

CREATE(생성), DROP(삭제), ALTER(변경), RENAME, TRUNCATE 

2. 데이터 조작어(DML: DATA MANIPULATION LANGUAGE)

INSERT(삽입), UPDATE(수정), DELETE(삭제), SELECT(조회) 

3. 데이터 제어어 (DCL: DATA CONTROL LANGUAGE)

ROLE,GRANT, REVOKE

4. 트랜잭션 제어어

COMMIT, ROLLBACK, SAVEPOINT

 

PL/SQL(PROCEDURAL LANGUAGE/SQL)

서버에서 절차적인 처리를 위해 표준 SQL을 확장한 절자적 언어이다.

STORED PROCEDURE

특정 작업을 수행할 수 있는 이름이 있는 PL/SQL 블록으로 매개 변수를 받을 수 있고 반복적으로 사용할 수 있는 OBJECT이다.

TRIGGER

INSERT,UPDATE,DELETE문이 수행될 때 묵시적으로 수행되는 PROCEDURE TABLE과는 별도로 DATABASE에 저장됨 / SELECT는 조회만 하기 때문에 해당되지 않음

프로그램 디버깅

SQL*PLUS의 개념

ORACLE DBMS에서 제공하는 데이터 조작 프로시저에 대한 테스트 도구이다.

SQL*PLUS에는 파일처리, 버퍼 편집, SQL실행, 환경 설정, 포맷 설정, 대화 들을 위한 명령어들이 있다.

 

단위테스트 도구

저장객체테스트

- STORED PROCEDURE : 변경 이전의 값을 확인 후 함수를 실행, 수정된 값을 확인하여 테스트

 

데이터 조작 프로시저 최적화

옵티마이저와 실행 계획

ORACLE의 경우 옵티마이저가 실행하나 실행 계획 그리고 그 실행계획에서 사용된 비용에 대한 정보를 다음과 같은 3가지 방법으로 확인한다.

EXPLAIN PLAN – 실행계획만을 확인할 수 있음

SET AUTOTRAVE – 실행계획과 I/O 관련정보를 확인할 수 있음

TKPROF – 실행계획과 I/O관련정보 뿐만 아니라 CPU 및 실제 소요시간과 관련된 정보도 상세히 확인가능

 

소스코드 인스펙션

소스코드 인스펙션 진행 순서

PLANNING(계획) > OVERVIEW(사전교육) > PREPARATIONI(사전검토) > MEETING(인스펙션 회의) > RE-WORK, RE-INSPECTION(수정) > FOLLOWING(후속조치)

사전교육 -> 인스펙션 회의 > 수정 -> 후속조치

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90