Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags more
Archives
Today
Total
관리 메뉴

개발의변화

데이터베이스론 본문

카테고리 없음

데이터베이스론

refindmySapporo 2024. 4. 17. 16:21
반응형

외부 스키마: 데이터베이스의 개개 사용자나 응용 프로그래머가 접근하는 데이터베이스 정의

 

개념 스키마: 범 기관적 입장에서 데이터베이스를 정의, 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스를 기술 (개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권하느 보안 및 무결성 규칙에 관한 명세를 정의

 

내부 스키마: 저장 장치의 입장에서 데이터베이스 전체가 저장되는 방법 명세, 물리적 저장 장치의 관점

 

데이터베이스 관리 시스템(DBMS)

 


데이터베이스 설계

 

요구조건 분석 단계: 데이터 및 처리 요구조건

 

개념적 설계 단계: DBMS 독립적 개념스키마 설계 , 트랜잭션 모델링

 

논리적 설계 단계: 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스 설계

 

물리적 설계 단계: 목표 DBMS에 맞는 물리적 구조 설계, 트랜잭션 설계

 

구현 단계: 목표 DBMS DDL로 스키마 작성, 트랜잭션 작성

 


ISAM: 색인순차 접근 방식

인덱스 영역, 데이터 영역, 오버플로 영역으로 구성

레코드 삽입 삭제시 인덱스 구조는 변경되지 않고 내용만 견경된다. 레코드 파일에서 새로 삽입할 저장 공간이 없을 경우 오버플로 공간을 사용한다. 오버플로 영역이 꽉 차거나 혹은 파일의 성능이 저하되면 재조직 해주어야한다.

 

DAM: 특정 레코드 접근 시간이 가장 빠른 것은 주소를 계산하여 그 주소에 해당하는 레코드를 저장,탐색하는 방식의 파일


 

기본키의 경우 자동으로 인덱스가 생성되며 인덱스 구축 시 두 개 이상의 칼럼(column)을 결합하여 인덱스 생성

SQL 명령문의 검색 결과는 인덱스 사용 여부와 관계없이 동일하며 인덱스는 검색 속도에 영향을 미친다.

 


순차 파일은 탐색 키 기준으로 정렬되어 있으므로 이 기준에 맞는 필드 값 범위에 해당하는 대량의 데이터 레코드들을 검색할 떄 효율적

인덱스 대상 필드 값과 그 값을 가지는 데이터 레코드를 접근할 수 있게 하는  위치 값이 기록된다.

인덱스를 이용하여 원하는 정보를 더 빠르게 접근할 수 있다.

 


개체 관계 모델(Entity-Relationship model) 

 

 

원두개로 되어 있는 것이 다중값 속성이다.

 

N:M 관계인 등록에는 학생테이블의 학번 속성과 과목테이블의 과목번호를 모두 포함

 


관계모델링

릴레이션: 정보 저장의 기본 형태가 2차원 구조의 테이블

투플: 테이블의 한 행을 구성하는 속성들의 집합

애트리뷰트: 테이블의 각 열을 의미

도메인: 애트리뷰트가 취할 수 있는 값들의 집합

차수: 애트리뷰트의 개수

기수: 투플의 개수

 

 


데이터베이스 키

후보키: 모든 투플들을 유일하게 식별할 수 있는 속성의 부분집합으로 유일성과 최소성을 만족

슈퍼키: 모든 투플들을 유일하게 식별할 수 있는 속성의 부분집합으로 유일성을 만족해야 한다.

기본키: 후보키 중에서 투플을 식별하는 기준으로 선택된 특별한 키

대체키: 후보키 중에서 기본키로 선택되지 않은 나머지 후보키

외래키: 릴레이션 간의 관계를 나타내기 위해 사용되는 키로 어떤 릴레이션의 기본키 참조 애트리뷰트

 

 


무결성 종류


개체 무결성 : 학번이 기본키이므로 학번은 반드시 중복 또는 널일수 없다. 중복되거나 널 값일 경우 삽입,갱신 못하는 것을 개체 무결성 제약조건

 

참조 무결성 제약조건: 참조 무결성을 위해 참조 대상이 존재하지 않는 외래키를 허용하지 않는다.

 

외래 키 -> 어떤 튜플의 기본 키 값과 같거나 널 값일수도 있다.

 

널 값: 크게 해당되지 않는(not applicable)과 알 수 없는(unknown) 경우에 사용

 


 

 

뷰 위에 다른 뷰를 정의할 수 있다

뷰가 정의된 테이블이 삭제되면 뷰도 함께 삭제된다.

뷰는 논리적으로 구현되는 가상 테이블

제거할 때 DROP


관계 대수

 

 

조건을 만족하는 투플을 추출하는 관계연산자로는 셀렉션으로 한다.

SQL의 SELECT에서 출력하고자 하는 속성은 프로젝션 연산을 수행

SQL의 WHERE에서 추출하고자 하는 조건식은 셀렉션연산으로 수행

 


정규화

주어진 릴레이션 스키마를 함수적 종속성과 기본키를 기반으로 분석하여 원래의 릴레이션으로 분해함으로써 중복과 이상현상을 최소화하는 것

 

정규화

수정이상: 반복된 데이터 중에 일부만 수정하면 데이터의 불일치 발생

삽입이상: 불필요한 정보를 함께 저장하지 않고는 어떤 정보를 저장하는 것이 불가능

삭제이상: 유용한 정보를 함께 삭제하지 않고는 어떤 정보를 삭제하는 것이 불가능

 


BCNF: 제3정규형 릴레이션에서 데이터 중복이 발생하지 않기 위해서는 모든 속성이 릴레이션의 기본키에 대해서만 완전함수적으로 종속되어야 하며 이런 제약조건을 만족시키는 릴레이션이 BCNF

 

 


지연갱신

트랜잭션에 의해 갱신된 값은 트랜잭션이 commit될 떄 데이터베이스에 적용된다. 즉 commit되지 않은 트랜잭션에 의한 갱신 값은 데이터베이스에 적용되지 않았으므로 그 전의 값을 갖고 있다.

그러므로 지연갱신에서는 undo를 하지 않는다.

 

checkpoint이후 commit되었으므로 2100에서 2200으로 갱신된 값을 인정한다.

 

checkpoint를 기준으로 이전에 commit된 작업에 대해서는 아무런 회복의 조치를 취할 필요없이 저장이 보장된다.

checkpoint를 기준으로 이후 작업들은 commit된 작업은 REDO, commit되지 않은 작업은 UNDO

 

지연 갱신 회복기법 

장애 전 commit된 트랜잭션은 REDO를 수행

장애 전 commit되지 않은 트랜잭션은 회복을 위해 어떠한 조치를 수행하지 않아도 된다

 


GRANT 

GRANT OPTION을 함꼐 줄 경우 B는 다른 사용자에게 자기가 부여받은 권한을 또다시 부여할 수 있다.

A가 B에게 부여한 권한을 취소한다면 B가 이 권한을 기초로 파급시켰던 모든 권한도 취소할 수 있다.

 

 

 


질의최적화

 

추출: 일찍 수행

조인: 가능한 한 나중에 수행

선택: 가능한 한 일찍 수행

 


 

 

 

반응형