모델링 특징
추상화 | 현실세계, 다양한 현상 일정한 양식인 표기법에 의해 표현 |
단순화 | 복잡한 현실세계를 약속된 규약 의해 제한된 표기법이나 언어로 표현 |
명확화 | 누구나 이해하기 쉽게 대상에 대한 애매모호함을 제거 |
모델링의 세 가지 관점
✔ 데이터 관점: 업무가 어떤 데이터와 관련이 있는지, 데이터간 관계 무엇인지 (What, Data)
✔ 프로세스 관점: 업무가 실제하고 있는 일 무엇인지, 무엇을 해야하는지 (How, Process)
✔ 상관 관점 : 업무 처리하는 방법에 따라 데이터 어떻게 영향 받고 있는지 (Interaction)
데이터 모델링 정의
정보시스템 구축 위한 데이터 관점의 업무 분석기법으로 현실세계 데이터에 대해 약속된 표기법에 의 해 표현하는 과정이고 데이터베이스 구축하기 위한 분석, 설계과정이다.
데이터모델링 기능
명세화, 구조화, 문서화, 다양한 관점, 상세수준 표현
데이터 모델링의 유의점
중복 , 비유연성, 비일관성
데이터 모델링 중요성
⭐ 파급효과가 크다(Leverage)
⭐ 복잡한 정보 요구사항의 간결한 표현(Conciseness)
⭐ 데이터 품질을 유지 (Data Quality)
데이터 모델링의 3단계 진행
(추상적)개념적 -> 논리적 -> 물리적(구체적)
1️⃣ 개념적 데이터 모델링(in 계획분석단계) : 추상화, 업무중심적, 포괄적, 전사적, EA수립시 사용
2️⃣ 논리적 데이터 모델링(in 분석단계) : KEY, 속성, 관계 표현. 재사용성 높음 (정규화)
3️⃣ 물리적 데이터 모델링(in 설계단계) : 실제 데이터베이스 이식할 수 있도록 성능,저장 등 물리적 성격 고려
데이터 모델링 세가지 요소
💡 어떤 것(Thing) - 엔티티(Entity) , 속성(Attribute), 관계(Relationships)
좋은 데이터 모델의 요소
완정성, 중복배제, 업무규칙, 데이터 재사용, 의사소통, 통합성
데이터 모델에 표시할 요소
✔ 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계, 데이터 구조 및 정적 성질을 표현
✔ 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세, 데이터베이스를 조작하는 기본도구
✔ 제약조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
데이터 독립성 요소
🔥 외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마
🔥 개념 스키마 : 모든 사용자 관점을 통합한 전체 DB
🔥 내부 스키마 : 물리적 장치에서 데이터가 실제적 저장
데이터 독립성 필요 이유
유지보수 비용증가, 데이터 중복성, 복잡성 증가, 요구사항 대응 저하
ANSI / SPARC 3단계 구조
✔ 논리적 독립성(외부단계-개념적단계) : 개념적스키마 변경, 외부스키마 영향 없음. 논리적 구조 변 경되어도 응용프로그램 영향 없음
✔ 물리적 독립성(개념적단계-내부적단계) : 내부스키마 변경, 외부/개념스키마 영향 없음. 저장장치의 구조변경은 응용프로그램과 개념스키마에 영향없음
개체(Entity)의 개념
💡 데이터베이스에 표현하기 위한 어떤 것(Thing)
개체(Entity)의 특징
업무에서 필요한 정보, 식별이 가능해야 함, 인스턴스의 집합(두개이상), 속성을 포함하고 관계가 존재
개체(Entity)의 분류
💥 유무형
-유형 : 물리적인 형태, 안정적 (사원, 물품, 강사)
-개념 : 물리적 형태 존재하지 않고 관리해야 할 개념적 정보 (조직, 보험상품)
-사건 : 업무 수행함에 따라 발생됨 (주문, 청구, 미납)
💥 발생시점 (기본->중심-> 행위)
-기본 : 원래 존재하는 정보. 독립적으로 생성 가능. (사원, 부서, 고객)
-중심 : 기본엔터티로부터 발생되고 업무에 있어서 중심적인 역할 ( 계약, 접수)
-행위 : 두 개 이상의 부모엔터티로부터 발생되고 자주 내용 바뀌거나 데이터 양 증가(주문내역, 계약진행)
속성(Attribute)의 개념
💡 데이터의 가장 작은 논리적 단위, 개체를 구성하는 항목, 파일 구조상의 데이터 항목
속성(Attribute)의 분류
✔ 기본속성(업무로부터 추출한 모든 속성_원래속성)
✔ 설계 속성 (코드성 속성, 1:1치환), 파생 속성(계산된 값)
인스턴스 - 속성 - 엔터티 의 관계
인스턴스 2개 이상 엔터티, 2개 이상 속성을 엔터티는 가짐, 1:1 (속성 : 속성값)
도메인(Domain)의 정의
각 속성이 가질 수 있는 값의 범위
관계(Relationships)의 개념
💡 개체간의 관계 또는 속성간의 관계
엔티티의 인스턴스사이의 논리적인 연관성 존재(페어링) -> 페어링의 집합이 관계(Relation)
관계(Relationships) 표기법
관계명(Membership), 관계차수(Cardinality), 관계선택사양(Optionality_필수관계, 선택관계 )
관계(Relationships) 체크사항
연관규칙 존재, 엔터티 사이 정보 조합이 발생, 관계연결에 대한 규칙 서술, 관계연결 가능하게 하는 동사
식별자 정의
엔터티 내에서 인스턴스를 구분하는 구분자
식별자 분류
➡ 대표성 여부(주식별자/보조식별자)
➡ 스스로 생성 여부(내부식별자/외부식별자)
➡ 속성의 수 (단일식별자/복합식별자)
➡ 대체 여부(본질식별자/인조식별자)
식별자의 특징
유일성, 희소성, 불변성, 존재성
비식별자 정의
부모 속성을 자식의 일반 속성으로 사용
식별자/ 비식별자 관계 (상속여부가 Key Point)
✔ 식별자 관계 : 부모로부터 받은 식별자를 자신엔터티의 주식별자로 이용 ( 강한 연결관계, 실선표 현)
✔ 비식별자 관계 : 부모로부터 속성 받았지만 일반속성으로 사용 (약한 연결관계, 점선 표현)
비식별자 관계 설정 고려사항
관계분석(부모 없는 자식이 생성될 수 있는 경우) -> 관계의 강/약 분석(약) -> 자식테이블 독립PK필요(필요) -> SQL 복잡도 증가 (비식별자) 식별자 관계설정 고려사항 : 강한관계, 주식별자 PK사용
'자격증 > SQLD' 카테고리의 다른 글
SQLD 요약 - (6) SQL활용_JOIN, 계층형질의,서브쿼리 (0) | 2021.05.25 |
---|---|
SQLD 요약 - (5) SQL기본_GROUPBY, ROWNUM, JOIN (0) | 2021.05.25 |
SQLD 요약 - (4) SQL기본_연산자,함수 (0) | 2021.05.25 |
SQLD 요약 - (3) SQL기본_TABLE,DML,DCL,DDL,TCL (0) | 2021.05.24 |
SQLD 요약 - (2) 데이터 모델과 성능 (0) | 2021.05.24 |
댓글