loading
본문 바로가기 메뉴 바로가기
릴레이션 분해(decomposition)과 제1정규형

01. 릴레이션 분해란? 릴레이션 분해는 하나의 릴레이션을 두 개 이상의 릴레이션으로 나누는 것입니다. 릴레이션을 분해하면 중복이 감소되고 갱신 이상이 줄어드는 장점이 있는 반면에, 바람직하지 않은 문제들을 포함하여 몇 가지 잠재적인 문제들을 야기할 수 있습니다. 첫째, 일부 질의들의 수행 시간이 길어집니다. 릴레이션이 분해되기 전에는 조인이 필요 없는 질의가 분해 후에는 조인을 필요로 하는 질의로 바뀔 수 있습니다. 둘째, 분해된 릴레이션들을 사용하여 원래 릴레이션을 재구성하지 못할 수 있습니다. 셋째, 어떤 종속성을 검사하기 위해서는 분해된 릴레이션들의 조인이 필요할 수 있습니다. 따라서 이런 잠재적인 문제와 중복성 감소 간의 균형을 고려해야 합니다. 다음의 학생 릴레이션은 함수적 종속성들이 만족됩니..

💕IT 공부하기/데이터베이스 2022. 9. 19. 09:00
함수적 종속성에 대해 알고계신가요?

01. 함수적 종속성 함수적 종속성(FD : Functional Dependency)의 개념은 정규화 이론의 핵심이라고 할 수 있습니다. 함수적 종속성은 관계 데이터 모델에서 가장 중요한 제약조건의 하나입니다. 함수적 종속성에 관한 지식은 갱신 이상과 중복을 제거하기 위해 데이터베이스 스키마를 설계하는 데 필수적입니다. ER 다이어그램이 모든 함수적 종속성들을 나타내지는 못합니다. 함수적 종속성은 릴레이션의 애트리뷰트들의 의미로부터 결정됩니다. 함수적 종속성은 릴레이션 스키마에 대한 주장이지 릴레이션의 특정 인스턴스에 대한 주장이 아닙니다. 릴레이션의 상태에 포함이 될 수 있는 모든 가능한 투플에 대한 제약조건입니다. 함수적 종속성은 릴레이션의 가능한 모든 인스턴스들이 만족해야 합니다. 어떤 릴레이션 인..

💕IT 공부하기/데이터베이스 2022. 9. 16. 09:00
릴레이션 정규화에 대해서

데이터베이스를 설계하여 생성하는 업무를 맡았다고 가정해봅시다. 좋은 데이터베이스를 설계하는 것은 매우 중요한 작업입니다. 부주의한 데이터베이스 설계는 제어할 수 없는 데이터 중복을 야기하여 여러 가지 갱신 이상(update anomaly)을 유발합니다. 그렇다면 어떻게 좋은 데이터베이스를 설계해야 할까요? 데이터베이스에 어떤 릴레이션을 생성해야 할까요? 각 릴레이션에 어떤 애트리뷰트를 만들어야 할까요? 01. 릴레이션의 정규화 좋은 관계 데이터베이스 스키마를 설계하는 목적은 ➀ 정보의 중복과 갱신 이상이 생기지 않도록 하면서, ➁ 정보의 손실을 막고 실세계를 훌륭하게 나타내며 ➂ 애트리뷰트들 간의 관계가 잘 표현되는 것을 보장하며, ➃ 어떤 무결성 제약조건의 시행을 간단하게 하여 ➄ 효율성 측면을 고려하..

💕IT 공부하기/데이터베이스 2022. 9. 15. 09:00
물리적 데이터베이스 설계에 대하여(5)

07. 인덱스 선정 지침과 데이터베이스 튜닝 성능 목표를 만족시키기 위해서는 가장 중요한 질의들과 이들의 수행 빈도, 가장 중요한 갱신들과 이들의 수행 빈도, 이와 같은 질의와 갱신들에 대한 바람직한 성능들을 고려하여 인덱스를 선정해야 합니다. 어떤 애트리뷰트에 인덱스를 정의할 것인가를 결정하는 것이 항상 쉬운 일은 아니며 이는 경험을 필요로 합니다. 인덱스 선정은 물리적 데이터베이스 설계자에게 가장 중요한 엄무 중의 하나이면서 가장 어려운 작업입니다. 워크로드 내의 각 질의에 대해 이 질의가 어떤 릴레이션들을 접근하는가, 어떤 애트리뷰트들을 검색하는가, WHERE절의 선택/조인 조건에 어떤 애트리뷰트들이 포함되는가, 이 조건들의 선별력은 얼마인가 등을 고려해야 합니다. WHERE절의 선택/조인 조건에 ..

💕IT 공부하기/데이터베이스 2022. 9. 14. 09:00
물리적 데이터베이스 설계에 대하여(4)

