태그: #정보처리기사 03. 인덱스와 뷰 01. 인덱스(Index) 1) 인덱스의 개념 데이터를 빠르게 찾을 수 있는 수단으로서, 테이블에 대한 조회 속도를 높여 주는 자료 구조 데이터베이스 성능에 많은 영향을 주는 DBMS의 구성 요소로 테이블과 클러스터에 연관되어 독립적인 저장 공간을 보유함 인덱스는 기본 테이블의 특정 레코드 위치를 알려주는 용도로 사용함 인덱스는 자동으로 생성되지 않기 때문에 데이터베이스 사용자가 지정해 주어야 하지만, 데이터베이스 사용자가 특정 컬럼을 기본키로 지정할 경우에 인덱스는 자동 생성됨 기본 테이블에서 번호를 기본키로 하는 경우, 번호에 대한 인덱스는 자동으로 생성되지만, 기본키가 아닌 전화번호나 출생시를 기준으로 하는 인덱스는 자동으로 생성되지 않음 기본 테이블의 성명..
02. 절차형 SQL 01. 절차형 SQL 1) 절차형 SQL 1. 절차형 SQL의 개념 SQL도 일반 프로그램 언어와 유사하게 절차 지향적인 프로그램이 가능함 SQL문의 연속적인 실행이나 조건에 따른 분기, 반복 등의 제어를 활용하여 다양한 기능을 수행하는 저장 모듈을 생성하고 쉽게 활용할 수 있음 절차형 SQL은 데이터베이스 작업의 높은 효율성과 생산성을 확보할 수 있게 해줌 절차형 SQL에는 프로시저(Procedure), 사용자 정의 함수(User Define Function) 및 트리거(Trigger)가 있음 2. 절차형 SQL의 특징 DBMS에서 직접 실행함 BEGIN/END의 블록화된 구조로 되어 있어 각 기능별로 모듈화가 가능함 단일 SQL 문장으로는 실행하기 어려운 연속적인 작업을 처리하는..
01. SQL 명령어 06. 트랜잭션 제어어(TCL) 1) 트랜잭션(Transaction) 트랜잭션의 개념 데이터베이스의 현재 상태를 하나의 일관된 상태에서 또 다른 일관된 상태로 변환시키는 논리적인 연산의 집합 트랜잭션을 일 처리 단위를 의미함 트랜잭션의 특징 트랜잭션은 논리적 연산 단위 한 개 이상의 데이터베이스 조작 하나 이상의 SQL 문장이 포함됨 SELECT, INSERT, UPDATE, DELETE 등의 연산 집합 트랜잭션은 거래로, 거래 결과가 모두 변영되거나 또는 모두 취소되어야 함 데이터베이스에서의 트랜잭션은 특별하고 엄격한 거래를 의미함 분할할 수 없는 최소 단위 트랜잭션은 일반적으로 회복의 단위가 됨 2) 트랜잭션의 특성 원자성(Atomicity) 트랜잭션의 연산은 모두 실행되거나 모..
01. SQL 명령어 05. 데이터 제어어(DCL) 1) DCL과 TCL DCL의 조작 대상, 오브젝트 유형 사용자 권한 : 접근 통제가 목적이며, 사용자를 등록하고, 사용자에게 특정 데이터베이스를 사용할 수 있는 권리를 부여하는 작업 트랜잭션 : 안전한 거래 보장이 목적이며, 동시에 다수의 작업을 독립적으로 안전하게 처리하기 위한 상호 작용 단위 트랜잭션 제어를 위한 명령어 TCL이 있음 TCL과 DCL은 대상이 달라 서로 별개의 개념으로 분류할 수 있으나, 제어 기능의 공통점으로 DCL의 일부로 분류하기도 함 DCL과 TCL 명령어 DCL(Data Control Language) GRANT : 데이터베이스 사용자에게 권한을 부여함 REVOKE : 데이터베이스 사용자에게 권한을 회수함 TCL(Trans..
01. SQL 명령어 03. 데이터 조작어(DML) 1) DML 명령어 종류 데이터 삽입(INSERT) : 삽입 형태로 신규 데이터를 테이블에 저장함 데이터 수정(UPDATE) : 테이블의 내용을 수정함 데이터 삭제(DELETE) : 테이블의 내용을 삭제함 데이터 조회(SELECT) : 테이블의 내용을 조회함 2) 데이터 삽입 입력하고자 하는 테이블에 모든 컬럼 데이터를 입력한다면 컬럼명을 명시하지 않아도 되지만, 특정 컬럼만을 입력하고자 한다면 반드시 컬럼명을 명시해야 함 컬럼명 수와 VALUES 절의 수는 반드시 동일해야 함 기존에 존재하는 테이블 데이터로부터 특정 테이블로 데이터를 복사할 수 있음 필드명을 지정하는 경우 INSERT INTO 테이블명(필드명1, 필드명2, 필드명3, ...) VALU..
01. SQL 명령어 01. SQL(Structured Query Language)의 개념 1) SQL의 정의 관계형 데이터 모델을 따르는 DBMS의 표준 데이터베이스 언어 관계 대수를 기초로 만들어진 데이터베이스 관련 명령어 형식 입력 릴레이션으로부터 원하는 출력 릴레이션을 얻어내는 명령어 형식 2) SQL의 특징 영어 문장과 유사하여 초보자들도 쉽게 사용할 수 있음 질의 기능 뿐만 아니라 데이터 정의 기능과 조작 기능을 갖추고 있음 3) 내장 SQL 프로그래밍 언어인 COBOL, C, Visual Basic, ASP, PHP 등에 포함하여 사용하는 SQL 응용 프로그램(혹은 호스트 프로그램) 내에 데이터를 정의하거나 질의하는 SQL 문장을 내포하여 프로그램이 실행될 때 함께 실행되도록 함 내장 SQL..
06. 논리 데이터 모델 품질 검증 01. 좋은 데이터 모델의 요건 1) 좋은 데이터 모델의 필요성 일반적으로 시스템 구축 과정에서 생성되는 데이터 모델은 품질을 평가하는 것이 매우 어려움 특정 데이터 모델이 업무 환경에서 요구하는 사항을 얼마나 시스템적으로 잘 구현할 수 있는가를 객관적으로 평가할 수 있다면 가장 좋은 평가 방법이겠지만, 객관적으로 평가할 수 있는 기준이 존재하지 않는 것이 현실 2) 좋은 데이터 모델의 요건 완전성(Completeness) 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어 있어야 함 완전성은 데이터 모델을 검증하기 위해서 가장 먼저 확인해야 할 부분 완전성이 충족되지 못하면 다른 어떤 평가 기준도 의미가 없어짐 중복 배제(Non-Redundancy) 하나의 데..
05. 데이터베이스의 정규화 01. 정규화의 개념 1) 정규화의 개념 하나의 릴레이션에 하나의 의미만 존재할 수 있도록 릴레이션을 분해해 나가는 과정 데이터베이스의 설계는 결합하는 것이 아니라 분해하는 것이 원칙 데이터 모델링의 단계 중 가장 중요한 단계로써 논리 데이터 모델링을 상세화하는 단계 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념 정규형(Normal Form)이란 특정 조건에 만족하는 릴레이션 스키마의 형태를 의미 기본 정규형에 1NF, 2NF, 3NF, BCNF가 있고 고급 정규형에는 4NF, 5NF가 있음 2) 정규화의 목적 구성되는 모든 릴레이션이 중복되지 않게 효과적으로 데이터베이스 내에 표현이 가능하도록 함 보다 간단한 연산자에 의해 효과적인 연산이 가능하도록 구성함 새로운 ..