[관계(Relationship) 이해하기]
엔터티 내의 인스턴스들 간에 서로 논리적인 연관성이 있는 상태
ex=> 직원은 부서에 소속되고, 부서는 직원을 소유함
지금 사용하는 데이터베이스는 대부분 관계형 데이터베이스임.
엔터티끼리의 관계를 통해 데이터의 의미를 설정.
엔터티 간에 같은 속성으로 인해 연결이 가능하면 관계임
관계의 분류 - 존재/행위 (시험 목적으로만 이해하면 됨)
존재에 의한 관계 직원 - 부서 (소속되다/보유하다)
행위에 의한 관계 고객 - 상품 (주문하다/주문되다)
<아래의 내용만 간단하게 암기 >
-ERD는 존재/행위 등 관계를 위처럼 똑같이 표시한다.
-UML 클래스다이어그램은
:연관관계(존재)는 실선으로 표기하고
의존관계(행위)는 점선으로 표시한다.
다음중 관계의 분류에 대해 올바르지 않는 것은?
erd는 존재의 경우 점선으로 한다.. 이정도만 나옴
관계를 표시하는 방법
SQLD는 uml은 안나오고, erd는 나옴. IE가 시험에 대부분 나옴 Borker는 시험에 안나오지만 둘의 차이점은 시험에 나옴
관계명(Membership)
관계차수(Cardinality/Degree)
까치발은 하나의 부서는 여러 직원을 포함하고 있다는 의미임
관계선택사양(Optionality)
중간에 놓침
코드성, 통계성이란?
코드성: 값을 코드형식으로 저장 => 오히려 복잡해질 수 있어서 관계를 이어주지 않음
통계성: 월별로 매출액 저장
네가지 사지선다로 나옴. (말장난) 노란거만 외우면됨
[04. 식별자] [05. 데이터 모델 이해하기]
데이터 모델링이란?
개발 순서 : 기획(요구사항)->설계->개발->테스트->운영이라는 환경에 올림
모델링은 설계단계임
그러나 모델링 결과물은 개발 순서 전반에 걸쳐서 다씀.
개발자는 현업 관련 지식을 잘 모름.
그냥 업무 중심적으로만 알뿐,
전사적: 기업 입장에서 본다.
DBMS 독립적: 데이터베이스를 쉽게 쓸 수 있게 하는 관리 시스템과 독립적으로 저 그림을 가지고 있으면 어떻게든 쓸 수 있음
릴레이션과 릴레이션쉽은 다르다!!!!!!!!
관계를 그림으로 표현한 것을 ERD라고 함.
그리는 순서도 시험에 나왔음
선택 참여는 없을 수도 있음
[논리적 데이터 모델링]
오라클에서 만든건 오라클에서만 쓸 수 있다.
논리적 데이터 모델링을 할 때 정규화를 수행한다.
그리는 방법!!
식별자-> 인스턴스를 유일하게 구분할 수 있는 속성의 집합
분석 -> 설계 -> 개발 -> 테스트 -> 운영
에서 설계가 진짜 중요함
[데이터베이스 3단계 구조]
'시험 관점에서 종류와 특징만 암기하면 된다. '
v 종류 v 특징
(1)외부(External) 스키마: 여러 사용자 각각의 관점
(2)개념(Conceptual) 스키마: (여러사용자의 전체적인 관점)통합적, 조직 전체의 DB관점
(3)내부(Internal)스키마: 데이터 물리 저장 구조 표현
*각 스키마는 독립성을 가짐(뒷장 예시)
- A, B, C가 보는 관점에 따라 다름 = 외부 스키마
- 외부 스키마와 개념 스키마의 독립성
- 개념 스키마가 바뀌어도 외부 스키마에서는 확인이 어려운 것을 의미함.
[식별자(Identifiers)란?]
엔티티 내 유일하게 인스턴스를 식별할 수 있는 속성의 집합
식별자 = primary key
식별자 분류 (*식별자의 종류는 다양하게 존재한다. )
1. 대표성여부: 주식별자(직원ID) vs 보조식별자(주민등록번호)
2. 스스로생성여부(자생여부) : 내부식별자 vs 외부식별자 (엔터티안에있는 식별자인지 아니면 외부에서 가져온 것인지(FK=외래키)
3. 단일속성여부 : 단일식별자 vs 복합식별자 (식별자가 1개냐? 그 이상이냐?- 그림 속 직원 연락처 테이블은 식별자 2개를 조합했음)
4. 대체여부 : 본질식별자 vs 인조식별자
(본질식별자: 부서명, 인조식별자: 부서명이 너무 길 경우 D002 이런식으로 코드 따자~(사람들이 편의를 위해서 임의로 코드같은 걸 만든 것임))
주식별자 도출기준
1. 업무에서 자주 쓰는 속성일 것 (주민번호는 실무 입장에서 암호화가 되어야함=식별자로 쓰기 어려움)
2. 명칭, 이름 등은 피할 것 (중복이 될 수 있음)
3. 속성의 수가 많지 않을 것 (속성이 최소의 개수로 이루어져야함)
주식별자 특징
1. 유일성: 인스턴스를 유일하게 식별하기
2. 최소성: 속성의 수가 많지 않기
3. 불변성: 가급적 변하지 않기 (실무에서 변할수는 있으나, 그럴일은 없음)
4. 존재성: 값이 꼭 입력되기
'데이터베이스 > 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과목] 데이터 모델링의 이해 - 01-02장(엔터티(ENTITY)이해하기, 속성) (2) | 2024.07.23 |