강의 내용 정리/데이터베이스(14)
-
데이터베이스(14), 데이터베이스 보안과 권한 관리
데이터베이스 보안과 권한 관리 데이터베이스 소유자가 다른 사용자에게 접근할 수 있는 권한을 허가한다. 그리고 이를 취소하는 권한 관리 기법을 사용한다. 세가지 유형의 보안 물리적 보호는 하드웨어적으로 처리한다. 권한이 있는 사용자는 안으로 들어오고, 권한이 없는 경우에는 들어오지 못하도록 한다. 이를 통해 무결성을 지키도록한다. 보안 기법 임의 보안 기법은 사용자별로 DB 객체(테이블, 어트리뷰트 등)에 읽기/쓰기 등의 권한을 부여한다. 소유자가 임의로 사용자에게 권한을 줄 수 있다는 점에서 임의 보안 기법이라 한다. 강제 보안 기법은 시스템에서 보안 레벨을 설정해서 다른 사람에게 알려주는 것을 의미한다. 데이터와 사용자들의 보안등급을 부여한다. 각 사용자의 보안 등급에 따라 접근 권한이 달라지게 된다...
2023.02.08 -
데이터베이스(13), 트랜잭션
트랜잭션 1. 트랜잭션 개요 1) 개념 (1) 동시성 제어와 회복 대규모 데이터베이스를 수많은 사람들이 액세스하기에 동시에 동일한 부분이나 다른 부분을 액세스할 수 있다. 하지만 동일한 부분을 액세스하는 경우에는 문제가 야기될 수 있다.(race condition) 따라서 문제가 발생하는 것을 방지하기 위해 동시성 제어를 해야한다. 제대로 수행되는 것은 여러 개가 순차적으로 사용되는 결과와 동시에 수행된 결과는 동일해야한다. 회복은 데이터베이스를 사용하면서 여러 fail이 있을 수 있다. 예를 들면 전원이 나가는 경우가 이에 해당할 수 있다. 제대로 끝나지 않는 경우에는 이를 일관된 상태로 되돌려줘야한다. 즉, 수행되다가 멈추면 수행되기 전 상태로 되돌려줘야한다. 또한 끝났다고 선언한 것은 제대로 끝난 ..
2023.02.05 -
데이터베이스(12), 뷰와 시스템 카탈로그
뷰와 시스템 카탈로그 1. 뷰 1) 뷰의 개념 뷰는 기존 릴레이션(실제 릴레이션)에 대한 SELECT 문으로 정의된다. 동적인 창의 의미는 시간에 따라 달라지는 것을 볼 수 있다는 것을 의미한다. 어느 시점에 실제 릴레이션을 select해서 뷰를 사용한다. 뷰 3은 기본 릴레이션2와 3을 사용했다. 즉, 여러 릴레이션을 가지고 정의할 수 있다. 뷰 또한 다른 뷰를 정의할 때 사용될 수 있다. with check option은 선택적으로 올 수 있다. 두 개의 릴레이션을 조인할 때 이름이 동일하면 이를 명시해야한다. 예시 1 예시 2 뷰를 질의에서 사용하면 뷰의 접근 권한을 검사한 뒤, 기본 릴레이션에 대한 동등한 질의로 변환한다. 2) 뷰의 장점 (1) 복잡한 질의를 간단하게 표현 가능 (2) 데이터의 ..
2023.01.31 -
데이터베이스(11), 함수적 종속성과 정규화
함수적 종속성 부록 Closure test 위첨자로 +를 붙여서 이를 사용한다. Y는 어트리뷰트 집합을 의미한다. Closure: 어트리뷰트들의 집합이 결정할 수 있는 모든 어트리뷰트를 모아놓은 것 Closure를 구하는 방법 1. 처음에는 Y+ = Y로 둔다. ex) Y = {C, D} => Y+ = {C, D} 2. Y+에 포함된 X가 다른 어트리뷰트를 결정지으면 이를 Y+에 포함시킨다. ex) X E Y+, X -> A => Y+에 A를 포함 예 요구사항에 따라 ABCD를 ABC와 AD로 분해한다. 이때 ABC와 AD의 함수적종속성을 알아야한다. ABC의 함수적 종속성: AB -> C AD의 함수적 종속성: D -> A 분해된 릴레이션에서는 C -> D의 함수적 종속성이 사라졌다. 또한 원래 있던 ..
2022.12.25 -
데이터베이스(10), 릴레이션 정규화
릴레이션 정규화 1. 정규화 개요 원래의 릴레이션에는 중복이 있기에 이를 작은 릴레이션으로 분할한다. 이때 함수적 종속성을 사용한다. 좋은 관계 데이터베이스 스키마를 설계하는 목적 정보가 중복되면 갱신이상이라는 주요한 문제가 발생한다. 어떤 시스템을 개발할 때에는 정확하게 구현하는 것부터 시작해서 퍼포먼스를 고려해야한다. 데이터 베이스 설계에서도 기능을 요구사항대로 구현할 수 있는지 따지고, 그 뒤 성능에 대해 고려한다. 갱신 이상(update anomaly) (1) 수정 이상(modification anomaly) (2) 삽입 이상(insertion anomaly) (3) 삭제 이상(deletion anomaly) 회사의 방침이 바뀌어서 부서가 3개나 1개만 속할 수 있다고 하면 스키마를 바꿔야한다. ..
2022.12.20 -
데이터베이스(9), 물리적 데이터베이스 설계
물리적 데이터베이스 설계 물리적 데이터 베이스 설계란? 1. 보조 기억 장치 블록은 저장 장치와 메인 메모리 사이에서 데이터를 주고받는 단위를 의미한다. 전형적인 블록 크기는 시대에 따라 달라진다. 최근에는 4kb, 16kb, 32kb를 사용하기도 한다. cf) 캐릭터 장치(문자 장치): 이는 한문자마다 데이터를 전송하는 장치를 의미한다. 대표적으로 키보드가 있다. 저장 장치의 계층 구조 cpu는 디스크에 있는 데이터를 직접 쓰거나 읽을 수 없다. 디스크에 있는 블럭 단위의 데이터를 주기억 장치와 주고받는 식으로 진행한다. 따라서 read, update, write하는 순서로 데이터를 작성한다. 백업을 위해선 싼 가격의 저장 장치인 자기테이프를 사용해 이를 저장한다. 자기디스크 자기 물질: 마그네틱 물질..
2022.12.14