06. 다단계 인덱스란? 단일 단계 인덱스 자체는 인덱스가 정의된 필드의 값에 따라 정렬된 파일로 볼 수 있습니다. 인덱스 자체가 클 경우에는 인덱스를 탐색하는 시간도 오래 걸릴 수 있습니다. 인덱스 엔트리를 탐색하는 시간을 줄이기 위해서는 단일 단계 인덱스를 디스크 상의 하나의 순서 파일로 간주하고, 단일 단계 인덱스에 대하여 다시 인덱스를 정의할 수 있습니다. 1단계 인덱스는 밀집 인덱스 또는 희소 인덱스 모두 가능하지만 2단계 이상의 인덱스는 희소 인덱스만 가능합니다. 원래는 인덱스를 1단계 인덱스라 하고 이 인덱스에 대하여 정의한 추가 인덱스를 2단계 인덱스라 합니다. 교재에 따라서는 새로 추가된 인덱스를 1단계, 기존의 인덱스를 2단계라고 부르기도 합니다. 다단계 인덱스는 가장 상위 단계의 모든..

💕IT 공부하기/데이터베이스 2022. 9. 13. 09:00
물리적 데이터베이스 설계에 대하여(3)

05. 단일 단계 인덱스란? 만일 파일에 대한 접근이 일괄 방식으로 순차 접근만 한다면 어떤 종류의 인덱스도 거의 불필요합니다. 인덱스 된 순차 파일은 인덱스를 통해서 임의의 레코드를 접근할 수 있는 파일입니다. 인덱스 자체가 파일을 의미하므로 '인덱스 파일'이라고 할 필요는 없습니다. 단일 단계 인덱스의 각 엔트리는 로 이루어집니다. 엔트리들은 탐색 키 값의 오름차순으로 정렬됩니다. 인덱스는 DBMS가 파일 내의 특정 레코드들을 빠르게 찾을 수 있도록 하는 데이터 구조이므로 인덱스를 통하여 질의를 수행하면 응답 시간이 향상됩니다. 디스크 접근 시간이 주기억 장치 접근 시간에 비해서 매우 크고 대부분의 데이터베이스 응용에서 디스크 접근을 많이 요구하므로, 인덱스를 통해 디스크 접근 횟수를 줄이면 데이터베..

💕IT 공부하기/데이터베이스 2022. 9. 12. 09:00
물리적 데이터베이스 설계에 대하여(2)

04. 파일 조직 파일 조직은 파일 내의 데이터를 보조 기억 장치에 블록과 레코드들로 배치하는 것입니다. 전형적인 파일 조직의 유형으로는 히프 파일(heap file), 순차 파일(sequential file), 인덱스 된 순차 파일(indexed sequential file), 직접 파일(hash file)등이 있습니다. ① 히프 파일(heap file) 히프 파일은 가장 단순한 파일 조직입니다. 일반적으로 레코드들이 삽입된 순서대로 파일에 저장됩니다. 일반적으로 새로 삽입되는 레코드는 파일의 가장 끝에 첨부됩니다. 따라서 삽입이 쉬우며 레코드들의 순서는 없습니다. 원하는 레코드를 찾기 위해서는 모든 레코드들을 순차적으로 접근해야 합니다. 삭제는 원하는 레코드를 찾은 후에 그 레코드를 삭제하고, 삭제된..

💕IT 공부하기/데이터베이스 2022. 9. 9. 09:00
물리적 데이터베이스 설계에 대하여(1)

물리적인 설계 단계에서는 논리적인 설계의 데이터 구조를 보조 기억 장치상의 파일(물리적인 데이터 모델)로 사상합니다. 예상 빈도를 포함하여 데이터베이스 질의와 트랜잭션들을 분석합니다. 조인 연산들의 속도를 향상하고, 사장 빈번하게 사용되는 애트리뷰트들에 중점을 둡니다. 데이터에 대한 효율적인 접든을 제공하기 위하여 저장 구조와 접근 방법들을 다룹니다. 물리적인 데이터베이스 설계는 특정 DBMS의 특성을 고려하여 진행됩니다. 대부분의 경우에 논리적인 데이터베이스 설계는 물리적인 데이터베이스 설계로 사상됩니다. 그러나 데이터베이스의 사용 패턴에 관한 정보를 추가로 알게 됨에 따라 시스템 성능을 향상할 수 있습니다. 만일 현재 사용하고 있는 DBMS가 ANSI/SPARC모델을 잘 따른다면 이런 변화로 인해 논..

💕IT 공부하기/데이터베이스 2022. 9. 8. 09:00
논리적 설계:ER스키마를 관계 모델의 릴레이션들로 사상

