본문 바로가기
728x90
반응형

study_db25

데이터 모델링의 식별자 개념 1. 식별자(Identifiers) 엔터티는 인스턴스의 집합이고, 각각의 인스턴스들은 구별이 되어야 한다. 구별이 되는 요소를 식별자라고 하고, 하나의 엔터티가 가지고 있는 속성 중 대표성을 나타내는 속성이 식별자가 되어야 한다. 식별자와 키(key)가 동일하다고 생각할 수 있는데 "식별자"는 업무적으로 사용하는 정보로 논리데이터 모델링 단계에서 사용하고, "키"는 데이터베이스 상의 테이블에 접근하기 위한 매개체로 물리데이터 모델링 단계에서 사용한다. 2. 주식별자의 특징 주식별자의 경우, 다음과 같은 특징을 가진다. 유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스들이 유일하게 구분되어야 한다. (예 - 사번은 사원테이블의 사원을 고유하게 구분) 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 .. 2021. 4. 17.
데이터모델링의 3가지 요소 : 관계(Relationship)에 대한 이해 1. 관계(Relationship) 관계는 하나의 엔터티가 다른 엔터티와 상호 연관성이 있는 상태를 말한다. 단순히 관계에 대해 예를 들자면, 가게는 상품을 판매한다. 상품은 가게에서 판매된다. 가게와 상품은 판매라는 관계를 갖게 된다. 2. 관계의 분류 관계는 존재에 의한 관계와 행위에 의한 관계로 구분될 수 있으며, 이것은 관계가 어떤 목적으로 연결되었는지에 따라 분류된다. 직원은 부서에 소속된다. '소속된다'는 의미는 어떤 행위에 따라 이벤트가 발생하는 것이 아니라, 그냥 소속되어 있는 현상이라고 할 수 있다. 이런 관계가 존재에 의한 관계이다. (소속으로는 이벤트 발생 X) 고객은 상품을 주문한다. '주문한다'는 의미는 고객이 어떤 행위를 함으로써 이벤트를 발생시킨다. 주문함으로써 주문번호가 생성.. 2021. 2. 10.
데이터모델링의 3가지 요소 : 속성(Attribute)에 대한 이해 1. 속성(Attribute) 속성은 더 이상 쪼개지지 않는 최소의 데이터 단위라고 할 수 있다. 업무에 필요한 데이터이며, 의미상 더 이상 분리되지 않고, 엔터티를 설명하는 인스턴스의 구성요소가 된다. 예를 들자면 등록일시는 등록일(Date) - 등록시(Hour) - 등록분(Minute)으로 쪼개서 관리할 수 있다. 등록일시라는 하나의 데이터를 일, 시, 분으로 구분한 것이다. 직접적인 관련이 있다면 다시 합쳐서 사용이 가능할 것이다. 그러나 반대로 서로 관련이 없는 속성을 하나로 합칠 수는 없다. 이름과 주소를 합쳐 하나의 데이터인 "이름주소"로 만들면 하나의 속성이 이름과 주소라는 두가지의 의미를 갖기 때문에, 기본 속성으로 성립할 수 없다. 2. 속성의 특징 (엔터티의 특징과 흡사) 시스템을 구축.. 2021. 2. 7.
데이터모델링의 3가지 요소 : 엔터티(Entity)에 대한 이해 책에는 엔터티라고 나와있는데, 나는 이때까지 엔티티라고 불러와서 그런가 엔티티가 더 편하다... 1. 엔터티와 인스턴스 엔터티는 ERD에서 사각형으로 표현되는, 업무프로세스에 사용되는 "어떤 것"이다. 어떤 것이라고 부르는 만큼 엔터티는 학교나 학생처럼 현실 세계에서 눈에 보이는 개념일 수도 있고, 주문이나 결제처럼 눈에 보이지 않는 개념일 수도 있다. 엔터티가 인스턴스의 집합이라면, 반대로 인스턴스는 엔터티 안의 하나의 값에 해당한다. 엔터티가 테이블이라면, 인스턴스는 테이블 안 하나의 행(row)을 의미한다고 볼 수 있다. 2. 적절한 엔터티의 특징 시스템을 구축하려는 회사 업무 프로세스에 필요한 정보로 구성되어야 한다. 유일한 식별자에 의한 식별이 가능해야 한다. (예 - 사원번호 O, 사원이름 X.. 2021. 2. 7.
데이터 모델링에 대한 이해 1. 데이터 모델링이란? 누가 데이터 모델링에 대해 학습해야 하는가? 데이터 모델링은 많은 정의가 있지만! 나는 이 정의가 제일 와닿는 것 같다. 현실 세계의 데이터를 약속된 표기법으로 표현하는 과정. 데이터 구조에 대한 이해는 개발자로 하여금 업무 프로세스에 대한 이해도를 높인다. 어떤 데이터가 중요한지, 어떻게 참조 될 수 있는지 등등 필요한 데이터에 대해 잘 파악할 수 있다면 당연하게도 어떤 방향으로 코딩을 하고 데이터를 가져올 수 있는 지 유추할 수 있을 것이다. 이는 비단 개발자 직군에만 해당되는 이야기가 아니라고 생각한다. 그래서 나는 업무에서 정보화나 고도화를 추진하는 경우가 아니더라도, 또한 본인이 개발자가 아니더라도 데이터 구조나 모델링에 대한 학습을 할 만한 가치가 있다고 생각한다. 2.. 2021. 2. 7.
728x90
반응형