DB/SQL 전문가 가이드 18

[과목 I 2장 3절] 모델이 표현하는 트랜잭션의 이해

트랜잭션트랜잭션은 데이터베이스의 논리적 연산단위계좌이체를 통해 트랜잭션을 설명할 수 있음돈을 보내는 사람의 계좌에서 이체금액을 차감하고, 돈을 받는 사람의 계좌에 이체금액을 가산계좌이체라는 업무는 위와 같은 두 가지 단계로 진행되며, 데이터 정합성을 위해 위 작업은 전부 실행되든지 아니면 전부 취소되든지 해야 함즉, 하나의 업무 단위로 묶여서 처리돼야 한다는 것이고 이러한 업무 단위를 트랜잭션이라고 함 부연 설명계좌이체를 하기 위해서는 먼저 A 고객의 잔고에서 이체금액을 차감하고, B 고객의 잔고에 이체금액을 가산해야 함중요한 것은 잔고를 차감하고 가산하는 단계가 모두 완료된 후에 커밋을 수행하는 것잔고 차감/가산 단계가 모두 성공해야지만 커밋이 수행되어 정상적인 데이터를 반영할 수 있음 데이터 모델링의..

[과목 I 2장 2절] 관계와 조인의 이해

1. 조인아래 모델은 고객과 주문 엔티티가 관계를 맺고 있는 모습고객 엔티티의 입장에서는 `한 명의 고객은 여러 번 주문할 수 있음`주문 엔티티 입장에서는 `각각의 주문은 반드시 한 명의 고객에 의해 발생됨`관계를 맺음으로써 생기는 현상은 고객 엔티티의 식별자인 고객번호를 주문 엔티티에 상속시킨 것즉, 관계를 맺는다는 것은 식별자를 상속시키고 해당 식별자를 매핑 키로 활용해 데이터를 결합하여 보겠다는 것 고객번호고객명100정우진101한형식102황영은 주문번호고객번호주문상태코드1100001100주문완료1100002101주문완료1100003101취소요청1100004102환불요청1100005100교환완료 주문 데이터의 [고객] 데이터에서 고객번호를 상속시킨 것을 볼 수 있음주문번호가 1100001인 주문의 고..

[과목 I 2장 1절] 정규화

1. 제1정규형: 모든 속성은 반드시 하나의 값을 가져야 한다하나의 속성에는 하나의 값을 가져야지만 제1정규형을 만족시킴아래 모델과 같이 연락처 속성에 다중 값(multivalued)이 들어가는 경우 다음과 같은 문제점이 발생할 수 있음연락처 정보에서 집전화 번호와 핸드폰 번호를 구별하기 어려움A 고객은 집전화가 여러 대고, B 고객은 핸드폰인 여러 대라면 혼재된 속성에서 원하는 속성 값을 추출하기 어려움명확하지 않은 속성은 이메일처럼 다른 유형의 데이터를 포함할 수도 있어 본연의 의미가 퇴색될 수 있음데이터를 아래와 같이 관리한다면 개발 복잡성이 증가하고, 연락처 속성에 담긴 본래의 의미가 점차 퇴색될 것 고객번호고객명연락처10000정우진02-123-4567, 010-1234-567810001한형식01..

[과목 I 1장 5절] 식별자

1. 식별자 개념엔티티는 인스턴스들의 집합이므로, 이들을 구분하기 위해 식별자(Identifier)라는 논리적 이름을 사용식별자란 하나의 엔터티에 구성된 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 함 2. 식별자의 특징주식별자일 경우 다음과 같은 특징을 가짐유일성: 주식별자에 의해 엔터티 내 모든 인스턴스들이 유일하게 구분되어야 함최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함불변성: 지정된 주식별자의 값은 자주 변하지 않는 것이어야 함존재성: 주식별자가 지정이 되면 반드시 값이 들어와야 함 대체식별자의 특징은 주식별자의 특징과 일치외부식별자의 경우 주식별자 특징과 일치하지 않으며 참조 무결성 제약 조..

[과목 I 1장 4절] 관계

1. 관계의 개념 가. 관계의 정의관계 (Relationship)을 사전적으로 정의하면 상호 연관성이 있는 상태데이터 모델에서 관계는 `엔터티 인스턴스들 사이에 논리적 연관성을 부여하는 것으로, 이는 존재의 상태나 특정 행위의 형태` 나. 관계의 페어링관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것 (페어링)이고, 이 것의 집합을 관계로 표현한다는 것엔터티 내에 인스턴스와 인스턴스 사이에 관계가 설정된 occurrence를 관계 페어링이라고 함엔터티가 인스턴스의 집합을 논리적으로 표현했다면, 관계는 관계 페어링의 집합을 논리적으로 표현한 것 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있을 경우 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있음  2. 관계의 분류관계를 연결함에 있어 ..

[과목 I 1장 3절] 속성

1. 속성의 개념속성 (Attribute)이란 사전적인 의미로는 사물의 성질, 특징 또는 본질적인 성질, 그것이 없다면 실체를 생각할 수 없는 것으로 정의 가능데이터 모델링에서 속성은 `업무에 필수적인 인스턴스로 관리되며, 의미상으로 더 이상 분리할 수 없는 최소 단위의 데이터`를 의미업무상 관리하기 위한 최소의 의미 단위로 생각할 수 있고, 이 것은 엔터티에서 한 분야를 담당하고 있음  속성의 정의를 정리해 보면 다음과 같음업무에서 필요로 함의미상 더 이상 분리되지 않음엔터티를 설명하고 인스턴스의 구성요소가 됨 2. 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법 가. 엔터티, 인스턴스, 속성, 속성값의 관계엔터티에는 두 개 이상의 인스턴스가 존재하고, 각각의 엔터티는 고유한 성격을 표현하는 속..

[과목 I 1장 2절] 엔터티

1. 엔터티의 개념데이터 모델을 이해할 때 가장 명확하게 이해해야 하는 개념 중에 하나가 바로 엔터티 (Entity)엔터티에 대해서 데이터 모델과 데이터베이스에 권위자가 정의한 사항은 다음과 같음변별할 수 있는 사물 - Peter Chen데이터베이스 내에서 변별 가능한 객체 - C.J Date정보를 저장할 수 있는 어떤 것 - James Martin정보가 저장될 수 있는 사람, 장소, 물건, 사건, 개념 등 - Thomas Bruce 위 정의들의 공통점은 다음과 같음엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당엔터티는 업무상 관리가 필요한 관심사에 해당엔터티는 저장이 되기 위한 어떤 것 (Thing) 종합하면 엔터티란 `업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것 (T..

[과목 I 1장 1절] 데이터 모델의 이해

1. 모델링의 이해 가. 모델링의 정의사람이 살아가면서 접할 수 있는 다양한 현상들이 사람, 사물, 개념 등에 의해 발생된다고 했을 때, 모델링은 이것을 표기법에 따라 표기하는 것 자체를 의미현실 세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현한 기법 나. 모델링의 특징모델링은 추상화, 단순화, 명확화라는 3대 특징으로 요약 가능추상화: 현실세계를 일정한 형식에 맞추어 표현한다는 의미단순화: 복잡한 현실 세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념명확화: 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는 것 정보시스템 구축에서 모델링은 계획, 분석, 설계 단계에서 업무를 분석하고 설계할 때, ..