04. 데이터베이스 설계 사례 (2) 개념적 설계 단계에서 ER 모델을 사용하여 조직체의 데이터베이스 응용을 위한 개념적 스키마를 생성하였으면, 논리적 설계 단계에서는 ER 스키마를 관계 데이터 모델의 릴레이션들로 사상해야 합니다. ER 데이터 모델의 기반으로 한 상용 DBMS가 없으므로, 또한 대부분의 DBMS는 관계 데이터 모델을 기반으로 하기 때문에 ER 스키마를 관계 데이터 모델로 변환해야 합니다. 또한 ER 스키마에는 엔티티 타입과 관계 타입이 존재하지만 관계 데이터베이스에는 엔티티 타입과 관계 타입을 구분하지 않고 릴레이션들만 들어 있습니다. 릴레이션으로 사상할 대상이 ER 스키마에서 엔티티 타입인지 또는 관계 타입인지, 엔티티 타입이라면 정규 엔티티 타입인지 또는 악한 엔티티 타입인지, 관계..

💕IT 공부하기/데이터베이스 2022. 9. 7. 09:00
ER 모델의 다른 표기법과 새발 표기법

01. ER 모델의 또 다른 표기법 ER 다이어그램의 표기법의 요약본입니다. 수십 개 이상의 애트리뷰트가 엔티티 타입에 연결된 다이어그램을 나타내려면 매우 불편하고 공간을 많이 차지하게 됩니다 실제 기업의 데이터베이스에는 수십 개 ~ 200개 정도의 애트리뷰트들을 갖는 릴레이션들이 흔히 사용되고 있습니다. 순수한 Chen 스타일의 ER 표기법을 채택한 CASE 도구는 거의 없습니다. ERWin 등의 CASE 도구들에서는 새발(crow-feet) 표기법이 흔히 사용됩니다. 새발 표기법에도 여러 가지 변형들이 존재합니다. 새발 표기법에서도 엔티티 타입은 직사각형으로 나타내지만 관계 타입을 의미하는 다이아몬드는 사용되지 않습니다. 관계의 의미나 제약조건 등은 엔티티 타입들을 연결하는 실선 위에 몇 가지 기호를..

💕IT 공부하기/데이터베이스 2022. 9. 6. 09:00
ER모델에 대해 알고계신가요? (3)

06. 관계와 관계 타입 (2) ► 1:1 관계 E1의 각 엔티티가 정확하게 E2의 한 엔티티와 연관되고, E2의 각 엔티티가 정확하게 E1의 한 엔티티와 연관되면 이 관계를 1:1 관계라고 합니다. 예를 들어, 각 사원에 대해 최대한 한 개의 PC가 있고 각 PC에 대해 최대한 한 명의 사원이 있다면 사원과 PC의 관계는 1:1 관계입니다. ► 1:N 관계 E1의 각 엔티티가 E2의 임의의 개수의 엔티티와 연관되고, E2의 각 엔티티는 정확하게 E1의 한 엔티티와 연관된다면 이 관계를 1:N 관계라고 합니다. 예를 들어, 각 사원에 대해 최대한 한 대의 PC가 있고 각 PC에 대해 여러 명의 사원들이 있으면 PC와 사원 간의 관계는 1:N 관계입니다. 1:N 관계는 실세계에서 가장 흔히 나타나는 유형입..

💕IT 공부하기/데이터베이스 2022. 9. 5. 09:00
ER모델에 대해 알고계신가요? (2)

05. 약한 엔티티 타입 어떤 경우에는 엔티티 타입 내의 엔티티들이 자체적으로 갖고 있는 애트리뷰트들의 값에 의해서 고유하게 식별이 안됩니다. 예를 들어 회사에서 어떤 사원의 부양가족 이름은 다른 사원의 부양가족의 이름과 같을 수 있습니다. 한 가지 해결 방안은 회사의 사원들의 모든 부양가족에 대해서 고유한 번호를 부양하는 것입니다. 이런 고유한 번호는 데이터베이스 처리에 사용되지 않을 수 있습니다. 또 다른 해결 방안은 부양가족이 속한 사원의 번호를 부양가족의 이름과 결합하여 부양가족의 키로 정하는 것입니다. 한 사원의 부양가족 이름은 모두 다를 것이므로, 사원번호와 부양가족의 이름을 결합하면 모든 사원들의 부양가족들을 고유하게 식별할 수 있습니다. 부양가족의 이름처럼 한 사원에 속한 부양가족 내에서는..

💕IT 공부하기/데이터베이스 2022. 9. 2. 09:00
이전 1 ··· 11 12 13 14 15 16 다음
이전 다음

티스토리툴바

이메일: help@abaeksite.com | 운영자 : 아로스
제작 : 아로스
Copyrights © 2022 All Rights Reserved by (주)아백.

※ 해당 웹사이트는 정보 전달을 목적으로 운영하고 있으며, 금융 상품 판매 및 중개의 목적이 아닌 정보만 전달합니다. 또한, 어떠한 지적재산권 또한 침해하지 않고 있음을 명시합니다. 조회, 신청 및 다운로드와 같은 편의 서비스에 관한 내용은 관련 처리기관 홈페이지를 참고하시기 바랍니다.