본문 바로가기
반응형

{ Computer Science }/Database14

[데이터베이스] 트랜잭션 격리 수준 트랜잭션 격리 수준이란, 하나의 트랜잭션에서 작업 중인 데이터가 다른 트랜잭션에 영향을 받지 않는 정도를 뜻한다. 반대로 하나의 트랜잭션에서 작업 중인 데이터를 다른 트랜잭션에서 어느 정도까지 접근할 수 있는 가를 나타낸다. 일반적으로 격리 수준을 낮게 생성하면 동시성은 좋아진다. 반대로 격리 수준을 높게 생성하면 동시성이 나빠진다. 하지만 격리 수준을 높임으로써 정확성을 확보할 수 있게 된다. 따라서 정확도와 동시성을 모두 확보할 수 있는 방안을 항상 고민해야 한다. 다음과 같이 4단계가 있다. 아래로 내려갈수록 격리 수준은 높은 단계다. READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE READ 레벨 0. READ UNCOMMITTED SEL.. 2022. 4. 11.
[데이터베이스] 인덱스 알아보기 인덱스는 where 절에서 사용해야 효과가 있다. 예를 들어 '책' 테이블의 '출판사', '제목', '작가'가 있다고 하자. 이때 인덱스는 '출판사'에 걸려 있다. 1) SELECT * FROM '책' WHERE '작가' = '짱구'; 2) SELECT '제목' FROM '책' WHERE '출판사' = '스타'; 위의 두 쿼리 중 인덱스의 효과를 받을 수 있는 쿼리는 2번뿐이다. 인덱스는 무조건 많다고 좋지 않다. 인덱스가 많아질수록 무조건 검색 속도 향상을 기대할 수 있는 것은 아니다. 인덱스는 데이터베이스의 메모리를 사용하여 테이블 형태로 저장되므로 인덱스의 개수와 메모리 사용량은 비례한다. 자주 조회하고 고유한 값 위주로 설정하는 것이 좋다. DML의 경우 UPDATE, DELETE에선 WHERE절.. 2022. 4. 7.
[데이터베이스] (完)강의 정리 9장 - SQL 데이터 정의 강의 출처: '데이터베이스의 원리와 응용' / 백현미 / 한양대학교 http://www.kocw.net/home/cview.do?cid=9c591659f017851e 9. SQL 데이터 정의 데이터 정의어: 테이블을 생성하고 변경, 제거하는 기능제공 데이터 조작어: 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정, 삭제, 검색하는 기능제공 데이터 제어어: 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능제공 CREATE TABLE: 테이블 생성 ALTER TABLE: 테이블 변경 DROP TABLE: 테이블 삭제 CHECK문: 테이블에 정확하고 유효한 데이터를 유지하기 위해 특정 속성에 대한 제약조건을 지정 SELECT: 데이터 검색 AS 키워드를 통해 .. 2021. 10. 17.
[데이터베이스] 강의 정리 8장 - 관계 데이터 연산 강의 출처: '데이터베이스의 원리와 응용' / 백현미 / 한양대학교 http://www.kocw.net/home/cview.do?cid=9c591659f017851e 8. 관계 데이터 연산 관계 데이터 연산: 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것 관계 대수: 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 관계 해석: 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술(결과의 관점) 릴레이션을 처리하는 연산자는 대표적으로 8개가 존재. 일반 집합 연산자와 순수 관계 연산자로 분류할 수 있다. 일반 집합 연산자: 릴레이션이 튜플의 집합이라는 개념을 이용하는 연산자 1. 피연산자가 2개 필요 2. 합집합, 교집합, 차집합은 피연산자인 두 릴레이션이 합.. 2021. 10. 17.
[데이터베이스] 강의 정리 7장 - 정규형과 정규화예제 강의 출처: '데이터베이스의 원리와 응용' / 백현미 / 한양대학교 http://www.kocw.net/home/cview.do?cid=9c591659f017851e 7. 정규형과 정규화예제 정규화를 통해 릴레이션은 무손실 분해(nonloss decomposition)되어야 함 1. 릴레이션은 의미적으로 동등한 릴레이션들로 분해되어야 하고 분해로 인한 정보의 손실이 발생하지 않아야 함 2. 분해된 릴레이션들을 자연 조인하면 분해 전의 릴레이션으로 복원가능해야 함 (단계가 높아질수록 제약 조건이 까다로워짐) 기본 정규형 / 고급 정규형 기본 정규형: 제1정규형, 제2정규형, 제3정규형, 보이스/코드 정규형 고급 정규형: 제4정규형, 제5정규형 릴레이션의 모든 속성이 더는 분해되지 않는 원자값만 가지면 제1.. 2021. 10. 17.
[데이터베이스] 강의 정리 6장 - 정규화 강의 출처: '데이터베이스의 원리와 응용' / 백현미 / 한양대학교 http://www.kocw.net/home/cview.do?cid=9c591659f017851e 6. 정규화 이상(anomaly)현상: 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 수정, 삭제 연산을 수행할 때 발생할 수 있는 부작용 정규화: 이상현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정 삽입 이상: 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신 이상: 중복 튜플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 삭제 이상: 튜플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 정규화: 이상 현상이 발생하지 않도록, 릴레이션을 관련 있는 속성들로만 .. 2021. 10. 17.
반응형