저 까만 통은 하드디스크임
데이터 모델
: 현실세계의 대상을 추상화, 단순화, 명확화 하여 데이터베이스로 표현하는 것.
<데이터 모델링>
만들고 싶다.=> 단순 설계도 그리자=> 좀 더 상세한 설계도 그리자=> 실제 구축해보자 => 만들었다.
요구 사항 접수 => 개념적 데이터 모델링 => 논리적 데이터 모델링 => 물릴적 데이터 모델링 => 데이터페이스에 저장할 수 있게 세팅
개념적 데이터 모델링 : 그림으로 표현(엔티티, 관계, 속성 등이 이 안에 들어가있음)
[엔티티 이해하기]
엔티티(ENTITY, 개체)란?
: 업무에 필요한 정보를 저장/관리하기 위한 집합적인 명사 개념
ex)
직원 관리 프로그램 만들자=>직원 정보 필요. 하나의 집합으로 표현하면(단순화/추상화/명확화) 엔티티 => "직원" 이 됨.
인스턴스(INSTANCE)란?
: 엔터티 집합 내에 존재하는 개별적인 대상
ex)
직원이라는 엔티티 안에 있는 직원 A= 인스턴스
직원이라는 엔티티 안에 있는 직원 B= 인스턴스
엔터티의 특징
1. 반드시 업무에서 필요한 대상이고 업무에 사용될 것
2. 유일한 식별자로 식별이 가능할 것
3. 인스턴스가 2개 이상일 것(데이터가 두개 이상)
4. 속성이 반드시 2개 이상 존재할 것
5. 관계가 하나 이상 존재할 것 (단 코드성, 통계성은 생략 가능)
엔터티의 분류(유무형에 따라 분류) - bold체 모두 암기해야함
시험에서는 이런 종류가 있다 정도로만 물어볼 것임
유형 엔터티: 물리적 형태가 있는 엔터티 ex) 직원, 주류, 강사, 고객
개념 엔터티: 물리적 형태가 없는 엔터티 ex) 부서, 과목, 계급
사건 엔터티: 업무 수행 중에 (제일 많이 발생) 발생하는 엔터티 ex) 직원, 강의, 매출, 주문, 상담
엔터티의 분류(발생시점에 따라 분류) - bold체 모두 암기해야함
기본/키 엔터티: 본래 업무에 존재하는 정보 독립 생성 가능, 주식별자 보유 ex) 직원, 고객, 상품, 부서
중심 엔터티: 기본 엔터티로부터 발생, 업무에 있어 중심 역할 ex) 주문, 매출, 계약, 대출
행위 엔터티: 2개 이상 엔터티로부터 발생 ex) 주문이력
엔터티의 명명(naming) 규칙
1. 가능한 협업 용어를 쓴다. ex) 사람-> 고객, 전봇대 -> 전주
2. 가능하면 약어를 사용하지 않는다. ex) 일별매출정보-> 일매목 xxxxx
3. 단수 명사를 사용한다.
4. 엔터티 이름은 유일해야 한다.
5. 엔터티 생성 의미대로 이름을 부여한다. ex)연락처목록 -> 직원연락처목록? 고객연락처목록? (구체적으로 작성해라)
[속성(ATTRIBUTE) 이해하기]
: 업무상 관리하기 위해 의미적으로는 더는 분리되지 않는 최소의 데이터 단위,
엔터티가 가지는 공통적인 특징을 표현함
우리가 관리하고자 하는 정보가 됨.
엔터티, 인스턴스, 속성의 관계
1. 하나의 엔터티는 2개 이상의 인스턴스를 가진다.
2. 하나의 엔터티는 2개 이상의 속성을 가진다. (아니면 데이터베이스 쓰는 의미 없음)
3. 속성은 각 인스턴스를 설명해줄 수 있다.
4. 하나의 속성에는 하나의 속성값만 들어간다.
가로한줄이 인스턴스임.
식별자란?
:엔터티 내 유일한 인스턴스를 식별할 수 있는 속성의 집합 ex)직원 id
속성의 분류(특성에 따른 분류)
기본: 업무로부터 추출한 속성으로 제일 많이 발생/ 이름, 주민번호, 직원 ID, 나이, 연봉, 부서명 등
설계: 설계시 규칙화 등이 필요해 만든 속성/ 코드성이나 일련번호, 부서코드 등
파생: 다른 속성들로부터 계산/변형되어 만들어진 속성 / 부서별 연봉합 등 (실무에서 지양함- 데이터 추가될때마다 관리 힘듦)
속성의 분류 ( 구성방식에 따른 분류)
-PK(식별자), FK, 일반속성, 복합속성
속성 명명(Naming) 규칙
1. 가능한 현업 용어를 쓴다.
2. 가능하면 약어를 사용하지 않는다.
3. 명사형을 쓰고 서술식이나 수식어 등을 제한한다. ex)오늘 배송된 상품 -> 일배송 상품
4. 가능한 속성 이름은 전체 데이터 모델에서 유일해야 한다. (실무에서 그렇게 지키는거 같진 않...)
도메인(DOMAIN) 이란?
: 각 속성이 입력 받을 수 있는 값의 정의 및 범위를 의미함
: 보통 테이블을 만들 떄 각 속성마다 자료형 및 제약조건을 줄 때 결정된다.
ex) 나이는 숫자만 입력받을 수 있고, 0~999까지 입력받는다.
'데이터베이스 > SQL 개발자 이론' 카테고리의 다른 글
[1과목] 데이터 모델과 SQL - 03. 모델이 표현하는 트랜잭션의 이해 (0) | 2024.07.27 |
---|---|
[1과목] 데이터 모델과 SQL - 02. 관계와 조인의 이해 (2) | 2024.07.27 |
[1과목] 데이터 모델과 SQL - 01. 정규화 (0) | 2024.07.27 |
시험개요 (1) | 2024.07.23 |
[1과목] 데이터 모델링의 이해 - 03-05장(관계, 식별자, 데이터 모델의 이해) (0) | 2024.07.23 |