728x90
반응형
SMALL

데이터베이스 15

정적 SQL / 동적 SQL

정적 SQL과 동적 SQL은 데이터베이스 쿼리를 작성하고 실행하는 두 가지 주요 방법입니다. 이 둘 사이에는 사용 목적, 보안, 유지보수성 등 다양한 측면에서 차이가 있습니다. 정적 SQL (Static SQL): 정적 SQL은 미리 작성된 쿼리로, 컴파일러 또는 인터프리터에 의해 실행되기 전에 이미 작성된 SQL 문장입니다. 주로 프로그램의 소스 코드에 포함되어 있으며, 실행 중에 쿼리의 구조나 데이터베이스 개체(테이블, 컬럼 등)를 변경할 수 없습니다. 특징: 미리 작성된 SQL 쿼리이므로 컴파일러나 인터프리터가 실행하기 전에 정적으로 알려져 있습니다. 쿼리의 구조와 데이터베이스 개체는 실행 중에 변경할 수 없습니다. 보안 면에서 동적 SQL에 비해 안전합니다. 프로그램 실행 시점에 쿼리가 컴파일되므..

IT 이론지식 2024.03.17

데이터베이스 이상현상

데이터베이스 이상현상은 데이터베이스 설계 또는 조작 과정에서 발생할 수 있는 비정상적인 현상을 의미합니다. 이러한 이상현상은 데이터베이스의 일관성, 무결성 및 정확성을 손상시킬 수 있으며, 데이터베이스의 신뢰성과 효율성을 해치는 원인이 될 수 있습니다. 아래에서 데이터베이스 이상현상에 대해 더 자세히 설명하겠습니다. 삽입 이상(Insertion Anomaly): 삽입 이상은 새로운 데이터를 삽입하려고 할 때 발생하는 문제입니다. 예를 들어, 특정 테이블의 일부 속성이 NULL 값을 허용하지 않는다면, 그 테이블에 새로운 레코드를 추가하려고 할 때, 다른 속성들의 값을 알 수 없어 삽입할 수 없는 경우가 있습니다. 갱신 이상(Update Anomaly): 갱신 이상은 데이터를 갱신할 때 발생하는 문제입니다..

IT 이론지식 2024.03.17

SQL(Structured Query Language)

SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하기 위한 표준 데이터베이스 언어입니다. SQL은 데이터의 삽입, 삭제, 수정, 조회 등 다양한 작업을 수행할 수 있습니다. 이하에는 SQL의 주요 종류와 각각의 예시를 상세히 설명합니다. 1. 데이터 정의 언어 (DDL - Data Definition Language) DDL은 데이터베이스의 구조를 정의하거나 수정하는 데 사용됩니다. 가. CREATE 데이터베이스 객체를 생성합니다. CREATE TABLE Students ( StudentID INT PRIMARY KEY, Name VARCHAR(50), Age INT, GPA FLOAT ); 나. ALTER 데이터베이스 객체의 구조를 ..

IT 이론지식 2024.03.12

데이터베이스 파티셔닝

데이터베이스 파티셔닝은 대량의 데이터를 여러 개의 논리적 또는 물리적인 파티션으로 분할하는 데이터 관리 기법입니다. 이를 통해 데이터베이스의 성능을 향상시키고 확장성을 확보할 수 있습니다. 파티셔닝은 수평 파티셔닝과 수직 파티셔닝으로 나뉘며, 각각 다양한 방식으로 데이터를 분할합니다. 수평 파티셔닝 (Horizontal Partitioning) 수평 파티셔닝은 테이블의 행을 기준으로 데이터를 분할하는 것입니다. 데이터베이스의 테이블을 여러 파티션으로 분할함으로써 데이터베이스가 처리해야 할 데이터 양을 줄이고, 조회 및 조작 연산의 병렬 처리를 가능하게 합니다. 1. Range Partitioning 특정 열의 값 범위에 따라 데이터를 분할합니다. 예를 들어, 날짜 기반으로 주문 테이블을 분할할 수 있습니..

IT 이론지식 2024.03.12

2PC (Two-Phase Commit)

분산 데이터베이스에서 사용되는 두 단계 커밋(2PC, Two-Phase Commit) 프로토콜은 여러 트랜잭션 관리자가 분산 데이터베이스 트랜잭션을 원자성(Atomicity)을 유지하면서 실행할 수 있도록 하는 데 중요한 역할을 합니다. 이 프로토콜은 분산 환경에서 데이터 일관성과 신뢰성을 보장하기 위해 사용됩니다. 1. 두 단계 커밋의 개요: 두 단계 커밋은 다음 두 단계로 구성됩니다: Prepare Phase (준비 단계): 트랜잭션 관리자들은 트랜잭션을 완료할 수 있는 준비를 하고, 다른 관리자들에게 이를 통보합니다. Commit Phase (확정 단계): 모든 관리자는 준비가 완료되었다는 신호를 받으면 트랜잭션을 커밋합니다. 만약 어떤 관리자가 준비를 실패하면 모든 관리자는 롤백을 수행합니다. 2..

IT 이론지식 2024.03.04
728x90
반응형
LIST