데이터저장소
데이터베이스(Database)
데이터베이스 관리 시스템(DBMS; DataBase Management System)
기능 | 설명 |
---|---|
정의(Definition)기능 | 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시 |
조작(Manipulation)기능 | 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공 |
제어(Control)기능 | 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공 |
데이터의 독립성
독립성 | 설명 |
---|---|
논리적 독립성 | 응용 프로그램과 데이터베이스를 독립시킴으로써, 데이터의 논리적 구조를 변경시켜도 응용프로그램은 영향을 받지 않음 |
물리적 독립성 | 응용 프로그램과 보조기억장치 같은 물리적 장치를 독림시킴으로써, 디스크를 추가/변경 하더라고 응용 프로그램은 영향을 받지 않음 |
데이터베이스의 구조와 제약조건에 관한 전반적인 먕세를 기술한 것
종류 | 내용 |
---|---|
외부 스키마 | 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것 |
개념 스키마 | - 데이터베이스의 전체적인 논리적 구조 |
- 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재 | |
내부 스키마 | - 물리적 저장장치의 입장에서 본 데이터베이스 구조 |
- 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서등을 나타냄 |
항목 | 내용 |
---|---|
무결성 | 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야 함 |
일관성 | 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 일정해야 함 |
회복 | 시스템 장애 발생 시 장애 발생 직전의 상태로 복구할 수 있어야 함 |
보안 | 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함 |
효율성 | 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함 |
확장 | 데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 함 |
기호 이름 | 의미 |
---|---|
사각형 | 개체(Entity) 타입 |
마름모 | 관계(Relationship) 타입 |
타원 | 속성(Attribute) |
이중 타원 | 다중값 속성(복합 속성) |
밑줄 타원 | 기본키 속성 |
복수 타원 | 복합 속성 |
관계 | 1:1, 1:N, N:M 등의 개체 간 관계에 대한 대응수를 선 위에 기술 |
선, 링크 | 개체 타입과 속성을 연결 |
관계형 데이터베이스
릴레이션 구조
튜플(Tuple)
속성(Attribute)
도메인(Domain)
릴레이션의 특징
관계형 데이터 모델
특성 | 의미 |
---|---|
원자성(Atomicity) | 연산은 DB에 모두 반영되도록 완료 되거나(Commit) 반영되지 않도록 복구(Rollback) 되어야 함 |
일관성(Consistency) | 실행이 완료되면 항상 일관적인 상태로 변환함 |
독립성(Isolation) | 어느 하나의 트랜잭션 실행 중 다른 트랜잭션의 연산이 끼어들수 없음 |
지속성(Durability) | 성곡적으로 완료된 트랜잭션 결과는 영구적으로 반영되야 함 |