SQL

sqld 1장 데이터 모델링의 이해

monawa 2023. 5. 31.
728x90

오늘 공부한거 정리하기

모델링이란

정보 시스템을 구축하기 위한 데이터 관점의 업무분석기법 

현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현과정

데이터 구축을 위한 분석/ 설계 과정

 

데이터 모델링의 개념

1. 개념적 데이터 모델링 - 추상화 수준이 높고 어ㅏㅂ무 중심적이고 포괄적인 모델링  , EA수립시 많이 사용

2. 논리적 데이터 모델링 - 시스템을 구축하고자 하는 KEY 속성 관계등 표현, 재사용성높음

3. 물리적 데이터 모델링 - 실제 DB에 이식할수 있도록 성능 저장등 물리적인 성격 고려

 

데이터 모델링 유의점

1. 중복 - 같은 시간 같은 데이터 (여러장소X)

2. 비유연성 - 사소한 업무 변화에 모델이 변경되면 안됨 , 데이터 정의를 사용 프로세서와 분리 

3. 비일관성  - 데이터 간 상호 연관 관계에 대해 명확히 정의해야 한다.

 

데이터 스키마 구조 3단계

1.외부 스키마 - 각 사용자가 보는 개인적 DB스키마

2. 개념 스키마 - 모든 사용자 관점 통합 

3. 내부 스키마 - 물리적 장치에 실제 저장

 

데이터 독립성 

논리적  -  개념스키마 변경 / 외부 스키마 영향 X

물리적  -  내부스키마 변경 / 외부,개념 스키마 영향 X

 

ERD작업 순서  

1. 엔터티를 그림

2.엔터티 배치

3. 엔턴티 관계설정

4. 관계명 기술

5. 관계의 참여도 기술

6. 관계 필수여부 

 


엔터티란 

업무에 필요하고 유용한 정보를 저장 ,관리 하기위한 집합적인것(보이지 않는 개념 포함)

특징 

1.반드시 해당 업무에 필요하고,관리하고자 하는 정보

2. 유일한 식별자에 의해 식별 가능해야함

3. 두 개 이상의 인스턴스의 집합 (한개 X )

4. 업무 프로세스에 의해 이용되어야함

5. 반드시 속성이 있어야 한다

6. 최소 한개이상 다른 엔터티와 관계 필요 ( 단 통계/코드성 엔터티는 생략가능)

 

엔터티 분류

유무형에 따른    
유형  물리적형태 사원 물품 강사
개념 개념적정보 조직 보험상품
사건 업무 수행시 발생 주문 청구 미납

 

발생 시점에 따른 분류    
기본 업무에 원래 존재하는 정보
타엔터티의 부모역활
자신의 고유한 주식별자 가짐
사원 부서
중심 기본 엔터티로부터 발생
다른 엔터티와의 관꼐로 많은 행위 엔터티 발생
계약 사고 주문
행위 2개 이상의 부모 엔터티로부터 발생
자주 바뀌거나 양이 증가
주문목록 사원변경이력

엔터티 이름 만드는법

1. 현업에서 사용하는 용어

2. 약어금지

3. 단수명사 사용

4. 고유한 이름 사용

5.생성의미대로 부여 

 

속성

업무에 필요하는 인트선스를 관리하는 의미상 더이상 분리되지 않는 최소 데이터 단위

1.한개의 엔터티는 2개 이상의 인스턴스 집합

2.한개의 엔터니는 2개 이상의 속성을 가짐

3. 한개의 속성은 1개의 속성값을 가짐

 

속성의 명칭 부여법

1.해당 업무에서 사용하는 이름

2. 서술식 속성명 금지

3. 약어 금지

4. 유일성 확보 

속성 특성 분류

1. 기본속성 - 업무로부터 추출한 모든 일반적인 속성

2. 설계속성 - 업무를 규칙화 하기위해 새로 만들거나 변경, 정의하는 속성

3. 파생속성 - 다른 속성에 영향을 받아 발생하는 속성

 

도메인  - 각속성이 가질수 있는 범위

 

관계 

엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성 부여된상태 , 관계 페이링의 집합

