본문 바로가기

Study/DB5

[DB] Join과 인덱스 을 요약 정리한 글입니다. 문제가 될 시 글을 내리도록 하겠습니다. 1. Join Join(조인)은 한 테이블의 행을 다른 테이블의 행에 연결하여 두개 이상의 테이블을 결합하는 연산이다. 내부조인(Inner join)은 두 테이블 모두에서 일치하는 값을 가진 행만 반환한다. 반면에, 외부조인(Outer join)은 세가지로 나뉘는데 Left Outer Join / Right Outer Join / Full Outer Join이 그것이다. 외부 조인에는 일치하는 행과 두 테이블간에 일치하지 않는 일부 행이 포함된다. Left Outer Join은 LEFT 테이블의 모든 행과 두 테이블간에 일치하는 레코드를 반환하고, Right Outer Join은 RIGHT 테이블의 모든 행과 두 테이블간에 일치하는 레코.. 2023. 4. 2.
[DB] 트랜잭션, 동시성제어, 트랜잭션고립수준 을 요약 정리한 글입니다. 문제가 될 시 글을 내리도록 하겠습니다. 1. 트랜잭션 트랜잭션 트랜잭션은 DBMS가 데이터 베이스를 다룰 때 사용하는 작업(프로그램) 단위 (데이터를 다루는 논리적인 작업 단위)이다. 트랜잭션은 데이터베이스의 무결성을 유지하기 위해 원자성, 일관성, 고립성, 지속성의 성질을 가진다. 트랜잭션을 통해 장애 발생시 데이터를 복구하는 작업의 단위로 삼을 수 있고, 여러 작업이 동시에 같은 데이터를 다룰 때 트랜잭션을 통해서 작업을 서로 분리하는 단위로 삼을 수 있다. 트랜잭션의 과정은 아래와 같다. 데이터베이스의 데이터가 하드웨어에 저장되어 있음 데이터 처리를 위해 주기억장치 버퍼로 사본을 읽어옴 버퍼에 저장된 데이터를 수정한 후 데이터베이스에 다시 저장 간단한 사례를 들어보면, .. 2023. 4. 2.
[DB] 이상현상, 함수종속성, 정규화, 정규형 을 요약 정리한 글입니다. 문제가 될 시 글을 내리도록 하겠습니다. 1. 이상현상 잘못 설계된 테이블로 삽입, 삭제, 수정 같은 데이터 조작을 하면 이상현상이 일어난다. 다시 말해 테이블에 투플을 삽입할 때 부득이하게 NULL 값이 입력, 삭제 시 연쇄 삭제 현상이 발생, 수정시 데이터의 일관성이 훼손되는 현상을 이상현상이라고 말한다. 대표적인 이상현상은 아래와 같다. 삭제이상(deletion anomaly) : 투플 삭제시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 삽입이상(insertion anomaly) : 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야하는 현상 수정이상(update anomaly) : 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치가 .. 2023. 4. 2.
[DB] 관계데이터모델, 키(key), 무결성 제약조건 을 요약 정리한 글입니다. 문제가 될 시 글을 내리도록 하겠습니다. 1. 관계데이터모델? 관계 데이터모델은 IBM 연구소에서 근무하던 수학자 에드가 코트 박사가 제안한 개념이다. 이는 수학의 집합 이론에 근거하고 있어 타모델에 비해 튼튼한 이론적 토대를 가지고 있고, 비절차적인 언어로 원하는 데이터를 쉽게 표현하는 장점이 있다. 대표적인 DBMS로는 Oracle, SQL Server, DB2, MySQL, PostgreSQL, SQLite 등이 있다. 용어정리 데이터모델에서 relation은 관계가 아닌 행과 열로 된 테이블이다. Schema은 관계데이터베이스의 relation(테이블)이 어떻게 구성되는지 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의한다. 스키마는 테이블의 첫 행인 헤더에 나타나.. 2023. 4. 2.
[DB] 데이터베이스 시스템이란? 을 요약 정리한 글입니다. 문제가 될 시 글을 내리도록 하겠습니다. DB를 다루면서 DB를 제대로 알지 못한다는 생각에 공부를 한번 해봐야겠다는 생각을 하였다. 때마침 함께 공부하던 동생이 같이 공부해보면 어떻겠냐는 제안을 주었고 흔쾌히 승낙했다. 덕분에 많은 것을 얻어간다. 교재의 내용을 정리한 것이지만 머릿속에 가지고 있어야 할 개념들을 기록해둔다. 데이터베이스 시스템 각 조직에서 사용하던 데이터를 모아서 서로 공유하고 생기는 장점을 이용하는 시스템으로, 데이터베이스, DBMS, 데이터 모델의 세가지로 구성된다. 거기에 더해서 추가적인 데이터베이스 언어, 데이터베이스 사용자도 데이터베이스의 일부(?)라고 볼 수 있다. 1) 데이터베이스, DBMS, 데이터모델 데이터베이스는 조직에 필요한 정보를 얻기 .. 2023. 4. 2.