정보처리산업기사 실기/데이터베이스 23

이상(Anomaly)과 함수적 종속

이상(Anomaly) - 데이터베이스의 논리적 설계 시 하나의 릴레이션에 많은 속성들이 존재하여, 데이터의 중복과 종속으로 인해 발생되는 문제점을 말한다. 릴레이션을 처리하는데 여러 가지 문제를 초래하게 된다. - 이상의 종류에는 삭제 이상, 삽입 이상, 갱신 이상이 있다. 1) 삭제 이상(Deletion Anomaly) - 테이블에서 하나의 자료를 삭제하고자 하는 경우 그 자료가 포함된 튜플이 삭제됨으로 인해 원하지 않은 자료까지 함께 삭제가 이루어져 발생하는 문제점을 말한다. 2) 삽입 이상(Insertion Anomaly) - 삽입하는 과정에서 원하지 않는 자료가 삽입된다든지 삽입하는데 자료가 부족해 삽입이되지 않아 발생하는 문제점을 말한다. 3) 갱신 이상(Update Anomaly) - 정확하지..

뷰(VIEW)와 시스템 카탈로그

뷰(VIEW) - 하나 이상의 테이블로부터 유도되어 만들어진 가상 테이블. - 처리 과정 중의 내용이나 기본 테이블 중 일부 내용을 검색해 보여주거나 별도로 관리하고자 하는 경우 사용하는 임시 테이블. - 실제 물리적으로 기억공간을 차지하지 않으며, 논리적 독립성을 제공하고, 데이터 접근제어로 보안성을 향상시킨다. 1) 뷰(VIEW)의 생성 - 뷰(VIEW)를 생성하기 위해서는 CREATE 명령문을 이용한다. CREATE VIEW 뷰명[(뷰_속성명)] AS SELECT 기본테이블의 속성명 FROM 기본테이블명 [WHERE 조건] [WITH CHECK OPTION]; CREATE VIEW - 뷰의 이름과 뷰를 구성할 속성 이름 기입. AS SELECT - 뷰를 만들기 위한 기본 테이블의 속성 이름 기입. ..

SQL 제어어(DCL : Data Control Language)

- 관리자가 데이터의 보안, 무결성 유지, 병행제어, 회복 등을 하기 위해 사용하는 언어를 말한다. - 종류 : COMMIT, ROLLBACK, CRANT, REVOKE 등이 있다. SQL 제어어의 종류 1) COMMIT - 데이터베이스 내의 연산이 성공적으로 종료되어 연산에 의한 수정 내용을 지속적으로 유지하기 위한 명령어를 말한다. 2) ROLLBACK - 데이터베이스 내의 연산이 비정상적으로 종료되거나 정상적으로 수행이 되었다 하더라도 수행되기 이전 상태로 되돌리기 위해 연산 내용을 취소할 때 사용하는 명령어를 말한다. 3) GRANT - 관리자가 사용자에게 데이터베이스에 대한 권한을 부여하기 위한 명령어이다. GRANT 권한 내용 ON 테이블명 TO 사용자 [WITH GRANT OPTION]; G..

SQL 정의어(DDL : Data Definition Language)

