전체 글 99

3정규형-BC정규형

1. 3정규형 식별자가 아닌 일반속성간에는 종속성이 존재하면 안된다. 3정규형은 비식별자 속성간에 발생하는 이행적 종속성과 관련있다. X→Y이고 Y →Z이면 X→ Z가 성립한다. Y는 릴레이션의 후보식별자나 후보식별자의 일부가 아닌 일반속성이다 3정규화는 일반속성간의 종속관계를 분해하는 것 일반속성간에는 서로 직접종속될수 없음 3정규형의 대상이 되는 속성을 이행종속 속성이라고함 속성C는 일반속성이면서, 속성D의 결정자 속성 D는 종속자면서, 주식별자인 A·B에 이행종속 속성 속성 D는 주식별자인 A와B에 간접종속되어 있음 릴레이션은 직접적인 함수 종속에 의해서 분해되어야 함 분리된 양쪽 릴레이션은 공통으로 존재하는 속성C로 조인할 수 있어, 존재하던 이행 종속 속성D를 알수 있다. 이미 고객엔티티가 존재..

2정규형

1. 2정규형 2정규형은 주식별자가 두개이상인 릴레이션에서 발생함. 릴레이션의 모든 속성이 후보실별자 전체에 종속적이어야함 만약 일반속성 중에 후보식별자 전체에 종속되지 않고 일부에 종속된 속성이 있다면 2정규형이 아니다. 모든 비식별자 속성은 후보실별자 속성에 완전 함수 종속 되어야 함. 부분종속으로 발생한 종복데이터를 제거하는 것이 2정규화 2정규화는 후보식별자를 구성하는 속성이 두개 이상일때만 대상이 되고 단일 속성일때는 대상이 안됨 일반속성중에서 후보식별자 전체에 종속적이지 않은 속성을 찾아 기본엔티티에서 젝거하고, 그속성의 결정자를 주식별자로 하는 새로운 상위 엔티티를 생성하는 것이 2정규화 주문상품 엔티티의 상품명 속성은 중복속성[이다. 주문한 상품의 상품명을 알려면 상품엔티티와 조인해야 하지..

1정규형

1정규형 : 모든 속성은 반드시 하나의 값을 가져야 한다는 것. 더이상 쪼갤수 없는 하나의 값만을 가져야 한다는 의미 물리적으로는 하나의 값을 갖고 있지만, 논리적으로 하나의 값이라고 볼수 없는 경우가 있음-- 고객,취미 같은 성격의 데이터를 여러 속성으로 나열해 관리하는것도 논리적으로 여러값을 관리하는 것은 좋지 않음 다가 속성 : 같은 종류의 값을 여러개 가지는 속성 복합 속성 : 하나의 속성이 여러개의 속성으로 분리될 수 있을때 ==> 더이상쪼갤수 없는지 판단 어려울떄있음 업무적으로 판단해야 함. 데이터관리수준에 따라 업무적으로 의미가 있도록 쪼개야 함 주소 시구동번지.../ 날짜 년월일/ ※ 1정규화해야할 대상 ● 다가속성이 사용된 릴레이션 - 같은 종류의 값을 여러개 가지는 속성을 의미/한속성에..

아노말리

데이터 모델을 설계하면서 가장 중요시 되어야 하는것 =======> 데이터 무결성 데이터 무결성을 위해 가장 피햐야 할 것 → 아노말리: 데이터 품질을 저하시키는 주범!! 아노말리는 - 데이터 이상현상: 데이터가 서로 맞지 않는 아노말리는 중복 데이터 때문에 발생 동시에 전부 처리하려 했지만 일부만 처리 될 경우 발생. 그렇게 되면 어떤 데이터가 맞는 데이터 인지 알수없게 되고, 데이터는 결국 이상해짐. · 업데이터 아노말리는 정규화를 통해 원천적으로 제거 가능 · 삭제 아노말리 : 릴레이션에서 인스턴트 삭제 시 발생하는 이상현상(삭제 시 하나밖에 없는 데이터 삭제 되는경우) · 삽입 아노말리 : 새로운 인스턴스 등록시 팀이 결정되지 않았다면 문제가 발생 팀번호 속성 주식별인데 입력할수가 없음 데이터 모..

정규화를 하면 좋아지는점

정규화 - 데이터를 완전히 이해하는 과정 - 데이터의 성격에 맞는 엔티티가 설계 - 완전성 : 정규화의 가장 커다란 목적 중의 하나는 중복 데이터를 제거해서 데이터를 완전하게 관리하는 것 안정성과 신뢰도를 높이는 견고한 정규화 모델을 사용해야 데이터는 완전해짐 →중복데이터를 사용하지 않으면 불완전한데이터를 발생시키는 아노말리가 생기지 않음 →아노말리가 생기지 않을수록 데이터 무결성은 높아지고 데이터 품질은 좋아진다. →중복데이터 사용할수록 데이터의 정합성은 저하. 여러군데 사용할수록 수록 변질되기 쉽다 - 확정성 : 정규화를 하면 모델의 확장성이 좋아짐. 함수종속을 기반으로 속성을 결정자와 종속자로 구분해 모델구조를 정의하기 때문에 데이터의 성격에 맞는 엔티티가 설계됨. 모든 비식별자 속성을 주 식별자 ..

함수종속과 정규화

RDBMS설계시 속성간의 함수종속을 분석하는것 = 정규화 함수종속을 사용해서 유사한 속성끼리 모아 하나의 릴레이션으로 만드는 체계적인 방법 = 정규화 정규화 → 함수종속에 의해 수행 정규화는 임의의 릴레이션에 키가 아닌 모든 속성은 키에 직접 종속되도록 분해하는것이 정규화 정규화수행방법 1. 릴레이션의 키 도출후에 2정규화 3정규화 등을 수행/더이상 분해할 수 없는 엔티티가 나올때까지 - 키도출 할려면 폐포를 알아야 하고 폐포을 알려면 릴레이션에 존재하는 모든 함수 종속을 알아야함 2. 릴레이션에 존재하는 모듬 함수 종속을 구하는것 / 그러 FD가 정규형 엔티티가 됨 ※어떤방법을 사용하든 정규화 키를 구하는 것으로 시작해서 키를 구하려면 모든 함수 종속을 찾아야함. 릴레이션의 모든 함수 종속을 한번에 찾..

테이블 Prefech & 인덱스 Prefetch

Prefech 란? DBMS는 디스크 블록을 읽을 때 곧이어 읽을 가능성이 있는 높은 블록을 미리 읽어오는 기능 디스크I/O가 비용이 크기 때문에 한번의 I/O Call을 통해 다량의 블록을 퍼 올려 성능향상에 도움을 줌 Prefech는 한번에 여러개 single block IO를 동시에 수행 ** 테이블 Prefetch, 인덱스 Prefetch는 인접하지 않을 블록을 서로다른 익스텐트에 위치한 블록을 배치방식으로 적재 - 인덱스 Prefetch : 브랜치 블록에서 앞으로 읽게 될 리프 블록 주소를 미리 얻을 수 있으므로 I/O call이 필요한 시점에 미리 캐싱 해 두는것 . sequential 액세스 성능을 향상 시키려고 Multiblock I/O와 인덱스 Prefech 같은 기능을 사용 인덱스 Pr..

SQL 2022.01.16
728x90
반응형
LIST