Computer Science/DB

DBMS는 여러 사용자가 DB에 동시에 접근할 수 있다. 여러 사용자가 동시에 접근하면 트랜잭션도 동시에 여러 개가 실행되는데 DBMS는 여러 트랜잭션을 동시에 실행하기 위해 병행 수행을 지원한다. 그리고 이 병행 수행이 잘 이루어지도록 하기 위해서 병행 제어를 실시한다. 트랜잭션의 속성 ACID중 I에 해당하는 Isolation을 보장하기 위한 것이 병행 제어 Concurrency Control이다. (자세한 것은 위 글씨에 달아둔 링크 참고) 1. 병행 수행이란? 정의 : 여러 사용자가 DB에 접근할 때 여러 트랜잭션이 수행되는데 이 여러 트랜잭션들을 병행 수행시키는 방식 운영체제가 멀티 프로세스를 지원하는 것과 비슷한 모양 여러 트랜잭션을 수행하는 순서가 중요하므로 트랜잭션 스케줄에 따라 트랜잭션을..
1. 정의 사전적 의미: 거래 CS 분야에서의 의미: 더이상 분할이 불가능한 업무처리의 단위 👉 한꺼번에 수행되어야 할 일련의 연산 모음 만약, 계좌이체 시 인출에는 성공했는데 입금에 실패하면? 👉 경제적 손실이라는 치명적인 결과 👉 이 두 과정은 동시에 성공하든지 동시에 실패해야 함 👉 이 과정을 동시에 묶는 방법이 바로 트랜잭션 START TRANSACTION -- 이 사이의 명령어들은 하나의 명령어처럼 처리됨 -- 성공 or 실패 둘 중 하나 A의 계좌로부터 인출; B의 계좌로 입금; COMMIT 👉 데이터 거래에 있어서 안전성을 확보하기 위한 방법. 오류가 발생 시 결과 재반영 X, 모든 작업을 원상태로 복구 처리 과정이 모두 성공했을 때만 그 결과를 반영함 2. 특징 (ACID) Atomicit..
후보키와 대체키의 역할과 관계는? 👉 후보키는 유일성과 최소성을 모두 갖춘 속성들입니다. 기본키로 사용 가능한 후보들이 되는 키입니다. 대체키는 기본키가 되고 남은 속성들을 의미합니다. 후보키는 대체키를 포함한다고 볼 수 있을 것 같습니다. DB 설계에서 식별자로 자연키와 인조키 중 어떤 것을 선택하는 것이 바람직한지 말하고, 그 이유를 설명하세요. 👉 인조키를 선택하는 것이 바람직합니다. 그 이유를 말씀 드리겠습니다. 첫째, 자연키는 변경될 수 있습니다. 예를 들어, 회원 정보에서 전화번호 항목을 수집한다고 가정했을 때, 전화번호는 유일하지만 회원의 상황에 따라 변경될 수 있습니다. 둘째, 환경이 변할 수 있습니다. 예를 들어, 주민번호를 수집해 식별자로 사용하다가 국가에서 해당 속성을 수집하지 못하게..
1. ERD의 의미 Entity Relationship Diagram 요구 분석 사항에서 얻은 엔티티와 속성들의 관계를 그림으로 나타낸 개체-관계 모델 테이블과의 관계를 설명하는 다이어그램 이를 통해 프로젝트에서 사용하는 데이터베이스의 구조를 한눈에 파악할 수 있다. 데이터베이스를 구축 시 뼈대 역할을 하며, 서비스 구축 시 제일 먼저 신경써야 할 부분이다. 👉 API를 보다 효율적으로 뽑아낼 수 있다. 2. ERD 그리기 2-1. 엔티티 Entity 정의 가능한 사물 또는 개념 데이터베이스의 테이블이 엔티티로 표현된다. 2-2. 엔티티 속성 Entity Attribute 개체가 가지고 있는 속성 예) 학생 엔티티에는 학번, 이름, 주소, 전공 등 속성이 있다. 데이터베이스 테이블의 각 필드(컬럼)들 2..
0. Background 0-1. 데이터베이스 무결성 무결성이란? 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성 1) 개체 무결성 Entity Integrity 첫 번째 조건: 기본키를 구성하는 속성은 null 값을 가질 수 없다. 두 번째 조건: 기본키를 구성하는 속성은 다른 레코드와 중복될 수 없다. 예) 학생이라는 개체를 표현하기 위해 데이터베이스 표에서 학번, 이름, 학과 속성으로 표현을 할 수 있다. 학생을 표현할 때 학번을 그 기본키로 정했다면 학번에 null 값이 있어서는 안 된다. 2) 참조 무결성 Referential Integrity 외래키를 구성하는 조건은 참조 릴레이션(테이블)의 기본키 값과 동일해야 한다. 👉 릴레이션은 참조할 수 없는 외..
깨구르르
'Computer Science/DB' 카테고리의 글 목록 (2 Page)