본문 바로가기

Computer Science33

데이터베이스 이상현상 이상현상 이상현상: 테이블에 튜플을 삽입할 때 부득이하게 NULL 값이 입력되거나, 삭제 시 연쇄삭제 현상이 발생하거나, 수정 시 데이터의 일관성이 훼손되는 현상 학생수강 테이블 학생번호 학생이름 학과 주소 강좌이름 강의실 501 박지성 컴공 영국 데이터베이스 공학관 110 401 김연아 체육 서울 데이터베이스 공학관 110 402 장미란 체육 강원도 스포츠경영 체육관 103 502 추신수 컴공 미국 자료구조 공학관 111 501 박지성 컴공 영국 자료구조 공학관 111 이와같은 테이블이 존재할때 삭제이상 삭제이상(deletion anomaly) 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 → 연쇄삭제(triggered deletion 문제 발생) 예) 장미란 학생이 스포츠경영 과목.. 2021. 12. 30.
데이터베이스 함수적 종속성(FD ,Functional Dependency) 함수적 종속성 함수적 종속성(FD ,Functional Dependency) : 애트리뷰트들 간에 존재하는 제약조건을 표현한것 , 기본키에 해당하는 애트리뷰트(들)을 결정자, 나머지 애트리뷰트들을 종속자라고 생각하면, 기본키에 값에 따라 나머지 애트리뷰드을이 결정된다 X → Y X에서 Y로 함수적 종속성이 있다. X는 결정자(Determinant), Y는 종속자(Dependent)라고 부른다. X에서 Y로 함수적 종속성이 존재한다고 말하거나 Y가 X에 함수적으로 종속된다고 말한다. 다음과 같이 학생 테이블을 가정한다면 학생테이블 학번 이름 생년월일 주소 학과 20200301 홍길동 2000/07/01 서울 국문 20200302 박봉팔 2000/07/02 부산 컴공 20200303 콩순이 2000/07/0.. 2021. 12. 27.
데이터베이스 동시성 제어, 락(LOCK)의개념 동시성 제어 동시성 제어 : 트랜잭션이 동시에 수행될때, 일관성을 해지지 않도록 트랜잭션의 데이터 접근을 제어하는 DBMS의 기능을 동시성 제어라고 한다. 트랜잭션 읽기/쓰기 시나리오 갱신손실(lost update) 문제 갱신손실는 두개의 트랜잭션이 한개의 데이터를 동시에 갱신(update)할 때 발생한다. 갱신손실 문제는 데이터베이스에서 절대 발생하면 안됨 갱신손실이 발생하는경우 A트랜잭션이 X의 계좌에서 100원을 인출하고 B트랜잭션이 X의 계좌에서 100원을 입금했을때의 예이다 은행에선 당연히 X의 계좌가 1000원이어야 하는데 동시에 X계좌를 접근했을때의 결과를 보여준다 트랜잭션 T1 트랜잭션 T2 버퍼 데이터 A= read(X); (1) A=A-100; X=1000 B = read(X); (2).. 2021. 12. 23.
데이터베이스 트랜잭션 트랜잭션은 DBMS에서 데이터를 다루는 논리적인 작업 단위다. 보통 단일 SQL문을 사용하지만 여러개의 SQL문을 순차적으로 작성하기때문에 트랜잭셩을 정의하는 이유는 다음과 같다. 데이터베이스에서 데이터를 다룰때 장애가 일어나는 경우, 트랜잭션은 장애 시 데이터를 복구하는 작업의 단위가 됨 데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰때가 있다. 트랜잭션은 이 작업을 서로 분리하는 단위가 된다. 생각해보자 A계좌에서 B계좌로 만원을 이체할때 SQL을 실행한다고 보면 1 2 3 4 5 6 7 BEGIN 1. A계좌에서 만원을 인출하는SQL UPDATE 문 2. B계좌에서 만원을 입금하는 SQL UPDATE 문 END cs 위의 예에서 만약 1번 SQL문이 수행된다음 시스템에 문제가 생기거나 다른 .. 2021. 12. 18.