전체 글(100)
-
[데이터베이스] 데이터베이스의 저장과 접근 : 해싱
※ 해싱(hashing) 방법 (ideal) 다른 레코드의 참조 없이 목표 레코드의 접근을 직접 지원 (직접 파일, direct file) 키(key) 값과 레코드 주소(address) 사이의 사상(mapping) 관계를 함수로 설정 해싱 함수(hashing function) : 키(key) 값으로부터 레코드 주소(address)를 계산, 사상 함수(mapping function) : 키 → 주소, 삽입, 검색에 모두 이용 1. 버킷 해싱 버킷(bucket) : 하나의 주소를 가지면서 하나 이상의 레코드를 저장할 수 있는 파일의 한 구역 버킷 크기 : 저장 장치의 물리적 특성과 한번 접근으로 채취 가능한 레코드 수를 고려 버킷 해싱 : 키 → 버킷 주소 충돌(collision) : 상이한 레코드들을 같은..
2022.06.20 -
[데이터베이스] 트랜잭션
1. 트랜잭션 개요 항공기 예약, 은행, 신용 카드 처리, 대형 할인점 등에서는 대규모 데이터베이스를 수백, 수천 명 이상의 사용자들이 동시에 접근함 많은 사용자들이 동시에 데이터베이스의 서로 다른 부분 또는 동일한 부분을 접근하면서 데이터베이스를 사용함 동시성 제어(concurrency control) : 동시에 수행되는 트랜잭션들이 데이터베이스에 미치는 영향은 이들을 순차적으로 수행하였을 때 데이터베이스에 미치는 영향과 같도록 보장, 다수 사용자가 데이터베이스를 동시에 접근하도록 허용하면서 데이터베이스의 일관성을 유지함. 정보 시스템 평가 : TPS(Transaction Per Second)로 평가 회복(recovery) : 데이터베이스를 갱신하는 도중에 시스템이 고장나도 데이터베이스의 일관성을 유지..
2022.06.19 -
[데이터베이스] 뷰와 시스템 카탈로그
관계 데이터베이스 시스템의 뷰(view)는 다른 릴레이션으로부터 유도된 릴레이션(derived relation)으로서 ANSI/SPARC 3단계 아키텍처의 외부 뷰와 다름 뷰는 관계 데이터베이스 시스템에서 데이터베이스의 보안 메커니즘으로서, 복잡한 질의를 간단하게 표현하는 수단으로써, 데이터 독립성을 높이기 위해서 사용됨 시스템 카탈로그는 시스템 내의 객체(기본 릴레이션, 뷰, 인덱스, 사용자, 접근 권한 등)에 관한 정보를 포함 시스템 카탈로그를 적절히 활용하면 원하는 릴레이션을 데이터베이스에서 찾고, 그 릴레이션에 어떤 애트리뷰트들이 들어 있으며, 각 애트리뷰트의 데이터 타입은 무엇인가 등을 쉽게 파악할 수 있음 1. 뷰 ANSI/SPARC 3단계 아키텍처에서 외부 뷰는 특정 사용자가 보는 데이터베이..
2022.06.18 -
[데이터베이스] 릴레이션 정규화
1. 정규화(Normalization) 개요 부주의한 데이터베이스 설계는 제어할 수 없는 데이터 중복을 야기하여 여러 가지 갱신 이상(update anomaly)을 유발함 어떻게 좋은 데이터베이스 설계를 할 것인가? 데이터베이스에 어떤 릴레이션들을 생성할 것인가? 각 릴레이션에 어떤 애트리뷰트들을 둘 것인가? 정규화(normalization)는 주어진 릴레이션 스키마를 함수적 종속성과 기본 키를 기반으로 분석하여, 원래의 릴레이션을 분해함으로써 중복과 세 가지 갱신 이상을 최소화함 ※ 갱신 이상 (update anomaly) 수정 이상(modification anomaly) : 반복된 데이터 중에 일부만 수정하면 데이터의 불일치가 발생 삽입 이상(insertion anomaly) : 불필요한 정보를 함께..
2022.06.17 -
[데이터베이스] 물리적 데이터베이스 설계(2)
6. 다단계 인덱스 인덱스 자체가 클 경우에는 인덱스를 탐색하는 시간도 오래 걸릴 수 있음 인덱스 엔트리를 탐색하는 시간을 줄이기 위해 단일 단계 인덱스를 디스크 상의 하나의 순서 파일로 간주하고, 단일 단계 인덱스에 대해서 다시 인덱스를 정의할 수 있음 다단계 인덱스는 가장 상위 단계의 모든 인덱스 엔트리들이 한 블록에 들어갈 수 있을 때까지 이런 과정을 반복함 가장 상위 단계 인덱스를 마스터 인덱스(master index)라고 부름 마스터 인덱스는 한 블록으로 이루어지기 때문에 주기억 장치에 상주할 수 있음 대부분의 다단계 인덱스는 B+-트리를 사용 (꼭 알아야 한다) * 얻는 게 있으면 잃는 것도 있다 : Trade-off * index maintenance overhead : 다단계 인덱스에서 데..
2022.06.16 -
[데이터베이스] 물리적 데이터베이스 설계
①※ 물리적 데이터베이스 설계 논리적인 설계의 데이터 구조를 보조 기억 장치상의 파일(물리적인 데이터 모델)로 사상함 예상 빈도를 포함하여 데이터베이스 질의와 트랜잭션들을 분석함 데이터에 대한 효율적인 접근을 제공하기 위하여 저장 구조(storage structure)와 접근 방법(access method)들을 다룸 (물리적 데이터베이스 설계 파트에서 저장 구조, 접근 방법 두 가지가 중요하게 다뤄진다.) → access method 중에서 가장 optimal 한 method 가 random access(찾고자 하는 것이 저장소 내 어디에 있던 간에 찾아오는 시간이 동일) → flash memory가 이에 해당한다. 특정 DBMS의 특성을 고려하여 진행된다. 질의를 효과적으로 지원하기 위해서 인덱스 구조..
2022.06.13