벌써 국비 학원 2달 마무리되어 가다니!!
데이터베이스 마무리로 모델링 실습 진행 중.
학원에서는 DA# Modeler5 툴을 사용했다.
다운로드 링크는 여기
https://www.en-core.com/board/download
데이터모델링
1.데이터 모델링 이해관계자
프로젝트 개발자 -----> 데이터모델링 이해/기술 <----- 현업 업무 전문가
2.데이터모델링 3요소
-어떤 것? (Entity)
-성격 (Attribute)
-관계 (Relationship)
3.데이터모델링 용어
<복수/집합 개념> <개별/단수 개념>
---------------------------------------------------------------------------------------
1)어떤 것 엔티티 타입
엔티티 인스턴스(instance)
---------------------------------------------------------------------------------------
2)성격 속성(Attribute) 속성값
---------------------------------------------------------------------------------------
3)관계 관계(Relationship) 페어링(Pairing)
4.엔티티(Entity)
1)유형에 따른 분류
-유형 : 사원, 물품, 강사 (물리적인 형태가 있고 지속적으로 활용되는 엔티티)
-개념 : 조직, 보험상품 (물리적인 형태가 존재하지 않고 개념적인 정보로 구분되는 엔티티)
-사건 : 주문, 청구, 미납 (업무를 수행함에 따라 발생되는 엔티티)
2)발생 시점에 따른 엔티티 분류
-기본 : 사원, 부서, 고객, 상품, 자재 (원래 존재하는 정보로서 독립적으로 생성 가능한 엔티티)
-중심 : 계약, 사고, 청구, 주문, 매출 (업무에 있어서 중심적인 역할을 하는 엔티티)
-행위 : 주문 목록, 사원 변경 이력
(부모 엔티티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가하는 엔티티, 상세 설계 단계 진행하면서 도출)
3)엔티티는 인스턴스의 집합이다.
4)엔티티의 명령
-가능하면 현업 업무에서 사용하는 용어 사용
-가능하면 약어 사용 X
-단수 명사 사용
-모든 엔티티에서 유일하게 이름이 부여되어야함.
5)엔티티 특징
-반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.
-인스턴스의 집합이어야함.
-엔티티는 반드시 속성이어야함.
-엔티티는 다른 엔티티와 최소 1개 이상의 관계가 존재해야함.
(관계가 없는 엔티티가 존재하기는 함)
5.속성(Attribute)
1)속성의 개념?
-업무에서 필요로함.
-의미상 더이상 분리되지 않음.
-엔티티를 설명하고 인스턴스의 구성요소가됨.
2)엔티티, 인스턴스, 속성, 속성값의 관계?
-1개의 엔티티는 2개 이상의 인스턴스의 집합이여야함.
-1개의 엔티티는 2개 이상의 속성을 갖는다.
-1개의 속성은 1개의 속성값을 갖는다.
3)속성의 표기법
# : 해당 속성이 식별자임을 표시 (기본키)
* : 해당 속성이 필수값임을 표시
O : 해당 속성이 선택값임을 표시
6.관계(Relationship)
1)관계 표기법
-관계명(Membership) : 관계의 이름
-관계차수(Cardinality)
: 1:1, 1:M, M:N
-관계시작점(The Beginning) : 엔티티 관계가 시작되는 곳
-관계끝점(The End) : 엔티티 관계를 받는 곳
2)관계명의 명명 규칙
-애매한 동사는 피해야 한다.
-현재형으로 표현해야 한다.
3)관계 선택 사양
-필수적(Mandatory) : 데이터 모델 관계에서 필수 참여 관계(실선)
-선택적(Optional) : 데이터 모델 관계에서 선택 참여 관계(점선)
고객, 고객주문 테이블 모델링을 한다고 할 때
7.식별자(Identifiers)
1)개념
-엔티티는 인스턴스들의 집합, 각각을 구분할 수 있는 구분자를 식별자라고 한다.
-식별자는 엔티티 내에서 인스턴스를 구분할 수 있는 구분자임.
-Attribute들의 조합.
2)특징
-주식별자(실질 식별자)에 의해 엔티티 내에 있는 모든 인스턴스들이 유일하게 구분되어야 한다.
-지정된 주식별자의 값은 변하지 않는 것이어야 한다.
-주식별자가 지정이 되면 반드시 값이 들어와야 한다.
고객 테이블 E-R 다이어그램을 만든다고 했을 때
<무결성 제약조건>에 의해
실질 식별자는 자동으로 Not Null 체크가 되고
나머지 Not Null로 체크하는 속성도 테이블 생성 시 null 값을 입력할 수 없다.
하지만 Not Null이 많을수록 들어가야 하는 데이터가 많아지기 때문에
많을수록 좋지는 않다.
식별자는 #로 표시,
Not Null 속성값은 *로 표시,
Null값을 허용하는 선택값은 O로 표시
'📒 education archive > 💾DB' 카테고리의 다른 글
[국비학원 기록/DB] 오라클 계층형 SQL 구문 형태, 사용 방법 (0) | 2021.12.23 |
---|---|
[국비학원 기록/DB 미니 프로젝트] 데이터 모델링 실습 02. 사원, 부서, 자격증, 급여 테이블 생성, 명령 프롬포트 테이블 데이터 삽입하는 방법 (0) | 2021.11.18 |
[국비학원 기록/DB] 데이터베이스 설계02. 정규화, 제 1, 2, 3 정규화 (0) | 2021.11.18 |
[국비학원 기록/DB] 데이터베이스 설계01. DB 설계 단계, 개념적 설계, 논리적 설계 (0) | 2021.11.17 |
[국비학원 기록/DB] JOIN - 내부조인, 외부조인 (0) | 2021.11.12 |