반응형 Learning287 책을 깎아서 만든 예술품 2015. 11. 4. 이과생들의 미술작품 2015. 11. 4. 풍경이 아름다운 집 2015. 11. 3. DB 모델링 - 3. 정규화 : 3.6 정규형과 성능 3.6 정규형과 성능 정규형과 성능 ▶ 정규형을 꺼리는 가장 커다란 이유는 성능이 떨어진다고 생각하기 때문 ▶ 하지만, 정규형을 하면 성능이 나빠진다는 것은 널리 알려진 잘못된 상식 ▶ 정규형은 성능을 빠르게 하고 개발을 편하게 해준다고 생각하는 것이 점차 늘어나고 있음 조회 성능 ▶ 정규형을 꺼리는 성능 문제는 대부분 조회 성능을 의미함 ▶ 조회 성능을 올리려면 잘 정규화된 모델링에 인덱스를 적절히 사용해야 하며, 때에 따라 성능이 나오지 않을 경우 비정규화를 선택할 수 있음 ▶ 오라클은 데이터를 블록 단위로 액세스하는데, 정규화가 잘 되었을 경우 적은 블록으로 많은 데이터를 가져올 수 있으므로 Hit Ratio를 끌어올릴 수 있고, 이로 인해 성능이 향상됨 조회 성능과 화면 구성 ▶ 화면 구성 또한 .. 2015. 10. 25. DB 모델링 - 3. 정규화 : 3.5 정규형의 종류 3.5 정규형의 종류 1차 정규형 1) 1차 정규형 정의 ▶ 모든 속성은 반드시 하나의 값을 가져야 함 ▶ 1차 정규화와 관련된 속성은 다가 속성과 복합 속성이 있음 2) 다가 속성(Multivalued Atributes) ▶ 다가 속성은 같은 종류의 값을 여러 개 가지는 속성을 의미함 ▶ 위의 그림처럼 전화번호가 여러 개의 값을 가지고 있어 식별자인 고객ID에 종속되지 않으므로 정규화된 엔터티가 아님 ▶ 엔터티의 모든 속성은 단일 값을 가져야 하므로, 다가 속성일 경우 별도의 엔터티가 필요함 ▶ 위의 내용을 모델로 표현하면 아래와 같이 정규화가 됨 ▶ 앞에서처럼 다가 속성을 관리하지 않고 아래와 같이 관리할 수 있다. ▶ 하지만 위 그림은 물리적으로 1차 정규형이지만, 논리적으로 1차 정규형이 아님. .. 2015. 10. 25. DB 모델링 - 3. 정규화 : 3.4 함수종속 3.4 함수종속 함수 종속(Functional Dependency) 1) 데이터 종송석(Data Dependency) ▶ 관계형 모델을 설계할 때 가장 중요한 요소 ▶ 데이터 종속성에는 3가지 종속이 존재하며, 그 중 대표적인 종속은 함수 종속임 ■ 함수 종속(Functional Dependency) ■ 다가 종속(Multivalued Dependency) ■ 조인 종속(Join Dependency) ▶ 함수 종속은 엔터티내에 존재하는 속성 간의 종속성을 의미함 ■ 엔터티 내 A 속성의 값이 B 속성의 값을 유일하게 식별할 수 있다면 B 속성은 A 속성에 함수적으로 종속되었음을 의미 ■ 속성 간 종속성을 규명해 집합을 분리하므로, 속성과 엔터티를 정의하고 관계를 파악하는데 절대적 역할 ■ 이를 기반으로 .. 2015. 10. 25. DB 모델링 - 3. 정규화 : 3.3 아노말리 3.3 아노말리 아노말리(Anomaly) ▶ 아노말리는 데이터 이상 현상으로, 중복된 데이터 때문에 발생 ▶ 어떤 처리를 할 때, 중복된 데이터를 동시에 전부 처리하지 못하고 일부만 처리할 경우 어떤 데이터가 맞는지 모르고 결국 데이터는 이상해짐 ▶ 정규형 모델에서는 아노말리가 최소화되며, 중복 데이터를 채택한 모델에는 다음과 같은 아노말리가 발생함 ■ 업데이트 아노말리 : 릴레이션에서 속성의 값을 업데이트할 때 발생하는 데이터 이상 현상 ■ 삭제 아노말리 : 릴레이션에서 인스턴스를 삭제할 때 발생하는 데이터 이상 현상 ■ 삽입 아노말리 : 릴레이션에 새로운 인스턴스를 삽입할 때 발생하는 데이터 이상 현상 아노말리가 발생할 수 있는 릴레이션 사례 1) 업데이트 아노말리 ▶ '홍길동'이라는 선수의 포지션을.. 2015. 10. 25. DB 모델링 - 3. 정규화 : 3.2 정규화의 목적 3.1 정규화의 목적 정규화의 가장 큰 목적은 안정성과 확장성 안정성 ▶ 정규화를 하는 가장 근본적인 이유는 중복 데이터 제거 ▶ 중복 데이터는 정합성에 악영향을 미치고, 아노말리 현상을 발생시킴 ▶ 아노말리가 발생하지 않을수록 데이터 무결성과 품질은 높아지며, 데이터와 데이터베이스의 안정성과 신뢰성도 높아짐 ▶ 또한 정규화는 함수 종속을 기반으로 속성을 결정자와 종속자로 구분해 모델 구조를 정의하므로 관계가 명확해짐 확장성 ▶ 정규화가 잘 되었을 경우 업무가 수정되거나 추가되어도 엔터티에 반영하기 수월함 ▶ 하지만 정규화되지 않은 엔터티를 확장하는 것은 매우 어려움 ▶ 어떤 데이터를 관리하는지 모호한 상태에서 또 다른 정의를 제대로 추가한다는 것은 의미 자체가 성립되지 않기 때문 ▶ 마지막으로 정규화는.. 2015. 10. 25. DB 모델링 - 3. 정규화 : 3.1 정규화 3. 정규화 3.1 정규화 정규화란(Nomalization)? ▶ 정규화는 속성 간의 부정확한 종속성을 없애는 것을 의미 ▶ 함수종속 개념 기반으로 유사한 속성들은 모으고 종속성이 없는 독립적인 속성들은 분리하는 것 ▶ 관계형 데이터 모델은, 속성의 종석성과 의존성을 분석해 더는 분해될 수 없는 엔터티로 만드는 정규화 과정을 거쳐야 함 ▶ 반정규화는 반드시 정규형은 거쳐야 진행 가능 아노말리 현상 ▶ 정규형은 아노말리 현상을 최소화 함 ▶ 아노말리는 데이터 이상 현상으로 업데이트, 삭제, 삽입 아노말리 등이 존재 ▶ 데이터 중복은 아노말리를 발생시키고, 중복이 없는 정규형은 아노말리를 최소화 함 모델 구조 ▶ 관계형 데이터베이스는 모델이 잘 구현되어 있을 경우, 데이터를 가장 효율적으로 저장하고 추출해 .. 2015. 10. 25. 이전 1 ··· 5 6 7 8 9 10 11 ··· 32 다음 반응형