물리 데이터베이스 설계 목차 🎯 물리 데이터 모델 변환 테이블(Table) 테이블은 컬럼(Column, 열)과 로우(Row, 행)로 구성되며, 컬럼에는 지정된 유형에 따라 데이터가 저장된다. 테이블의 구성 요소 로우(Row) 튜플, 인스턴스, 어커런스라고도 한다. 컬럼(Column) 각 속성 항목에 대한 값을 저장한다. 기본키 (Primary key) - 기본키는 후보키 중에서 선택한 주키(Main key)이다. - 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다. 외래키 (Foreign key) - 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다. - 한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 동일한 도메인 상에서 정의되었을 때의 속성 A를 외래키라..
목차 스토리지(Storage)의 개요 📌 스토리지는 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술이다. 스토리지의 종류에는 DAS, NAS, SAN이 있다. DAS(Direct Attached Storage) 📌 DAS는 서버와 저장장치를 전용 케이블로 직접 연결하는 방식으로, 일반 가정에서 컴퓨터에 외장하드를 연결하는 것이 여기에 해당된다. 서버에서 저장장치를 관리한다. 저장장치를 직접 연결하므로 속도가 빠르고 설치 및 운영이 쉽다. 초기 구축 비용 및 유지보수 비용이 저렴하다. 직접 연결 방식이므로 다른 서버에서 접근할 수 없고 파일을 공유할 수 없다. 확장성 및 유연성이 상대적으로 떨어진다. 저장 데이터가 적고 공유가 필요 없는 환경에 적합하다. 💡 ..
물리 데이터베이스 설계 목차 데이터베이스 백업 📌 데이터베이스 백업은 전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업으로, 치명적인 데이터 손실을 막기 위해서는 데이터베이스를 정기적으로 백업해야 한다. 데이터베이스 관리 시스템(DBMS)은 데이터베이스 파괴 및 실행 중단이 발생하면 이를 복구할 수 있는 기능을 제공한다. 데이터베이스 장애 유형 📌 데이터베이스의 장애 유형을 정확히 파악하고 장애에 따른 백업 전략을 세워야 장애 발생 시 복구가 가능 하다. 사용자 실수 : 사용자의 실수로 인해 테이블이 삭제되거나 잘못된 트랜잭션이 처리된 경우 미디어 장애 : CPU, 메모리, 디스크 등 하드웨어 장애나 데이터가 파손된 경우 구문 장애 : 프로그램 오류나 사용 공간의 부..
물리 데이터베이스 설계 데이터베이스 보안의 개요 📌 데이터 베이스 보안이란 데이버베이스의 일부분 또는 전체에 대하여 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용되는 기술이다. 보안을 위한 데이터 단위는 테이블 전체로부터 특정 테이블의 특정한 행과 열 위치에 있는 특정한 데이터 값에 이르기까지 다양한다. 데이터베이스 사용자들은 일반적으로 서로 다른 객체에 대하여 다른 접근 권리 또는 권한을 갖게 된다. 암호화(Encryption) 📌 암호화는 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것이다. 암호화(Encryption) 과정 : 암호화되지 않은 평문을 정보 보호를 위해 암호문으로 바꾸는 과정 복호화(Decryption) 과정 : 암호..
물리 데이터베이스 설계 목차 데이터베이스 이중화(Database Replication) 📌 데이터베이스 이중화는 시스템 오류로 인한 데이터베이스 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 데이터베이스를 복제하여 관리하는 것이다. 데이터베이스 이중화를 수행하면 하나 이상의 데이터베이스가 항상 같은 상태를 유지하므로 데이터베이스에 문제가 발생하면 복제된 데이터베이스를 이용하여 즉시 문제를 해결할 수 있다. 데이터베이스 이중화는 여러 개의 데이터베이스를 동시에 관리하므로 사용자가 수행하는 작업이 데이터베이스 이중화 시스템에 연결된 다른 데이터베이스에도 동일하게 적용된다. 데이터베이스 이중화는 애플리케이션을 여러 개의 데이터베이스로 분산시켜 처리하므로 데이터베이스의 부하를 줄일 수 있다. ..
목차 분산 데이터베이스 정의 📌 분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 여러개의 컴퓨터 사이트(Site)에 분산되어 있는 데이터베이스를 말한다. 분산 데이터베이스는 데이터의 처리나 이용이 많은 지역에 데이터베이스를 위치시킴으로써 데이터의 처리가 가능한 해당 지역에서 해결될 수 있도록 한다. 분산 데이터베이스 구성 요소 분산 처리기 자체적으로 처리 능력을 가지며, 지리적으로 분산되어 있는 컴퓨터 시스템을 말한다. 분산 데이터베이스 지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이터베이스가 구성된다. 통신 네트워크 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 작동할 수 있도록 하는 통신 네트워크를 말한다. 분산 데..
목차 🎯 뷰(View) 설계 뷰(View)의 개념 📌 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다. 뷰는 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주된다. 뷰는 데이터 보정 작업, 처리 과정 시험 등 임시적인 작업을 위한 용도로 활용된다. 뷰는 조인문의 사용 최소화로 사용상의 편의성을 최대화한다. 뷰를 생성하면 뷰 정의 시스템 내에 저장되었다가 생성된 뷰 이름을 질의어(예를 들면 SQL)에서 사용할 경우 질의어가 실행될 때 부에 정의된 기본 테이블로 대체되어 기본 테이블에 대해 실행된다. 다음 그림은 뷰 A가 테이블1, 테이블2, 테이블3에서 유도되어 생성되며, 뷰 A를 통해 테이블1, ..
목차 트랜잭션(Transaction) 정의 📌 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용된다. 트랜잭션은 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위로 사용된다. 활동(Active) 트랜잭션이 실행 중인 상태이다. 실패(Failed) 트랜잭션이 실행에 오류가 발생하여 중단된 상태이다. 철회(Aborted) 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태이다. 부분 완료 (Partially Committed) 트랜잭션을 모두 성공적으로 ..