반응형 database11 물리적 데이터베이스 설계에 대하여(1) 물리적인 설계 단계에서는 논리적인 설계의 데이터 구조를 보조 기억 장치상의 파일(물리적인 데이터 모델)로 사상합니다. 예상 빈도를 포함하여 데이터베이스 질의와 트랜잭션들을 분석합니다. 조인 연산들의 속도를 향상하고, 사장 빈번하게 사용되는 애트리뷰트들에 중점을 둡니다. 데이터에 대한 효율적인 접든을 제공하기 위하여 저장 구조와 접근 방법들을 다룹니다. 물리적인 데이터베이스 설계는 특정 DBMS의 특성을 고려하여 진행됩니다. 대부분의 경우에 논리적인 데이터베이스 설계는 물리적인 데이터베이스 설계로 사상됩니다. 그러나 데이터베이스의 사용 패턴에 관한 정보를 추가로 알게 됨에 따라 시스템 성능을 향상할 수 있습니다. 만일 현재 사용하고 있는 DBMS가 ANSI/SPARC모델을 잘 따른다면 이런 변화로 인해 논.. 2022. 9. 8. 논리적 설계:ER스키마를 관계 모델의 릴레이션들로 사상 04. 데이터베이스 설계 사례 (2) 개념적 설계 단계에서 ER 모델을 사용하여 조직체의 데이터베이스 응용을 위한 개념적 스키마를 생성하였으면, 논리적 설계 단계에서는 ER 스키마를 관계 데이터 모델의 릴레이션들로 사상해야 합니다. ER 데이터 모델의 기반으로 한 상용 DBMS가 없으므로, 또한 대부분의 DBMS는 관계 데이터 모델을 기반으로 하기 때문에 ER 스키마를 관계 데이터 모델로 변환해야 합니다. 또한 ER 스키마에는 엔티티 타입과 관계 타입이 존재하지만 관계 데이터베이스에는 엔티티 타입과 관계 타입을 구분하지 않고 릴레이션들만 들어 있습니다. 릴레이션으로 사상할 대상이 ER 스키마에서 엔티티 타입인지 또는 관계 타입인지, 엔티티 타입이라면 정규 엔티티 타입인지 또는 악한 엔티티 타입인지, 관계.. 2022. 9. 7. ER모델에 대해 알고계신가요? (2) 05. 약한 엔티티 타입 어떤 경우에는 엔티티 타입 내의 엔티티들이 자체적으로 갖고 있는 애트리뷰트들의 값에 의해서 고유하게 식별이 안됩니다. 예를 들어 회사에서 어떤 사원의 부양가족 이름은 다른 사원의 부양가족의 이름과 같을 수 있습니다. 한 가지 해결 방안은 회사의 사원들의 모든 부양가족에 대해서 고유한 번호를 부양하는 것입니다. 이런 고유한 번호는 데이터베이스 처리에 사용되지 않을 수 있습니다. 또 다른 해결 방안은 부양가족이 속한 사원의 번호를 부양가족의 이름과 결합하여 부양가족의 키로 정하는 것입니다. 한 사원의 부양가족 이름은 모두 다를 것이므로, 사원번호와 부양가족의 이름을 결합하면 모든 사원들의 부양가족들을 고유하게 식별할 수 있습니다. 부양가족의 이름처럼 한 사원에 속한 부양가족 내에서는.. 2022. 9. 2. 트리거(trigger)와 주장(assertion) 그리고 내포된 SQL 저장된 데이터의 의미적 정확성을 보장하기 위해서, 테이블을 정의할 때 데이터베이스 스키마의 한 부분으로서 무결성 제약조건을 명시해야 합니다. 테이블 정의와 별도로 데이터베이스의 무결성을 시행하는 메커니즘인 트리거와 주장을 알아보겠습니다. 제약조건이 트리거보다 성능이 우수하고, 코딩이 불필요하며, 선언하고 수정하기가 용이하므로 가능하다면 제약조건을 사용하는 것이 좋습니다. 01. 트리거(trigger) 트리거는 명시된 이벤트(데이터베이스의 갱신)가 발생할 때마다 DBMS가 자동적으로 수행하는, 사용자가 정의하는 문(프로시저)이다. 트리거는 데이터베이스의 무결성을 유지하기 위한 일반적이고 강력한 도구이며, 테이블 정의 시 표현할 수 없는 기업의 비즈니스 규칙들을 시행하는 역할을 합니다. 무결성 제약조건을 유.. 2022. 8. 30. ANSI/SPARC 아키텍처와 데이터 독립성에 대하여 01. ANSI/SPARC 아키텍처란? DBMS의 주요 목적은 사용자에게 데이터에 대한 추상적인 뷰를 제공하는 것이라고 합니다. 즉 데이터가 어떻게 저장되고 유지되는 건지 자세한 과정이나 내용은 숨기는 것입니다. 현재의 대부분의 상용 DBMS 구현에서 사용되는 일반적인 아키텍처는 1978년에 제안된 ANSI/SPARC 아키텍처라고 합니다. 이 ANSI/SPARC 아키텍처는 3단계의 외부 단계로 이루어집니다. ① 외부 단계 (external level) : 각 사용자의 뷰 ② 개념 단계 (conceptual level) : 사용자 공동체의 뷰 ③ 내부 단계 (internal level) : 물리적 또는 저장 뷰 3단계 데이터베이스 아키텍처는 프로그램과 데이터 간의 독립성, 데이터에 대한 다수의 뷰를 제공하.. 2022. 8. 18. 이전 1 2 다음 반응형