본문 바로가기

IT기술노트/데이터베이스69

릴레이션 무결성 (Relational Integrity) I. 릴레이션 무결성 가. 릴레이션 무결성 (Relational Integrity)의 정의 - 삽입, 삭제, 갱신과 같은 연산을 수행하기 전과 후에 대한 상태의 제약 II. 릴레이션 무결성 제약의 유형 유형 설명 상태 제약 - 데이터베이스가 일관성 있는 상태가 되기 위한 조건을 명세 - 특정시점에 만족되어야 하는 정적제약의 성질을 가짐 과도 제약 - 데이터베이스의 한 상태에서 다른 상태로 변환되는 과정에서 적용되는 규칙 - 데이터베이스 변경 전, 후 모두 만족되어야 하는 동적제약의 성질을 가짐 집합 제약 - 튜플 집합 전체에 관련되어 적용되는 규칙 튜플 제약 - 처리되고 있는 튜플 에만 적용되는 규칙 즉시 제약 - 연산이 수행되는 즉시 적용되는 규칙 지연 제약 - 트랜잭션이 완전히 수행된 후 적용되는 규칙 2021. 3. 6.
릴레이션 I. 데이터베이스 관계 개요 가. 데이터베이스 관계(Relation)의 정의 - 테이블과 같은 의미로 같은 성격의 데이터들의 집합 나. 데이터베이스 관계의 특성 - 튜플의 유일성, 튜플의 무순서, 속성의 무순서, 속성의 원자성 II. 데이터와 릴레이션, 릴레이션 간의 관계 가. 데이터와 릴레이션 나. 릴레이션 간의 관계 1) 릴레이션 내에서 생성되는 관계 - 릴레이션 내 데이터들의 관계 2) 릴레이션 간에 생성되는 관계 - 릴레이션 간의 관계 III. 릴레이션 스키마, 인스턴스 릴레이션 스키마 - 릴레이션의 논리적 구조로 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의 릴레이션 인스턴스 - 어느 한 시점의 릴레이션에 존재하는 튜플들의 집합으로 릴레이션 외연이라 하고 동적인 특징을 가짐 2021. 3. 6.
Phantom Conflict I. Phantom Conflict의 개요 가. Phantom Conflict의 정의 - 두 개 이상의 트랜잭션이 실제 데이터베이스에 저장되어 있는 튜플이 아니라 데이터베이스에 삽입되려는 가상의 튜플, 즉 팬텀 튜플에 의해 트랜잭션이 충돌되어 일관성 및 무결성 보장되지 않는 현상 나. Phantom Conflict의 영향 영향 설명 읽기 수행 시 - 다른 트랜잭션의 삽입 결과로 처음 읽을 때 없었던 행이 다음에 읽을 시 나타날 수 있음 삭제 수행 시 - 다른 트랜잭션이 삭제 동작으로 인해 트랜잭션이 첫 번째 행 범위를 읽을 때 있었던 행이 재 수행 시 사라질 수 있음 II. Phantom Conflict 발생 해결방안 해결방법 설명 Locking 단위 확대 - Locking의 단위를 튜플이 아니라 릴레이.. 2021. 3. 6.
트랜잭션(Transaction) I. 트랜잭션의 개요 가. 트랜잭션(Transaction)의 정의 - 한번에 수행되어야 할 데이터베이스의 일련의 읽기와 쓰기 연산에 대해 수행하는 하나의 단위 나. 트랜잭션의 특징 특징 설명 Atomic - 트랜잭션은 분해가 불가능한 최소의 단위로 연산 전체가 처리되거나 처리되지 않아야 한다. Consistency - 트랜잭션이 실행을 성공적으로 완료하면 언제나 모순 없이 일관성 있는 데이터베이스 상태를 보존 Isolation - 트랜잭션이 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근할 수 없음 Durability - 성공이 완료된 트랜잭션의 결과는 영구(속)적으로 데이터베이스에 저장 II. 트랜잭션의 상태 가. 트랜잭션 상태 개념도 나. 트랜잭션 상태 요소 구분 설명 활동상태 - 초기 상.. 2021. 3. 6.
통계 데이터베이스 SUM, AVG, 통계함수, 추론 I. 집합과 추론으로 데이터 접근, 통계 데이터베이스의 개요 가. 통계 데이터베이스의 정의 - 데이터베이스 내부의 민감 정보가 보호되고 있음에도 불구하고, 보호되지 않는 다른 데이터에서 추측할 수 있는 데이터를 포함한 데이터베이스 나. 통계 데이터베이스의 보안 - 집합(Aggregation), 추론(Inference) II. 통계 데이터베이스에서의 질의문 가. 통계 질의문에서 사용하는 통계 함수 통계 함수 설명 함수 적용 사례 COUNT 테이블에서 열의 수 또는 행의 수를 결정 함수 괄호 내부에 * 또는 컬럼을 지정 -COUNT(*) -COUNT(컬럼명) MIN/MAX 열에서 최소, 최대값을 결정 -MAX(급여) SUM 열에 있는 값들의 합을 결정 오직 열과 수치 자료형.. 2021. 3. 6.
CRUD Matrix 생성(CREATE), 이용(Read), 수정(Update), 삭제(Delete) I. 프로세스와 데이터간 상관관계 표현, CRUD Matrix의 개요 가. CRUD Matrix의 정의 - 시스템 개발 시 프로세스와 데이터베이스에 저장되는 데이터 사이의 의존관계를 나타내기 위한 Matrix 나. CRUD Matrix의 특징 - 모델링 작업 검증 역할, 중요 산출물, 테스트에서 사용, 인터페이스 현황 파악 II. CRUD Matrix 작성방법 가. CRUD Matrix 생성을 위한 필수요소 Data Modeling 업무에 의해 Data Modeling을 수행한 후 도출된 Entity Type 업무분해 시스템에서 제공하는 업무의 최하위 분해 나. ERD 분석 및 작성 다. 업무 기능 분해도 작성 Level 1.. 2021. 2. 25.
DBMS(Database Management System) I. 데이터베이스 관리 소프트웨어, DBMS의 개요 가. DBMS(Database Management System)의 정의 - 사용자와 데이터베이스 사이에서 사용자가 원활하게 데이터 입/출력, 관리를 지원하는 소프트웨어 나. DBMS의 기능 - 데이터 구조베이스 정의, 데이터 조작, 데이터 안정성, 무결성 유지 II. DBMS의 구성도 및 구성요소 가. DBMS의 구성도 나. DBMS의 구성요소 구성요소 설명 DDL 컴파일러 - DDL로 명시된 스키마를 메타데이터로 처리하여 시스템 카탈로그에 저장 질의처리기 - 일반 사용자가 제출한 고급 질의어 검사, 파싱, 컴파일 수행 DML 예비 컴파일러 - 응용 프로그램에 삽입된 DML 명령문 추출, 데이터베이스 접근 위한 목적 코드로 컴파일을 위해 DML 컴파일러.. 2021. 2. 25.
데이터 언어 DDL, DML, DCL I. 데이터 언어의 개요 가. 데이터 언어(Data Language)의 정의 - 데이터베이스를 정의, 조작, 제어하기 위한 데이터베이스 관리시스템과의 통신 수단으로서의 언어 나. 데이터 언어의 종류 - 데이터 정의어, 데이터 조작어, 데이터 제어어 II. 데이터 정의어(Data Definition Language) 가. 데이터 정의어의 개념 - 데이터베이스의 논리적/물리적 구조를 정의하는 언어로 데이터베이스 관리자나 설계자가 데이터 정의어를 이용해 정의, 변경하고 이를 컴파일 후 데이터 사전에 저장 나. 데이터 정의어의 유형 명령어 설명 CREATE - 스키마, 도메인, 테이블, 뷰, 인덱스 정의 ALTER - 테이블에 대한 정의를 변경하는데 사용 DROP - 스키마, 도메인, .. 2021. 2. 25.
데이터베이스(Database) 개체, 속성, 관계 I. 데이터베이스의 개요 가. 데이터베이스(Database)의 정의 - 다수 사용자의 정보 요구사항을 충족시키기 위해 서로 관계 있는 데이터를 최소한의 중복으로 통합해 놓은 데이터의 집합체 나. 데이터베이스 특성 - 실시간 접근, 계속적인 변화, 동시 공유, 내용기반 참조 II. 데이터베이스의 구성요소 가. 데이터베이스 테이블 구조 나. 데이터베이스 구성요소 구성요소 설명 개체 (Entity) - 데이터베이스에서 표현하려고 하는 무형, 유형의 객체로 서로 구별되는 것 - 하나 이상의 속성으로 구성된 파일 구조 상의 레코드 개체 타입 - 속성 이름들로만 기술된 개체의 논리적 정의 개체 인스턴스 - 데이터베이스에 저장되는 구체적 객체 개체 집합 - 개체 인스턴스의 집합체 속성 (Attri.. 2021. 2. 25.
반응형