데이터 베이스
1. 데이터 저장소
소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화 하거나, 물리적인 공간에 구축한 것을 의미
- 논리 데이터저장소와 물리 데이터저장소로 구분
- 논리 데이터 저장소는 데이터 및 데이터 간 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한것
- 물리 데이터 자장소는 논리 데이터저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 저장한 것
2. 데이터베이스
통합된 데이터(Integrated Data) : 자료의 중복 배제한 데이터
저장된 데이터(Stored Data) : 저장 매체에 저장된 자료
운영 데이터(Operational Data) : 존재가치가 확실하고 반드시 필요한 데이터
공용 데이터(Shared Data) : 여러 응용시스템 들이 공동으로 소유한 데이터
3. DBMS(DataBase Management System; 데이터베이스 관리 시스템)
기존 파일 시스템이 갖는 데이터의 종속성과 중복성 문제 해결위해 제안된 시스템. 모든 응용프로그램들이 데이터베이스를 관리할 수 있도록 도와준다.
DBMS 필수기능
- 정의 기능 : 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등 명시
- 조작 기능 : 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 인터페이스 수단 제공
- 제어 기능 : 데이터 무결성이 유지되도록 제어, 보안 유지와 권한(Authority) 검사, 병행 제어(Concurrency Control)할 수 있어야 함
※ 데이터 독립성
DBMS의 궁극적 목표
논리적 독립성 : 응용프로그램과 데이터베이스를 독립시켜 데이터의 논리적 구조를 변경시켜도 응용프로그램에 영향을 미치지 않는 것
물리적 독립성 : 응용프로그램과 보조기억장치같은 물리적 장치를 독립시켜 새로운 디스크를 도입해도 응용프로그램에 영향을 미치지 않는 것
3. 스키마
데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 메타데이터(Meta-Data)의 집합
- 외부 스키마 : 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조 정의한 것
- 개념 스키마 : 데이터베이스의 전체적인 논리적 구조로, 하나만 존재. 관계와 제약 조건 나타내고, 데이터베이스의 접근권한, 보안 및 무결성 규칙에 관한 명세 작성
- 내부 스키마 : 물리적 저장장치의 입장에서 본 데이터베이스 구조. 실제로 데이터베이스에 저장될 레코드의 형식을 정리하고 저장 데이터 항목의 표현 방법, 내부 레코의 물리적 순서 나타냄
데이터 입 출력
1. SQL(Structured Quert Language)
1974년 IBM 연구소에서 개발한 SEQUEL에서 유래한 국제표준 데이터언어. 많은 회사에서 관계형 데이터베이스(RDB)를 지원하는 언어로 채택
관계대수와 관계해석을 기초로한 혼합 데이터 언어
- 데이터 정의어(DDL; Data Define Language) : SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 용이한 언어
- 데이터 조작어(DML; Data Manipulation Language) : 응용프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용되는 언어.
- 데이터 제어어(DCL; Data Control Language) : 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용되는 언어
2. 데이터 접속(Data Mapping)
프로그램 코드와 데이터베이스의 데이터를 연결(Mapping)하는 것을 말함
- SQL Mapping : 프로그래밍 코드내에 SQL직접 입력하여 DBMS의 데이터에 접속하는 기술. 관련 프레임워크는 JDBC, ODBC, MyBatis 등
- ORM(Object-Relational Mapping) : 객체지향 프로그래밍의 객체(Object)와 관계형 (Relational) 데이터베이스를 연결(Mapping)하는 기술. 관련 프레임워크는 JPA, Hibernate, Django 등
3. 트랜잭션(Transaction)
하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들
트랜잭션을 제어하기 위한 명령어를 TCL(Transaction Control Language)이라 하며, COMMIT, ROLLBACK, SAVEPOINT 와 같은 종류가 있다
- COMMIT : 트랜잭션이 수행한 변경내용을 데이터베이스에 반영하는 명령어
- ROLLBACK : 트랜잭션이 비정상 종료되어 데이터베이스 일관성이 깨졌을 때, 이전 상태로 되돌리는 연산
- SAVEPOINT(=CHECKPOINT) : ROLLBACK할 위치인 저장점을 입력
절차형 SQL
- C, JAVA 와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL
- 일반적인 프로그래밍 언어에 비해 효율이 떨어지지만 단일 SQL문장으로 처리하기 어려운 작업 처리에 적합
- 다양한 기능 수행하는 저장 모듈 생성가능
- DBMS 엔진에서 직접 실행되어 입 출력 패킷이 적은편
- 블록 구조로 되어 기능별 모듈화 가능
프로시저(Procedure) : 특징 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해놓은 SQL작업수행
트리거(Trigger) : 데이터베이스 시스템에서 이벤트 발생 시마다 관련 작업이 자동 수행
사용자 정의 함수 : 프로시저와 유사하게 SQL사용하여 일련의 작업을 연속적으로 처리, 종료 시 예약어 Return을 사용하여 결과를 단일 값으로 반환
'정보처리기사 > 2과목' 카테고리의 다른 글
[정보처리기사 필기] 인터페이스 구현 (0) | 2022.02.13 |
---|---|
[정보처리기사 필기] 애플리케이션 테스트 관리, 복잡도 (0) | 2022.02.13 |
[정보처리기사 필기] 제품 소프트웨어 패키징 (0) | 2022.02.11 |
[정보처리기사 필기] 통합 구현 (0) | 2022.02.11 |
[정보처리기사 필기] 자료 구조 (0) | 2022.02.10 |
댓글