[CS / DataBase] 트랜잭션(Transaction)
·
Computer Science
트랜잭션이란? 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산 즉, 하나의 작업을 수행하기 위해 필요한 데이터베이스의 연산들을 모아놓은 것 특징 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위 하나의 트랜잭션은 Commit되거나 Rollback 된다 트랜잭션의 특징(ACID) Atomicity(원자성) 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전형 반영되지 않아야한다. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수해되지 않고 어느하나라도 오류가 발생하면..
[CS / DataBase] 데이터베이스 인덱스(Index)
·
Computer Science
인덱스(Index)란? 데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조 테이블의 특정 컬럼에 인덱스를 생성하면, 해달 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 컬럼의 값(Key) - 물리적 주소(Value) 인덱스 관리 DBMS는 Index를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 탐색 할 수 있다 인덱스가 적용된 컬럼에서 INSERT, UPDATE, DELETE가 수행된다면 각각 다음과 같은 연산을 추가적으로 해주어야 함 => 오버헤드 발생 INSERT : 새로운 데이터에 대한 인덱스를 추가함 DELETE : 삭제하는 데이터의 인덱스를 사용하지 않는다는 작업을 진행함 UPDATE : 기존의 인덱스를 사용하지 않음 처리하고, 갱신된 ..
[CS / DataBase] 데이터베이스 무결성
·
Computer Science
데이터 무결성 데이터의 정확성, 일관성, 유효성이 유지되는 것 정확성 : 중복이나 누락이 없는 상태 일관성 : 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태 데이터 무결성 제약조건 개체 무결성(Entity Integrity) 모든 테이블이 기본 키(Primary Key)로 선택된 필드(Column)를 가져야 한다. 기본 키는 테이블 내에서 오직 하나의 값만 존재해야함 기본 키에는 NULL값이 올 수 없음 참조 무결성(Referential Integrity) 관계형 데이터베이스 모델에서 참조 무결성은 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되는 것 => 외래 키 제약이라고도 함 외래 키(Foreign Key)의 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해..
[CS / DataBase] ER 다이어그램
·
Computer Science
ERD Entity Relationshop Diagram 요구사항으로부터 얻어낸 정보(개체, Entity) - 관계(Relation) 을 나타낸 도표(Diagram) 개체(Entity) 단독으로 존재하는 개체를 의미하며, 동일한 개체는 존재하지 않음 예를 들어, 학생 정보가 학번, 이름, 학년이 있을 때, 3개의 정보가 모두 같은 학생은 오직 한 명이면 개체라고 함 즉, 학생 한명이 개체가 되는 것 이 개체들의 집합을 Entity Type ER 다이어그램에서 Entity Type은 네모로 표현 애트리뷰트 또는 속성(Attribute) 개체가 갖는 속성 예를 들어, Student에서 학번, 이름, 학년 같은 정보를 속성이라 함 ER 다이어그램에서 Attribute는 원으로표현 관계(Relation) Ent..
[CS / DataBase] 정규화와 비정규화
·
Computer Science
DB 정규화(Normalization) 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스 목적 불필요한 데이터를 제거, 데이터의 중복을 최소화 하기 위함 데이터베이스 구조 확장 시 재디자인을 최소화 다양한 관점에서의 query를 지원하기 위함 : JOIN을 통해서 원하는 정보를 가져옴 무결성 제약조선의 시행을 간단하게 하기 위함 : 데이터의 정확성, 일관성, 유효성 유지 각종 이상 현상(Anomaly)을 방지하기 위해서, 테이블의 구성을 논리적이고 직관적으로 한다. DB 반정규화(Denormalization) 복잡한 쿼리 속도를 높이고 성능을 향상시키기 위해 테이블에 중복 데이터를 추가하는 프로세스 사용 대상 자주 사용되는 테이블에 액세스하는 프로세스의 수가 가장 많은 경우 항..
[CS / DataBase] 관계 유형(1:1 1:N N:M)
·
Computer Science
데이터베이스 관계 관계형 데이터베이스(RDBMS)는 엔티티끼리 관계를 맺을 수 있다 엔티티(Entitiy) : DB에 표현하려고 하는 유형, 무형의 객체로서 서로 구별되는 것 📕 1:1 관계(일대일 관계) 어느 엔티티 쪽에서 상대 엔티티와 반드시 단 하나의 관계를 가지는 것 보안 목적, 대형 테이블 분할 및 기타 다양한 특정 목적으로 사용될 수 있음 [ 예시 ] 다음과 같이 Users 테이블과 Phonebook 테이블이 있다고 가정한다. Users 테이블은 ID, name, phone_id를 가지고 있다. 이 중 phone_id는 외래키(foreign key)로써, Phonebook 테이블의 ID 와 연결되어 있다. Phonebook 테이블은 ID와 phone_number를 가지고 있다. 각 전화번호가 ..
마볼링
'Database' 태그의 글 목록 (2 Page)