공부하기싫어

중간고사 끝냈고 이제 시험 한달밖에 안남았으니까

진도를 좀 빠르게 빼보자

 

 

point3. 엔터티 (Entity)

  • 엔터티

엔터티는 업무에서 관리해야 하는 데이터 집합을 의미하며, 저장되고 관리되어야하는 데이터이다.

엔터티는 개념, 사건, 장소 등의 명사이다.

 

 

  • 엔터티의 도출

엔터티는 고객의 비즈니스 프로세스에서 관리되어야 하는 정보를 추출해야 한다.

ex) db에서 테이블들의 항목같은 느낌

 

고객
회원id
패스워드
이름
주소
전화번호
계좌
계좌번호
계좌명
예수금
계좌개설 지점
계좌 담당자

 

 

  • 엔터티의 특징

식별자 - 엔터티는 유일한 식별자가 있어야한다. (ex- 회원id, 계좌번호)

인스턴스 집합

 - 2개 이상의 인스턴스가 있어야 한다.

 - 즉, 고객 정보는 2명 이상 있어야 한다.

속성

 - 엔터티는 반드시 속성을 가지고 있다.

 - ex) 고객 엔터티에 회원id, 패스워드, 이름, 주소, 전화번호

관계

 - 엔터티는 다른 엔터티와 최소 한 개 이상 관계가 있어야 한다.

 - ex) 고객은 계좌를 개설한다.

업무

 - 엔터티는 업무에서 관리되어야 하는 집합이다.

 - ex) 고객, 계좌

 

 

  • 엔터티의 종류

엔터티의 종류는 유형과 무형에 따른 종류, 엔터티가 발생하는 시점에 따른 종류로 나누어진다.

엔터티를 유형과 무형으로 분류하는 기준은 물리적 형태의 존재 여부이다.

 

  • 유형과 무형에 따른 엔터티 종류

유형 엔터티 - 업무에서 도출되며 지속적으로 사용되는 엔터티 (ex - 고객, 강사, 사원 등)

개념 엔터티

 - 유형엔터티는 물리적 형태가 있지만, 개념 엔터티는 물리적 형태가 없다

 - 개념적으로 사용되는 엔터티이다.

 - ex) 거래소 종목, 코스닥종목, 생명보험 상품 등

사건 엔터티 - 비즈니스 프로세스를 실행하면서 생성되는 엔터티이다. (ex - 주문체결, 취소주문, 수수료청구 등)

 

 

  • 발생시점에 따른 엔터티 종류

기본엔터티

 - 키엔터티 라고도 한다

 - 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티이다.

 - ex) 고객, 상품, 부서 등

중심 엔터티

 - 기본 엔터티와 행위 엔터티 간의 중간에 있는 것이다.

 - 즉, 기본 엔터티로부터 발생되고 행위 엔터티르 생성하는 것이다.

 - ex) 계좌, 주문, 취소, 체결 등

행위 엔터티 - 2개 이상의 엔터티로부터 발생된다. (ex-주문 이력, 체결 이력 등)

 

 

 

point4. 속성 (Attribute)

  • 속성

속성이라는 것은 업무에서 필요한 정보인 엔터티가 가지는 항목이다.

속성은 더이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다.

인스턴스의 구성요소이고 의미적으로 더 이상 분해되지 않는다.

 

 

  • 속성의 특징과 종류
  • 속성의 특징

속성은 업무에서 관리되는 정보이다.

속성은 하나의 값만 가진다.

주 식별자에게 함수적으로 종속된다. 즉, 기본키가 변경되면 속성의 값도 변경된다는 것

 

 

  • 속성의 종류
    • 분해 여부에 따른 속성의 종류

단일 속성 - 하나의 의미로 구성된 것으로 회원id, 이름 등이다.

복합 속성

 - 여러 개의 의미가 있는 것으로 대표적으로 주소가 있다.

 - 주소는 시, 군, 동 등으로 분해될 수 있다.

다중값 속성

 - 속성에 여러 개의 값을 가질 수 있는 것으로 예를 들어 상품 리스트가 있다.

 - 다중값 속성은 엔터티로 분해된다.

 

  • 특성에 따른 속성의 종류

기본속성

 - 비즈니스 프로세스에서 도출되는 본래의 속성이다.

 - ex) 회원id, 이름, 계좌번호, 주문 일자 등

설계 속성

 - 데이터 모델링 과정에서 발생되는 속성이다.

 - 유일한 값을 부여한다.

 - ex) 상품코드, 지점코드 등

파생 속성

 - 다른 속성에 의해서 만들어지는 속성이다.

 - ex) 합계, 평균 등

 

도메인(domain) - 속성이 가질 수 있는 값의 범위

ex) 성별이라는 속성의 도메인은 남자와 여자이다.

 

 

 

point5. 관계 (Relationship)

  • 관계

관계는 엔터티 간의 관련성을 의미하며 존재 관계와 행위 관계로 분류된다.

존재 관계는 두 개의 엔터티가 존재 여부의 관계가 있는 것이고, 행위 관계는 두 개의 엔터티가 어떤 행위에 의한 관련성이 있는 것이다.

 

 

  • 관계의 종류
    • 존재 관계
      • 존재 관계는 엔터티 간의 상태를 의미한다.
      • ex) 고객이 은행에 회원가입 -> 관리점 코드 할당, 할당된 관리점에서 해당 고객 관리
    • 행위 관계
      • 행위 관계는 엔터티 간에 어떤 행위가 있는것으로, 계좌를 사용해서 주문을 발주하는 관계가 만들어진다.
      • ex) 증권회사 계좌 개설 -> 주문 발주 (주문 - 주문일자, 주문번호, 수량, 금액 등)

 

 

  • 관계 차수