페어링 -  엔터티 안에 인스턴스가 개별적으로 관꼐를 가지는것 

 

UML (통합모델링언어)의 관계

연관관계 -  실선 / 항상 이용하는 관계

의존관계  - 점선 / 상대행위에 의해 발생하는 관계 

 

 

관계 도출시 체크사항

1. 두개 엔터티 사이의 연관규칙이 있는가 - 연관규칙

2. 두개의 엔터티 사이에 정보의 조합이 발생하는가  - 조합발생 

3. 업무 기술서, 장표에 관꼐 연결에 대한 규칙 서술되있는가   -규칙서술

4. 업무 기술서와 관계연결을 가능하게 하는 동사가 있는가  -  동사유무

 


식별자 

엔터티 내에서 인스턴스를 구분하는 구분자는 논리적 , KEY는 물리적 데이터 모델링 단계에 사용

 

 

주식별자 고려사항

1. 유일성 - 주식별자로 모든 인스턴스들이 유일하게 구분 

2. 최소성 - 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수 

3. 불변성 - 지정된 주식별자의 값은 자주 변하지 않아야되며 변하면 이전 기록 말소

4. 존재성 - 주식별자로 지정시 반드시 값이 들어야 한다.

 

 

식별자관계  비식별자관계
자식의 주식별자로부터 부모의 주식별자 상속 부모속성을 자식의 일반속성으로 사용
강한 연결관계 표현 -  실선표기 약한 연결관계 표현 -  점선표현
부모로 부터 받은 식별자를 자식 엔터티의 주식별자로 이용하는경우

주식별자 관계로만 설정시 주식별자 증가로 오류 유발 
부모없는 자식이 생성 될 수 있을떄
부모와 자식의 생명주기가 다를시 
여러개 엔터티가 통합 표현 됬지만 각각 별도의 관계를 가진 경우
자식 엔터티에 별도 주식별자를 생성하는것이 유리할떄
SQL 문장이 길어져 복장성 증가 방지
(비식별자 관꼐로만 설정시 부모 엔터티와 조인하여 성능 저하)

반드시 부모엔터티 종속
자식 주식별자 구성에 부모 주식별자 초함
상속받은 주식별자 속성 타엔터티 이전필요
약한 종속관계
자식 주식별자 구성을 독립적으로구성
자식 주식별자 구성에 부모주식별자 부분 필요
상속받은 주식별자 타엔터티에 차단필요
부모쪽의 관계 참여가 선택관꼐 

부모엔터티의 주식별자를 자식 엔터이서 받아 손자 엔터티까지 흘려보내기위해선 식별자 관계 고려 

 

식별자 분류 

분류 식별자 설명
대표성 주식별 각 어커런스 구분 가능한 구분자 , 타엔터이와 참조관계 연결 가능
보조식별 각어커런스 구분 가능한 구분자 , 타엔터이와 참조관계 연결 못함
스스로 생성여부 내부 스스로 생성되는 식별자
외부 타엔터티로부터 받아오는 식별자
속성의수  단일 하나의 속성으로 구성
복합 2개 이상의 속성으로 구성
대체여부 본질 업무에 의해 만들어지는 식별자
인조  인위적으로 만들어지는 식별자 

 

참고문헌 

SQL 자격 검정 실전문제 노랭이책 

 

 

SQL) SQLD 이론 요약 정리 PDF

13페이지 분량의 SQLD 이론 요점 정리 PDF 파일을 공유합니다. 원본에서 필요하다 생각된 부분들을 추가, 삭제했습니다. 나름 오래 걸렸네요.. 🥲 2장 3절인 SQL 최적화 부분은 개정판부터 제거됐다

yurimac.tistory.com

 

728x90

'SQL' 카테고리의 다른 글

SQLD 정리강의 정리 -2  (1) 2023.06.06
SQLD 정리강의 정리 -1  (0) 2023.06.06
sqld rollup,cube ~윈도우함수 (108~127)  (1) 2023.05.30
sql 의 쿼리 실행 순서  (0) 2023.02.21
WHERE,HAVING 의 차이  (0) 2023.02.14

댓글