본문 바로가기

데이터베이스/SQLD 공부

(8)
[SQLD] 데이터 모델과 성능 - 정규화, 반정규화 성능 데이터 모델링 성능 데이터 모델링이란 데이터베이스 성능향상을 목적으로 설계단계의 데 이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것이다. 성능 데이터 모델링 고려사항 데이터 모델링을 할 때 정규화를 정확하게 수행한다. 데이터베이스 용량산정을 수행한다. 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다. 트랜잭션: 데이터베이스 연산의 단위 (e.g. 입금, 출금) 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다. 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행한다. 성능관점에서 데이터 모델을 검증한다. 정규화 정규화 내용 1차 함수종속, 복수의 속성값을 갖는 속성을 분리, 속성의 원자성확보 2차 함수종속, 주식별자에 완전종속적이지 않은 속성의 ..
[SQLD] 데이터 모델링 - 식별자 식별자란? (Identifiers) 엔터티는 인스턴스들의 집합이다. 식별자는 엔터티내에서 인스턴스들을 구분할 수 있는 구분자이다. 식별자의 특징 유일성 - 주식별자에 의해 엔터티내에 모든 인스턴스들이 유일하게 구분되어야 한다. 최소성 - 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다. 불변성 - 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다. 존재성 - 주식별자가 지정이 되면 반드시 값이 들어와야 한다. 식별자 분류 및 표기법 대표성 여부 주식별자 보조식별자 스스로 생성여부 내부식별자 외부식별자 - 자기 자신의 엔터티에서 필요한 속성이 아니라 다른 엔터티와의 관계를 통해 자식 쪽에 엔터티에 생성되는 속성을 외부식별자라 하며 데이터베이스 생성 시에 Foreign Key..
[SQLD] 데이터 모델링 - IE/Crow's Foot 표기법 (까마귀발 표기법) & ERD 표기법 IE/Crow's Foot 방식 - 까마귀발 표기법 Information Engineering(I/E)은 1981년에 Clive Finkelstein과 James Martin이 공동 저술로 발표하였으며, 80년대 중반에 James Martin에 의해 그 체계가 정리되면서 본격적으로 활용이 되었고, 정보시스템을 구축하는데 있어서 데이터 분석(Data Analysis)과 데이터베이스 설계(Database Design)를 위한 매우 유용한 기법으로 자리 잡게 되었다. - 데이터 모델링 표기법의 이해 이 모델은 관계의 다(n)를 나타내기 위해 까마귀 발을 사용하기 때문에 때때로 까마귀 발모델(Crow’s Foot Model)이라 부른다. 기호 관계 (Relationship) 표현 -> IE/Crow's Foot..
[SQLD] 데이터 모델링 - 관계 관계란? (사전적의미) 상호 연관성이 있는 상태 엔터티의 인스턴스 사이의 논리적인 연관성으로 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태 관계의 패어링 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태 인스턴스 각각은 자신의 연관성을 가지고 있을 수 있다. 이것을 집합하여 '강의' 라는 관계를 도출한다. 관계의 분류 존재에 의한 관계 예) 사원은 부서에 항상 속해있다. 행위에 의한 관계 예) 주문은 고객이 주문을 할 때 발생된다. 관계의 표기법 관계명 (Membership) 관계의 이름으로, 엔터티가 관계에 참여하는 형태를 지칭한다. 각각의 관계는 두 개의 관계명을 가진다. 관계차수 (Cardinality) 튜플의 개수를 의미 (애트리뷰트의 개수는 차수(..
[SQLD] 데이터 모델링 - 속성 Attribute 속성이란? (사전적의미) 사물의 성질, 특징 또는 본질적인 성질, 그것이 없다면 실체를 생각할 수 없는 것 업무에서 필요로 한다. 의미상 더 이상 분리되지 않는다. 엔터디를 설명하고 인스턴스의 구성요소가 된다. 엔터티, 인스턴스, 속성, 속성값의 관계 한 개의 텐터티는 두 개 이상의 인스턴스의 집합이어야 한다. 한 개의 엔터티는 두 개 이상의 속성을 갖는다. 한 개의 속성은 한 개의 속성값을 갖는다. 속성 표기법 속성의 표기법은 엔터티 내에 이름을 포함하여 표현하면 된다. 속성의 특징 해당 업무에서 필요하고 관리하고자 하는 정보이여야 한다. 주식별자에 함수적 종속성을 갖는다. 함수적 종속성: 주식별자의 값에 따라 나머지 값이 결정되는 것? 알수 있는 것? 1:56:00. 하나의 속성에는 한 개의 값만 가..
[SQLD] 데이터 모델링 - 엔터티 Entity 엔터티란? 실체 또는 객체라고 불리는 엔터티는 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것이다. 엔터티는 사람, 장소, 물건 사건, 개념 등의 명사에 해당한다. 엔터티는 업무상 관리가 필요한 관심사에 해당한다. 엔터티는 저장이 되기 위한 어떤 것이다. 엔터티의 특징 해당 업무에 필요한 정보이여야 한다. 예) 환자는 병원에서의 엔터티는 맞지만 환자(아픈 사원)는 회사의 엔터티가 될 수 없다. 유일한 식별자에 의해 식별이 가능해야 한다. 영속적으로 존재하는 인스턴스의 집합이어야 한다. 엔터티는 두개 이상의 인스턴스를 가져야 한다. 업무 프로세스에 의해 이용되어야 한다. 반드시 속성이 있어야 한다. 예) 태풍이라는 엔터티가 있다면, '발생 지역', '풍속' 등의 애트리뷰트(속성)를 가진다..
[SQLD] 3단계 데이터베이스 구조 & 데이터모델링의 세 가지 요소 ⭐️ 3단계 데이터베이스 구조 ⭐️ 3단계로 나눈 목적은 독립성을 위해 -> 즉, 검색을 용이하게 하기 위해서다. 3단계 구성의 데이터독립성 모델은 관계 데이터 모델의 핵심이다. 사상 (Mapping) 사상 예 외부적/개념적 사상 (논리적 사상) 외부적 뷰와 개념적 뷰의 상호 관련성을 정의함 사용자가 접근하는 형식에 따라 다른 타입의 필드를 가질 수 있음. 개념적 뷰의 필드 타입은 변화가 없음 개념적/내부적 사상 (물리적 사상) 개념적 뷰와 저장된 데이터베이스의 상호관련성을 정의함 저장된 데이터베이스 구조가 바뀐다면 개념적/내부적 사상이 바뀌어야 함. 개념적 스키마는 그대로 남아있게 됨 논리적 데이터 독립성: 외부스키마가 변경이 되어도 개념스키마와 내부스키마에 영향을 주지 않는 것 물리적 데이터 독립성: 내부..
[SQLD] 데이터 모델링 모델링의 정의 모형, 축소형의 의미 가설적 또는 일정 양식에 맞춘 표현 사건에 관한 양상이나 관점을 연관된 사람이나 그룹을 위하여 명확하게 하는 것 모델이란 현실 세계의 추상화된 반영 모델링의 특징 추상화 단순화 명확화 즉, 모델링이란 현실세계를 추상화(모형화), 단순화, 명확화를 거쳐 모델(일정한 표기법)로 표현하는 것이다. 모델링의 세 가지 관점 데이터관점: What, Data 예) 학생처에서는 학생의 데이터를 가지고 관리, 교무처에서는 학사일정 및 교수 & 학생의 데이터를 가지고 관리 업무에 꼭 필요한 데이터만 저장 프로세스관점: How, Process 예) 기능적인 관점에서 업무가 실제로 하고 있는 일에 대해 데이터와 프로세스의 상관관점: What & How 데이터 모델링이란 정보시스템을 구축하기..