관계 차수는 두 개의 엔터티 간에 관계에 참여하는 수를 의미한다.

예를 들어 한명의 고객은 여러개의 계좌를 개설할 수 있다. 이런 경우는 1대N 관계가 된다.

 

  • 관계차수의 종류

1대1 관계

 - 1대1 관계는 '완전 1대1 관계'와 '선택적 1대1 관계'가 있다.

 - ex) 고객 - 고객등급

완전 1대1 관계 - 하나의 엔터티에 관계되는 엔터티의 관계가 하나인 경우, 반드시 존재한다.

선택적 1대1 관계 - 하나의 엔터티에 관계되는 엔터티의 고나계가 하나이거나 없을 수도 있다.

 

1대N 관계

 - 1대N 관계는 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러개 있는 관계이다.

 

M대N 관계

 - M대N 관계는 두개 에넡티가 서로 여러개의 관계를 가지고 있는 것이다.

 - ex) 학생 1명은 여러 개의 강의를 수강 가능 <-> 한 과목으 ㄴ여러 학생이 들을 수 있음

 - 관계형 데이터베이스에서 M대N 관계의 조인(Join)은 카테시안 곱이 발생한다. 그래서 M대N 관계를 1대N, N대1 로 해소해야 한다.

 

필수적 관계와 선택적 관계

필수적 관계는 반드시 하나는 존재해야 하는 관계이고 선택적 관계는 없을 수도 있는 관계이다.

필수적 관계는 "|" 로 표현되고 선택적 관계는 "O" 로 표현된다.

 

 

 

  • 식별 관계와 비식별 관계
  • 식별관계

 - 고객과 계좌 엔터티에서 고객은 독립적으로 존재할 수 있는 강한 개체 이다.

 - 강한 개체는 어떤 다른 엔티티에게 의존하지 않고 독립적으로 존재한다.

 - 강한 개체는 다른 엔터티와 관계를 가질 때 달느 엔터티에게 기본키를 공유한다.

 - 강한 개체는 식별 관계로 표현된다.

 - ex) 고객 엔터티의 기본키인 회원id -> 계좌 엔터티의 기본키의 하나로 공유하는 것

 - 강한 개체의 기본키 값이 변경되면 식별관계에 있는 엔터티의 값도 변경되니다.

 - 식별관계는 실선으로 표시한다

 

 

  • 비식별 관계

 - 비식별 관계는 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것이다.

 - 비식별 관계는 점선으로 표시한다

 

 

 

point6. 엔터티 식별자

  • 주 식별자 (기본키, Primary Key)
    • 최소성 : 주식별자는 최소성을 만족하는 키이다.
    • 대표성 : 주식별자는 엔터티를 대표할 수 있어야 한다.
    • 유일성 : 주식별자는 엔터티의 인스턴스를 유일하게 식별한다.
    • 불변성 : 주식별자는 자주 변경되지 않아야 한다.

키의 종류

 - 기본 키 : 후보키 중에서 엔터티를 대표할 수 있는 키이다.

 - 후보 키 : 후보키는 유일성과 최소성을 만족하는 키이다.

 - 슈퍼 키 : 슈퍼키는 유일성은 만족하지만 최소성을 만족하지 않는 키이다.

 - 대체 키 : 대체키는 여러 개의 후보키 중에서 기본키를 선정하고 남은 키이다.

 - 외래 키 : 하나 혹은 다수의 다른 테이블의 기본 키 필드를 가리키는 것으로 참조 무결성을 확인하기 위해서 사용되는 키 이다. 즉, 허용된 데이터 값만 데이터베이스를 지정하기 위해서 사용된다. 

 

 

 

  • 식별자의 종류
  • 식별자의 대표성

주 식별자

 - 유일성과 최소성을 만족하면서 엔터티를 대표하는 식별자이다.

 - 다른 엔터티와 참조 관계로 연결될 수 있다.

보조 식별자

 - 유일성과 최소성은 만족하지만 대표성을 만족하지 못하는 식별자이다.

 

 

  • 생성 여부

내부 식별자

 - 내부 식별자는 엔터티 내부에서 스스로 생성되는 식별자이다.

 - ex) 부서코드, 주문번호, 종목 코드 등

외부 식별자

 - 다른 엔터티와의 관계로 인하여 만들어지는 식별자이다.

 - ex) 계좌 엔터티에 회원id

 

 

  • 속성의 수

단일 식별자

 - 하나의 속성으로 구성된다 (ex - 고객 엔터티에 회원 id)

복합 식별자

 - 두개 이상의 속성으로 구성된다.

 

 

  • 대체 여부

본질 식별자

 - 비즈니스 프로세스에서 만들어지는 식별자이다.

인조 식별자

 - 인위적으로 만들어지는 식별자이다

 - 인조 식별자는 후보 식별자 중에서 주 식별자로 선정할 것이 없거나, 주 식별자가 너무 많은 칼럼으로 되어 있는 경우에 사용한다.

 - 즉 순서번호를 사용해서 식별자를 만드는 것

 

 

 

 

 

 

오늘은 여기까지 하고 내일은 확인문제 한번 풀어보면서 한번 쭉 복습해보고

다음 스텝으로 넘어가보자