반응형 Computer Science/Databases21 [데이터베이스] 해싱의 종류와 동작 원리(Static, Dynamic Hashing, Linear, Extendible)와 비트맵 인덱스(Bitmap Index) Static Hashing의 기본 개념과 동작 원리기본 구조Static hashing은 고정된 수의 bucket을 사용하는 인덱싱 방식이다.Bucket은 항목들을 포함하는 저장 공간이다.일반적으로 bucket은 디스크 블록(약 4KB)과 같다.Hash function은 bucket의 위치를 찾는 데 사용된다.Hash function h는 search-key 집합에서 bucket 주소 집합으로의 함수이다.서로 다른 search-key가 같은 bucket에 매핑될 수 있다.Bucket 전체를 순차적으로 검색해야 한다.인덱스와 파일 구성에서의 사용:Hash index에서 bucket은 record 포인터가 있는 항목을 저장한다.Hash file-organization에서 bucket은 record 자체를 저장.. 2025. 5. 15. [데이터베이스] B+-Tree 자료구조와 인덱싱(Ordered Indexing), B-Tree 소개 B+ Tree의 구조와 동작B+ Tree의 정의와 기본 속성B+ Tree는 다음과 같은 특성을 만족하는 rooted tree이다.한 노드에서 n개의 포인터를 가진다고 할때, 값들의 갯수는 n-1이 된다.모든 root에서 leaf node까지의 경로 길이는 동일하다. (균형 트리, balanced tree)root와 leaf node가 아닌 모든 노드(internel node)는 ⎡n/2⎤ 이상 n 이하의 자식 노드(자식노드의 갯수 = 포인터의 갯수이므로 최대 n까지 가질 수 있기 떄문)를 가진다. (⎡X⎤-> upper bound)leaf node는 ⎡(n-1)/2⎤ 이상, (n-1) 이하의 값(마지막 포인터는 다음 leafnode의 주소 이므로 값의 갯수는 n-1개)을 가진다.특수한 경우:root가 l.. 2025. 5. 8. [데이터베이스] 버퍼와 인덱싱 개념과 종류 (Buffer and index in DBMS) 데이터베이스 버퍼와 인덱싱데이터베이스 시스템에서 버퍼 관리와 인덱싱은 성능 최적화에 있어 매우 중요한 요소입니다. 이 글에서는 버퍼 매니저의 역할과 인덱싱의 기본 개념에 대해 설명하겠습니다.버퍼와 버퍼 매니저버퍼의 개념데이터베이스에서 블록(Block)은 저장소 할당과 데이터 전송의 기본 단위입니다.디스크와 메모리 사이의 블록 전송 횟수를 최소화하는 것이 데이터베이스 시스템의 목표이며, 이를 위해 가능한 많은 블록을 메인 메모리에 유지해야 합니다.버퍼(Buffer)는 디스크 블록의 복사본을 저장하기 위해 사용 가능한 메인 메모리의 일부분입니다.즉, 버퍼는 메모리 공간을 의미합니다.버퍼 매니저(Buffer Manager)는 메인 메모리에서 버퍼 공간을 할당하는 역할을 담당하는 데이터베이스의 소프트웨어 모듈입.. 2025. 5. 8. [데이터베이스] 스토리지 종류와 DB 파일 물리적 저장 방식 (Slotted Page 구조) Classification of Physical Storage MediaVolatile Storage전원이 꺼지면 데이터가 소실됨예: 캐시 메모리, 메인 메모리 등Non-Volatile Storage전원이 꺼져도 데이터가 유지됨예: Secondary Storage, Tertiary Storage, 배터리 백업 메모리 등저장 매체 선택에 영향을 주는 요소데이터 접근 속도 (Access Speed) : DRAM > SSD단위 데이터당 비용 (Cost per Unit) : SSD > DRAM신뢰성 (Reliability) : DRAM > SSDStorage HierarchyPrimary Storage가장 빠르지만 Volatile예: Cache, Main MemorySecondary Storage (On-lin.. 2025. 4. 16. [데이터베이스] 정규화(Normalization)와 함수 종속성, BCNF분해, 3NF분해, 종속성 규칙과 공리 정규화(Normalization)란?정규화는 데이터베이스 설계 시 데이터의 중복을 최소화하고, 데이터의 무결성을 유지하기 위해 테이블을 구조적으로 분해하는 과정이다. 정규화를 통해 데이터 저장 공간의 낭비를 줄이고, 삽입/삭제/갱신 이상(Anomaly)을 방지할 수 있다.정규화의 목적중복 데이터 제거데이터 무결성 유지삽입/삭제/갱신 이상(Anomalies) 방지테이블 간의 명확한 관계 설정정규화 과정 (Normal Forms)정규화는 여러 단계로 구성되며, 각 단계는 이전 단계보다 더 높은 수준의 정규성을 보장한다:제1정규형(1NF): 모든 속성 값이 원자값(Atomic Value)으로 되어 있어야 함제2정규형(2NF): 1NF를 만족하고, 부분 함수 종속 제거제3정규형(3NF): 2NF를 만족하고, 이.. 2025. 4. 10. [데이터베이스] 모델링, 관계집합, E-R 다이어그램(ERD), Cardinality (매핑관계) 데이터베이스 모델링 (Modeling)데이터베이스는 다음과 같이 모델링할 수 있다:엔티티들의 집합(Collection)엔티티들 간의 관계(relationship)엔티티(Entity)엔티티는 존재하며 다른 객체들과 구별 가능한 객체를 의미한다.예시: 특정 학생 (예: Williams)속성(Attribute)엔티티는 여러 개의 속성(특징) 을 가진다.예시: 학생은 이름(name), 전화번호(phone number) 등의 속성을 가짐엔티티 집합(Entity Set) = relation같은 유형(Type)의 엔티티들이 모인 집합이며, 동일한 속성을 공유한다.예시: 모든 학생들의 집합, 모든 학과들의 집합 등Entity Sets instructor and studentinstructor = entity set 각.. 2025. 4. 4. [데이터베이스] 권한과 권한 그룹(역할), 상속, 뷰 권한 (grant, revoke, role) Authorization / Privileges사용자는 데이터베이스의 특정 부분에 대해 여러 형태의 권한(authorization) 을 가질 수 있다.이러한 각각의 권한은 privilege(권한) 라고 불리며, 필요에 따라 모두, 일부, 혹은 전혀 부여하지 않을 수 있다.권한은 테이블(relation) 이나 뷰(view) 와 같은 데이터베이스의 특정 객체에 대해 설정할 수 있다.주요 권한 종류권한 유형설명Read데이터를 읽을 수 있음. 수정은 불가능함Insert새로운 데이터를 삽입할 수 있음. 기존 데이터는 수정 불가능Update기존 데이터를 수정할 수 있음. 삭제는 불가능Delete데이터를 삭제할 수 있음권한 부여 방식사용자는 특정 테이블 또는 뷰에 대해 하나 이상의 권한을 부여받을 수 있음예: 어떤 .. 2025. 4. 1. 이전 1 2 3 다음