[CS / DataBase] 트리거(Trigger)
·
Computer Science
트리거란? 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현된 프로그램 이벤트는 전체 트랜잭션 대상과 각 행에 의해 발생되는 경우 모두를 포함할 수 있으며 테이블과 뷰(View), DB 작업을 대상으로 정의 할 수 있다. 트리거의 목적 특정 테이블에 대한 데이터 변경을 시작점으로 설정하고, 그와 관련된 작업을 자동적을 수행하기 위해 트리거를 사용한다. 일반적으로 이벤트와 관련된 테이블의 데이터 삽입, 추가, 삭제 작업을 DBMS가 자동적으로 실행시키는데 활용한다 참고 [DB] 트리거(Trigger) 트리거(Trigger) 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현된 프로그램입니다...
[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) 복잡한 쿼리 속도를 높이고 성능을 향상시키기 위해 테이블에 중복 데이터를 추가하는 프로세스 사용 대상 자주 사용되는 테이블에 액세스하는 프로세스의 수가 가장 많은 경우 항..
마볼링
게임을 좋아하는 개발자의 블로그