본문 바로가기

DB18

[DB] 트랜잭션의 특성(ACID, 원자성/일관성/고립성/영속성)과 상태 트랜잭션의 특성에는 '원자성', '일관성', '고립성(독립성)', '영속성'이 있습니다. 이러한 특성과 트랜잭션의 상태 변화까지 알아보겠습니다. [ Contents ] 1. 트랜잭션 (Transaction) DB 상태를 변화시키는 일련의 작업 단위 부분적으로 실행되서는 안되는 '일련의 작업 단위'를 트랜잭션이라고 합니다. 예를 들어 계좌이체에서 오류가 발생해서 돈만 빠져나가고 상대방에게는 입금이 안되었다면 큰일이겠죠. 그래서 트랜잭션은 병행제어 및 회복 작업의 논리적 단위로서 자주 언급됩니다. 2. 트랜잭션의 특성 (ACID) 1) 원자성 (Atomicity) 트랜잭션 실행은 모두 완료되거나, 실패 시 실행 이전으로 돌아가야 함 앞서 말했듯이, 트랜잭션은 부분 성공해서는 안 됩니다. 모두 완료하거나 실행.. 2023. 4. 24.
[DB] 데이터베이스 정규화 (제 1, 2, 3, 보이스/코드, 4, 5 정규형) 이상현상을 방지하기 위해, 테이블을 잘게 쪼개는 정규화라는 작업을 합니다. 정규화에는 1~5단계가 있으며, 이에 대해 알아보도록 하겠습니다. [ Contents ] 1. 정규화 (Normalization) 이상현상(Anomaly)을 없애기 위해, 테이블을 잘게 쪼개는 과정 앞서 이상현상을 살펴보았습니다. 이상현상은 삽입, 갱신, 삭제 시 원치 않는 결과를 초래하는 경우를 뜻합니다. PK값이 없어서 삽입할 수 없다던가, 갱신으로 인해 상이한 데이터가 생긴다던가 하는 문제가 있었죠. 2023.04.24 - [Data Engineering] - [DB] 데이터베이스 이상현상(삽입, 삭제, 갱신)과 함수종속성 개념과 예시 [DB] 데이터베이스 이상현상(삽입, 삭제, 갱신)과 함수종속성 개념과 예시 데이터베이스 .. 2023. 4. 24.
[DB] 데이터베이스 이상현상(삽입, 삭제, 갱신)과 함수종속성 개념과 예시 데이터베이스 이상현상에 대해서 알아보고, 이와 관련된 함수 종속성의 개념과 예시도 살펴보겠습니다. [ Contents ] 1. 이상현상 - 삽입 이상(Insertion Anomaly): 튜플 삽입 시, 원하지 않는 정보(NULL 등)를 강제 삽입해야 하는 경우 - 삭제 이상(Deletion Anomaly): 튜플 삭제 시, 같이 저장된 다른 정보까지 삭제되는 경우 - 갱신 이상(Update Anomaly): 튜플 갱신 시, 중복된 데이터의 일부만 갱신되어 데이터 불일치가 일어나는 경우 이상현상은 삽입, 삭제, 갱신 작업에서 생기는 오류가 아닙니다. 각 작업은 제대로 진행되나, 의도치 않은 데이터 손실이나 누락 문제가 생길 때 '이상 현상'이라고 합니다. 학번 (PK) 성명 학과 등록금 장학 2310132.. 2023. 4. 24.
[DB] 가상 테이블, 뷰(VIEW)의 특성과 장단점 주로 조회 용도로 만들어둔 가상 테이블을 뷰(VIEW)라고 합니다. 이러한 뷰의 특성, 장단점을 살펴보겠습니다. [ Contents ] 1. 뷰(VIEW) 자주 조회하는 SELECT문을 저장해 둔 가상 테이블 관계형 데이터베이스에서 테이블은 정규화되어 나뉘어 있습니다. 흩어진 모든 정보를 모아둔... 일명 Master(마스터) 테이블이 없다면, 매번 join을 통해서 여러 테이블을 모아 조회해야 합니다. 예를 들어, 학생의 신상정보를 보려면 여러 테이블(신체, 학적, 성적, 등록, 봉사활동, 자격증, 어학 등등)을 학번으로 조인을 걸어서 통합해야 합니다. 이는 굉장히 귀찮고 손이 많이 가는 일이죠. CREATE VIEW 신상정보(학번, 신체, 학적, 성적, 등록, 봉사활동, 자격증, 어학) AS SELE.. 2023. 4. 23.
[DB] 테이블 키의 5가지 종류와 무결성 제약 3가지 종류 DB 테이블 키에는 슈퍼키, 후보키, 기본키, 대체키, 외래키가 있습니다. 그리고 무결성 제약에는 개체 무결성, 참조 무결성, 도메인 무결성이 있습니다. 이들에 대해 자세히 알아보겠습니다. [ Contents ] 1. 테이블 키의 종류 - 후보키(Candidate Key): 최소 조합으로 만든 유일한 키 - 기본키(Primary Key): 선정된 후보키 - 대체키(Alternate Key): 후보키 중 기본키를 제외한 나머지 키 - 슈퍼키(Super Key): 최소 조합이지만 유일하지는 않은 키 - 외래키(Foreign Key): 다른 테이블에서 해당 테이블을 참조할 때 쓰는 기본키 테이블 키에는 위와 같이 5가지 종류가 있습니다. 후보키, 기본키, 대체키, 슈퍼키, 외래키입니다. 테이블 키는 특정 속성.. 2023. 4. 23.
[DB] 데이터베이스 설계 프로세스와 종류 (개념적 설계, 논리적 설계, 물리적 설계) 데이터베이스를 설계하는 프로세스와 그 과정에 대해서 알아봅니다. [ Contents ] 1. 데이터베이스 설계 단계 요구 조건 및 분석 => 개념적 설계 => 논리적 설계 => 물리적 설계 => 구현 먼저 데이터 및 처리 요구 조건을 파악한 다음, 개념-논리-물리 설계를 거쳐 구현합니다. 각 설계과정은 아래에서 자세히 알아보겠습니다. 2. 개념적 설계 개념적 설계는 DBMS와 무관하게 독립적으로 설계합니다. 이 단계에는 개념적 스키마(데이터 중심)와 트랜잭션(처리 중심) 모델링이 있습니다. 3. 논리적 설계 반면 논리적 설계에서는 사용하는 DBMS에 맞게 종속적으로 설계합니다. 이 단계에서는 논리적 스키마와 트랜잭션 인터페이스를 설계합니다. 3. 물리적 설계 물리적 설계에서는 사용하는 DBMS에 맞는 물.. 2023. 4. 22.
[DB] 데이터 사전(Data Dictionary)과 데이터 디렉토리(Data Directory) 데이터베이스를 정의하는 데이터 사전과, 데이터 사전에 수록된 데이터를 실제로 접근하는 정보를 관리하는 데이터 디렉토리에 대해서 알아보겠습니다. [ Contents ] 1. 데이터 사전 (Data Dictionary) 데이터 사전은 데이터베이스에 포함되는 모든 데이터 객체들의 정의나 명세를 관리합니다. 테이블로 되어있어 쿼리문으로 조회도 가능하지만, 갱신은 데이터 정의어(DDL)로 해야 합니다. (대체로 읽기전용) SELECT table_name, tablespace_name FROM ALL_TABLES; 데이터 사전에는 스키마 객체(Table, View, Index 등)와 함수, 프로시저, 트리거, 패키지뿐만 아니라 사용자 정보와 권한, 역할까지 전반적인 데이터베이스 정보가 다 들어있습니다. SELECT.. 2023. 4. 22.
[DB] 데이터 언어의 종류 (데이터 정의어, 데이터 조작어, 데이터 제어어) 데이터베이스에서 사용하는 언어, SQL에는 3가지 종류가 있습니다. 데이터 구조를 정의하는 데이터 정의어(DDL), 데이터를 삽입/삭제/갱신/조회하는 데이터 조작어(DML), 데이터를 제어하는 데이터 제어어(DCL)입니다. 이에 대해서 알아보겠습니다. [ Contents ] 1. 데이터 정의어 (DDL, Data Definition Language) 데이터 구조를 생성하거나 변경, 삭제하는 데에 사용합니다. 흔히 데이터베이스 관리자(DBA)가 사용하며, DB의 스키마를 정의합니다. 이는 메타 데이터 형태로 데이터 사전(Data Dictionary)에 저장됩니다. SQL문에서는 CREATE, DROP, ALTER, TRUNCATE와 같은 명령어가 있으며, 테이블이나 뷰 등을 정의할 때 사용합니다. DML과.. 2023. 4. 22.
[DB] 데이터베이스 스키마 개념과 종류 (외부, 개념, 내부) 데이터베이스 시스템을 이루는 3가지 스키마에 대해서 알아보고, 이를 구분하는 인터페이스를 살펴봅니다. [ Contents ] 1. 데이터베이스 시스템 데이터베이스 시스템은 위와 같이 작동합니다. 사용자나 응용프로그램에 맞게 외부 스키마를 나누어 놓으며, 외부 스키마가 모여 하나의 개념 스키마를 이룹니다. 2. 스키마 (Schema) - 전반적인 DB의 논리적 설계를 의미하며, 관계형 DB에서 데이터가 구조화되는 방식을 정의 - 데이터 객체, 성질, 관계, 제약조건에 관한 정의 위 그림과 같이, 스키마는 대체로 데이터베이스 아키텍처를 그릴 때 들어갑니다. 그리고 스키마 설계 프로세스를 데이터 모델링이라고도 합니다. 이렇게 모델링된 스키마는 컴파일되어 데이터 사전에 저장됩니다. 3. 스키마 종류 1) 외부 .. 2023. 4. 22.