목록전체 (348)
파게로그
www.youtube.com/watch?v=RXQ1kZ_JHqg 1정규화에 대한 설명이 제각각 달라서 찾아보다가 접하게 되었는데, 내가 애매하다고 생각했던 부분이 실제로도 논란이 되었다는 사실을 소개해주어서 좋았다. 정규화(normalization) 결과적으로는, 테이블 분해의 과정 정규화의 목적 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성 확보 데이터 모델의 독립성 확보 삽입, 수정, 삭제 이상 등 이상현상(anomaly)의 해결 정규화의 절차 제1정규화 - 함수적 종속성을 근거로 함 - PK를 잡는 것 - attribute의 원자성(atomicity)이란, 실로 single-value로 해석하는 편이 적절함 제2정규화 - 부분 함수 종속성 제거 - 기본키가 단일 식별자라면(하나의 ..
엔티티 식별자 엔티티를 대표할 수 잇는 유일성을 만족하는 속성 키의 종류 기본키(primary key) - 후보키 중에서 엔티티를 대표할 수 있는 키 - 최소성, 대표성, 유일성, 불변성을 만족하는 키 후보키(candidate key) - 유일성과 최소성을 만족하는 키 슈퍼키(super key) - 유일성은 만족하지만 최소성은 만족하지 않는 키 대체키(alternate key) - 여러 개의 후보키 중에서 기본키를 선정하고 남은 키 외래키(foreign key) - 하나 혹은 다수의 다른 테이블의 기본 키 필드를 가리키는 것으로 참조 무결성(referential integrity)을 확인하기 위해서 사용되는 키 - 허용된 데이터 값만 데이터베이스에 저장하기 위해서 사용 식별자의 종류(대표성) 주식별자 -..
관계(relationship) 엔티티 간의 관련성 관계의 종류 존재 관계 - 엔티티 간의 상태 - 예시: '고객'은 '지점'에 소속된다. 행위 관계 - 엔티티 간에 어떤 행위가 있음 - 예시: '계좌'는 '일자별주문이력'에 대해서, 주문을 발주한다. 관계 차수(relation cardinality) 두 개의 엔티티 사이의 관계에 참여하는 수 최대 기수성: 1:1, 1:M, M:N 최소 기수성: 필수(0 불가), 선택(0 가능) M:N 관계의 join은 카테시안 곱이 발생함. 1:N, N:1로 해소되어야 함 예시: 과목과 학생의 관계에서 수강이라는 엔티티를 추가적으로 도출하여 해소할 수 있음 식별 관계(identification relationship)와 비식별 관계(non-identification re..
속성(attribute) 업무에서 필요한 정보인 엔티티가 가지는 항목 의미적으로 더 이상 분리되지 않는 단위 인스턴스의 구성요소 속성의 특징 주식별자에 함수적으로 종속됨. 즉 기본키가 변경되면 속성의 값도 변경됨 업무에서 관리되는 정보임 하나의 값만 가짐 속성의 종류(분해 여부) 단일 속성 - 하나의 의미로 구성됨 - 예시: ID, 이름, 주민등록번호 복합 속성 - 여러 개의 의미로 구성됨 - 예시: 주소(시, 구, 동으로 분해됨) 다중값 속성 - 여러 개의 값을 가질 수 있음 - 엔티티로 분해됨 - 예시: 상품 리스트 속성의 종류(특성) 기본 속성 - 비즈니스 프로세스에서 도출되는 본래의 속성 - 예시: ID, 이름, 주민등록번호 설계 속성 - 데이터 모델링 과정에서 발생되는 속성 - 유일한 값을 부여..
엔티티(entity) 업무에서 관리해야 하는 데이터의 집합으로서, 저장되고 관리되어야 하는 데이터 개념, 사건, 장소 등의 명사 엔티티의 특징 식별자 - entity는 유일한 식별자를 가져야 한다. 인스턴스 집합 - 2개 이상의 인스턴스가 있어야 한다. 속성 - entity는 반드시 속성을 가져야 한다. 관계 - entity는 다른 entity와 최소한 한 개 이상의 관계를 가져야 한다. 업무 - entity는 업무에서 관리되어야 하는 집합이다. 엔티티의 종류(유무형에 따른 종류) 유형 엔티티 - 물리적 형태가 있음 - 업무에서 도출되며 지속적으로 사용되는 엔티티 - 예시: 학생, 계좌, 사원 개념 엔티티 - 물리적 형태가 없음 - 개념적으로 사용되는 엔티티 - 예시: 인터넷 강좌, 코스피 종목, 운전자..
3층 스키마(3-Level Schema) 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들 간의 관계를 정의한 ANSI 표준이다. 데이터베이스의 독립성을 확보함으로써 데이터 복잡도 감소, 데이터 중복 제거, 사용자 요구사항 변경에 따른 대응력 향상, 관리 및 유지보수 비용 절감 등을 노릴 수 있다. 3단계 계층으로 분리하여 독립성을 확보하는 방법으로서 각 계층을 뷰(view)라고도 한다. 스키마 외부 스키마(external schema) - 응용 프로그램이 접근하는 데이터베이스를 정의한다. - 사용자 관점 또는 사용자 뷰를 표현한다. - 업무상 관련 있는 데이터만 접근한다. - 관련된 데이터베이스의 일부만 표시한다. - 하나의 데이터베이스에 대해서 서로 다른 관점을 ..
데이터 모델링 현실 세계를 데이터베이스로 표현하기 위해서 추상화하는 것 데이터 모델링의 특징 추상화(abstraction) 현실 세계를 간략하게 표현함 단순화(simplification) 누구나 쉽게 이해할 수 있도록 표현함 명확화(clarification) 의미가 명확하게 해석되어야 하며, 한 가지 의미를 지녀야 함 데이터 모델링의 단계 개념적 모델링(conceptual data modeling) - entity와 attribute를 도출하고 개념적 ERD를 작성한다. - 비즈니스 프로세스를 분석하고 업무 전체에 대해 데이터 모델링을 수행한다. - 업무적 관점에서 모델링한다. - 기술적인 용어 사용은 자제한다. - 중요한 부분을 위주로 모델링한다. 논리적 모델링(logical data modeling)..