- 관계 데이터베이스에서 사용될 테이블, 스키마, 도메인, 인덱스, 뷰 등을 정의(생성)하거나 수정/제거하기 위해 사용되는 언어이다. - 종류 : CREATE, ALTER, DROP CREATE 1) 테이블 정의 CREATE TABLE 테이블명 ( {속성명 데이터타입 [NOT NULL][DEFAULT 값],} [PRIMARY KEY(속성명),] [UNIQUE(속성명),] [FOREIGN KEY(속성명) REFERENCES 참조테이블(속성명)] [ON DELETE CASCADE | SET NULL | SET DEFAULT | NO ACTION] [ON UPDATE CASCADE | SET NULL | SET DEFAULT | NO ACTION], [CONSTRAINT 제약조건명][CHECK(속성명=범위값)..

관계 데이터 연산

관계 대수(Relational Algebra) - 릴레이션에서 사용자가 원하는 결과를 얻기 위해 연산자를 표현하는 방법. - 결과를 얻기 위한 절차를 표현하기 때문에 절차적 언어라고 한다. 분류 연산자 표기법 설명 순수 관계 연산자 SELECT(기호 : σ) σ(테이블명) - 릴레이션에서 조건을 만족하는 수평적 부분 집합(퓨틀)을 구하기 위한 연산. - 결과는 조건을 만족하는 튜플들로 테이블이 만들어진다. PROJECT(기호 : π) π(테이블명) - 릴레이션에서 수직적 부분 집합(속성의 값)을 구하는 연산. - 원하는 속성만 추출하기 위한 연산. JOIN(기호 : ⋈) 테이블1⋈테이블2 - 두 테이블로부터 조건에 맞는 관련된 튜플들을 하나의 튜플로 결합하여 하나의 테이블로 만드는 연산. 동일 조인(Eq..

키(Key)와 무결성 제약조건

키(Key)의 개념 - 관계 데이터베이스에서 튜플을 식별하기 위해 사용하는 속성이나 속성의 집합으로, 데이터베이스의 참조 또는 검색 시에 사용된다. 키(Key)의 종류 학번 이름 주민번호 학과 학년 180222 강희영 960503-1234567 컴퓨터 1 170203 김정미 980225-2345678 컴퓨터 2 150525 이나라 961207-2456789 신문방송 4 150723 강희영 961002-1345678 체육 4 1) 후보키(Candidate Key) - 릴레이션(테이블)에서 각 튜플을 유일하게 식별할 수 있는 속성이나 속성의 집합을 말한다. - 후보키가 될 수 있는 조건은 유일성과 최소성을 모두 만족해야 한다. ex) 위 [학생] 테이블에서 학생 개개인을 구분하기 위해서는 학번이나 주민번호를..

관계 데이터 모델

관계 데이터 모델 - 자료의 저장 형태를 2차원 구조의 표(테이블)로 표현하는 방법을 말한다. 관계 데이터 모델의 용어 릴레이션(Relation) 자료 저장의 형태가 2차원 구조의 테이블(표)로 표현 속성(Attribute) 릴레이션을 구성하는 각 열(Column = 항목) 튜플(Tuple) 릴레이션의 한 행을 구성하는 속성들의 집합(Tuple = Row = Record) 도메인(Domain) 하나의 속성이 가질 수 있는 값들의 범위 릴레이션 스키마(Relation Schema) 릴레이션의 이름과 속성 이름의 집합(릴레이션의 구조) 릴레이션 인스턴스(Relation Instance) 릴레이션에서 어느 시점까지 입력된 튜플들의 집합 차수(Degree) 릴레이션을 구성하는 속성(항목)의 수 카디널리티(Car..

개체-관계 모델(Entity-Relationship Model, ERM)

개체-관계 모델(E-R Model) - 개념적 설계 단계에서 사용되는 실제 기법. - 개체, 관계, 속성 등을 기호를 이용하여 데이터베이스의 전반적인 구조를 이해하기 쉽도록 표현한 모델. - P.Chen 박사에 의해 최초로 제안. E-R Model의 기호 데이터베이스 모델 - 논리적 설계 단계에서 사용되는 모델로 논리적으로 구현 가능한 데이터 모델로 변환하기 위해 사용. - 관계 데이터 모델, 네트워크 모델, 계층 데이터 모델 등이 있다. 관계 데이터 모델 (=표 데이터 모델) - 표 데이터 모델이라고도 하며, 2차원 구조의 표(테이블) 형태로 표현하는 방법. - N : M 표현이 가능하다. 네트워크 모델 (=망 데이터 모델) - 망 데이터 모델이라고도 하며, 레코드 타입 간 관계를 도형으로 표현. 계층..

데이터베이스 설계

데이터베이스 설계 - 데이터베이스의 스키마를 정의하고, 이에 따라 데이터베이스를 구현하기 위한 전반적인 과정을 말한다. 1) 요구 조건 분석 - 사용자가 무엇에 대한 정보를 필요로 하는지 문제가 무엇인지 등을 분석하는 과정. - 실제로 만들어야 할 데이터베이스를 정의, 사용자의 요구 사항에 따라 명세서(Specification)를 작성. 2.1) 개념적 설계(Conceptual Design) - 구축하고자 하는 데이터베이스를 개념적으로 표현함으로써 구현할 데이터베이스를 정함 - 데이터베이스를 구성할 구성요소를 결정한 후 수행할 작업과 관계를 설계하는 과정을 말한다. ex) E-R 모델(Entity-Relation Model) 2.2) 논리적 설계(Logical Design) - 개념적 설계에서 만들어진 ..