Computer Science/데이터베이스9 데이터베이스 트랜잭션 트랜잭션은 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. 데이터베이스 인덱스 인덱스가 필요한 이유 사용자가 데이터를 읽을때 디스크에 저장되어있는 데이터를 읽게됨 하드디스크 원형 플레이트로 구성 , 원형플레이트는 논리적인 트랙으로 나뉨 트랙은 다시 몇개의 섹터로 나뉘게됨 하드디스크 ->원형 플레이트 ->트랙 ->섹터 하드 디스크에서 저장된 데이터를 읽어오는데 걸리는 시간은 모터(moter)에 의해 분당 회전하는 속도(RPM) 데이터를 읽으때 액세스 암이 이동하는 시간(latency time) 주기억장치로 읽어오는 시간(transfer time)에 영향을 받음 따라서 디스크 입출력 시간을 액세스 시간(access time)이라고 하는데 액세스시간 = 탐색시간(seek time : 액세스 헤드를 트랙에 이동시킨시간) +회전지연시간(rotational latency tiem, 섹터가 액.. 2021. 12. 9. 데이터베이스 키의 종류 키(Key)란? : 유일성과 최소성을 만족해야함 →즉 중복된 값이 없어야하며 null값을 가질수 없음 따라서 무언가를 식별하는 고유한 식별자(identifier) 기능을 한다. 유일성 : key하나로 튜플이 식별 최소성 : 꼭 필요한 속성으로 구성 무슨 뜻이냐면, 키가 (학번,이름,학과) 이렇게 3개로 구성되었을때 키는 될수있지만 최소성을 만족하지못함 학번은 중복된 값이 올수없지만 이름과 학과는 중복된 값을 갖기 때문에 학번 하나만으로 튜플을 식별 할 수있음 키의종류 후보키 : Tuple을 유일하게 포착하기 위해 사용하는 속성들의 부분 집합 유일성, 최소성 만족함 아래 사진과 같이 (학번 or 주민번호)가 후보키가 될수있고 아직 학번과 주민번호중 기본키로 선택되지 않음 기본키 : 후보키중 선택된것 (1개.. 2021. 12. 3. SQL JOIN의 종류 Join 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법 Inner Join 두 테이블 이상의 공통된 부분을 결합하는것 inner join 예시 1 2 3 select st.name,st.ino, s.name,s.score from student st inner join subject s on st.name = s.sname cs where 절을 이용한 inner join 1 2 3 select st.name,st.ino, s.name,s.score from student st, subject s where st.name = s.sname cs Left Outer Join 과 Right Outer Join 하나의 테이블을 기준으로 잡고 동일한 값이 없음에도 결합할때 사용 left .. 2021. 11. 25. 이전 1 2 3 다음