반응형 database11 [데이터베이스] Query Processing 단계, 비용과 최적화, 내부 동작 원리 Query ProcessingQuery processing(질의 처리)은 사용자가 작성한 고수준 쿼리(SQL 등)를 내부적으로 효율적으로 실행할 수 있는 저수준 연산으로 변환하고, 최적의 실행 계획을 선택하여 실제로 결과를 산출하는 일련의 과정을 의미한다. 이 과정은 데이터베이스 시스템의 성능과 효율성에 직접적으로 영향을 미친다.Query Processing의 3단계1. Parsing and Translation사용자가 입력한 쿼리의 문법(syntax)과 의미(semantics)를 검사한다.쿼리를 내부 표현(주로 relational algebra expression, 관계 대수식)으로 변환한다.파서는 SQL 문법 오류를 체크하고, 존재하지 않는 relation이나 attribute가 사용되었는지 검증한다.. 2025. 5. 24. [데이터베이스] 트랜잭션 개념과 스케쥴 종류, Serializability의 종류(Transaction, Serializability, Schedule) Transaction 개념Transaction은 다양한 데이터 항목에 접근하고 업데이트할 수 있는 프로그램 실행 단위이다.Transaction은 데이터베이스의 일관성을 유지하면서 안전하게 데이터를 처리하기 위한 메커니즘으로, 주로 두 가지 주요 문제를 다룬다: 하드웨어 고장이나 시스템 충돌과 같은 다양한 종류의 failure와 여러 transaction들의 concurrent execution이다.Transaction의 기본 예시: 계좌 이체Transaction의 개념을 이해하기 위해 계좌 이체 예시를 살펴보자. 계좌 A에서 계좌 B로 $50을 이체하는 transaction은 다음과 같은 단계로 구성된다:read(A) - 계좌 A의 잔액을 읽는다A := A - 50 - 계좌 A에서 $50을 차감한다wri.. 2025. 5. 18. [데이터베이스] 스토리지 종류와 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. [데이터베이스] 무결성 제약 조건(Integrity Constraints), 도메인 설정 SQL 구문 Transactions트랜잭션: 하나의 작업 단위로 간주되는 질의 및/또는 갱신 명령문의 순서시작과 종료SQL에서는 명시적인 시작 없이 SQL 문이 실행되면 트랜잭션이 자동으로 시작됨트랜잭션은 아래 중 하나로 종료해야 함:COMMIT WORK: 변경 사항을 영구 반영ROLLBACK WORK: 수행된 변경 사항을 모두 취소트랜잭션 특성Atomic(원자성): 전부 수행되거나, 전혀 수행되지 않아야 함Isolation(격리성): 동시에 실행되는 다른 트랜잭션으로부터 독립적으로 수행(concurrent)Integrity Constraints(무결성 제약 조건)무결성 제약 조건은 데이터베이스 손상 방지를 위해 사용됨데이터 변경 시 일관성(consistency) 을 유지하도록 강제함예시 제약 조건당좌예금 계좌는 $.. 2025. 4. 1. [데이터베이스] 뷰(View) 정의와 사용, 삽입 View Definition and Usewith로 만든 것도 뷰이지만, 쿼리 안에서만 유효하고, 쿼리가 끝나면 삭제된다. 뷰가 만들어지면 Db는 이 뷰를 저장할 것이고 마치 테이블 처럼 DB 어디서든 접근 할수 있고 권한 이슈도 해결 가능하다as operator를 꼭 써야된다. 뷰는 단지 반복되는 조회문을 치환한 것이기 때문에, as 연산자가 쓰인다.create view faculty asselect ID, name, dept_namefrom instructor뷰를 테이블처럼 이용해서 쿼리를 만들수 있다.select namefrom faculty where dept_name = 'Biology'뷰 만들때 view attribute 이름도 명시할 수 있다.create view departments_tot.. 2025. 3. 26. [데이터베이스] 조인 연산의 종류와 조건 Joined Relations조인 연산은 두 개의 관계(Relation)를 입력으로 받아 또 다른 관계를 결과로 반환하는 연산이다.두 개 이상의 테이블에서 관련된 열(Column)을 기준으로 행(Row)을 결합할 때 사용된다.일반적으로 FROM 절의 서브쿼리 표현식으로 활용된다.조인의 종류자연 조인(Natural Join)두 테이블에서 동일한 이름을 가진 속성을 기준으로 자동으로 조인한다.중복된 속성은 하나로 합쳐진다.내부 조인(Inner Join = join)조인 조건을 만족하는 행들만 결과로 반환한다.ON 절을 사용하여 특정 조건을 명시할 수 있다.외부 조인(Outer Join)한쪽 테이블에 매칭되는 데이터가 없어도 결과에 포함되도록 한다.세 가지 유형이 있다.왼쪽 외부 조인(Left Outer Jo.. 2025. 3. 26. [데이터베이스] 기초 SQL (2) 이전글에서는 기초 SQL문을 소개했고, 마저 집계함수에 이어서 소개하겠습니다. 이전글https://konkukcodekat.tistory.com/213 [데이터베이스] 기초 SQL (1)기초 SQL 소개SQL Data-Definition Language (DDL)SQL은 각 릴레이션의 스키마(schema), 속성의 도메인(domain), 무결성 제약 조건(integrity constraints)을 정의할 수 있다.Domain Types in SQLchar(n): 고정된 크기의 문자열konkukcodekat.tistory.comAggregate Functions – Group Byselect dept_name, avg(salary) as avg_salaryfrom instructorgroup by dept.. 2025. 3. 22. 이전 1 2 다음