SQLD 1일차 정리(모델링,사상,엔터티,속성,관계,식별자)
모델링 : '현실 세계'를 '단순화'하여 '표현'한것
특징 : 추상화, 단순화, 명확화
관점 : 데이터, 프로세스 -> 업무,무엇을 해야할지 ,상관(데이터+프로세스) -> 영향
진행 단계 : 개념(계획/분석) -> 논리(분석) -> 물리(설계) (추상 ----> 구체)
*계획/분석/설계 : 분석,설계에 이용 vs 구축/운영 : 변경 관리 목적
*유의점 : 중복, 비유연성,비일관성
프로젝트 생명주기 + 데이터 모델링(어떤 것, 성격, 관계)
-> Waterfall 기반 : 분석 / 설계단계로 구분 정의
-> 정보공학/구조적 방법론 : 분석(논리적) vs 설계(물리적)
-> 나선형모델(RUP,마르미) : 업무크기에 따라!
* 객체 지향 개념 구분없이 일체형으로 진행한다.!
데이터 독립성
논리적 독립성 : 개념스키마 변경 -> 외부스키마 영향 X
물리적 독립성 : 내부스키마 변경 -> 외부/개념 스키마 영향 X
*사상(논리적 -> 개념스키마, 외부화면,인터페이스 VS 물리적 : 개념스키마,테이블스페이스)
엔터티(ex. ERD) = TABLE , 인스턴스 = ROW , 속성 : Colurm
특징 : 식별자 사용 , 인스턴스 2개이상의 집합 , 반드시 속성 필요 , 관계가 최소 1개이상)
* 관계엔터티,내부필요 엔터티제외
분류 : 유형, 개념(무형), 사건(행위,영향)
명명 규칙 : 업무 용어 사용, 약어X , 단수명사, 영어 : 대문자, 한글 : 띄어쓰기 X, 유일 이름
속성(Attribute)
-> '더 이상 분리 될 수 없는' 인스턴스의 구성요소
*1개의 속성은 1개의 속성값 -> 2개의 속성은 1개의 인스턴스 -> 2개 이상의 인스턴스 1개의 엔터티
특성 : 기본, 설계, 파생 (추출한것 vs 새로 만들거나 정의한것 vs 영향받아서 발생한것) -> PK / FK/ 일반속성
* 명명 : 약서 X , 서술식 X , 유일성을 가지는 것이 좋다.
Domain : 속성이 가지는 값의 범위 ex 170cm ~ 180cm
관계(존재에 의한 관계 VS 행위에 의한 관계)
표기법 : 관계명 , 관계 차수, 관계선택사양(필수,선택)
식별자('엔터티를 구분짓는 논리적인 이름')
특징 : 유일성,최소성,불변성,존재성
분류 : 대표성(주 VS 보조) --> 구분자가 존재하지 않는 경우 새로운 식별자 생성.
: 스스로 생성 ( 내부 VS 외부)
: 속성의 수 (단일 VS 복합)
: 대체여부 (본질 VS 인조)