sqld 준비 (1)

Spirit Lab·2025년 5월 19일

1. 데이터 모델링의 이해

모델링의 특징

  • 추상화: 현실세계를 일정한 형식에 맞추어 표현
  • 단순화: 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념
  • 명확화: 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술하는 것

데이터 모델링의 중요성 및 유의점

  • 중복: 같은 시간 같은 데이터 제공
  • 비유연성: 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨
  • 비일관성: 신용 상태에 대한 갱신 없이 고객의 납부 이력 정보 갱신 안됨 (연계성 낮아짐)

데이터 모델링

개념적, 논리적, 물리적 데이터 모델링 (개논물)

데이터 독립성 요소

외부 스키마: 개개 사용자가 보는 개인적 DB 스키마
개념 스키마: 모든 사용자 관점을 통합한 전체 DB
내부 스키마: 물리적 장치에서 데이터가 실제적 저장

DB의 전반적인 사항들을 통합해서 규정한게 개념
DB가 실제적으로 장치 내부에 저장되는게 내부
DB를 개개인이 각각의 버전으로 보는게 외부

데이터 독립성

논리적 독립성: 개념 스키마가 변경되어도 외부 스키마에 영향 안줌
물리적 독립성: 내부 스키마가 변경되어도 외부/개념 스키마에 영향 안줌

어차피 외부 스키마는 개개인의 버전이 다 다르기 떄문에 개념 스키마가 변경되어도 고집 안꺾으면 영향 없는거임 이게 논리
물리적으로 내부 스키마가 변경되어도 시스템 상에 반영되는거지 이게 외부나 개념에 영향 안줌 이게 물리

Mapping(사상): 상호 독립적인 개념을 연결시켜주는 다리

데이터 모델링의 3요소

어떤 것(Things), 성격(Attributes), 관계(Relationships)
데이터 모델링은 프로젝트에 참여한 모두가 알아야함
엔터티: 집합 / 인스턴스: 단수

엔터티: 대상의 종류 or 틀 or 개념 (데이터의 구조 설계)
ex) 학생, 교수, 강의 등

인스턴스: 그 틀에 따라 만들어진 실제 데이터 (실제 저장되고 관리되는 값, 엔터티의 한 행)
ex) 학생 홍길동, 교수 임꺽정, 강의 의적론

데이터의 모델 표기법은 1976년 피터첸이 Entity Relationship Model을 개발

ERD 작업순서

  1. 엔터티 그림
  2. 엔터티 적절히 배치
  3. 엔터티 관계 설정
  4. 관계명 기술
  5. 관계의 참여도 기술
  6. 관계의 필수여부 기술

일단 그려서 틀 잡고 그걸 배치한다음에 각각 관계 설정하고 관계명 정하고 참여도와 필수여부 순으로 기술

좋은 데이터 모델의 요소

  1. 완전성: 업무에 필요한 모든 데이터가 모델에 정의
  2. 중복배제: 하나의 DB내에 동일한 사실은 한번만
  3. 업무규칙: 많은 규칙을 사용자가 공유하도록 제공
  4. 데이터 재사용: 데이터가 독립적으로 설계돼야 함
  5. 의사소통: 업무규칙은 엔터티, 서브타입(디테일한 엔터티), 속성, 관계 등의 형태로 최대한 자세히 표현
  6. 통합성: 동일한 데이터는 한 번만 정의, 참조활용

엔터티의 특징

  1. 반드시 해당 업무에서 필요하고 관리하고자 함
  2. 유일한 식별자에 의해 식별 가능 (엔터티안에 인스턴스들을 각각 구분하게 해주는 속성)
  3. 두 개 이상의 인스턴스의 집합
  4. 업무 프로세스에 의해 이용되어야 함
  5. 반드시 속성이 있어야 함 (예외적으로 관계엔터티의 경우는 주식별자 속성만 가지고 있어도 엔터티로 인정)
  6. 다른 엔터티와 최소 1개 이상의 관계가 있어야 함 (관계를 생략하여 표현해야하는 경우는 통계성 엔터티, 코드성 엔터티, 시스템 처리 시 내부 필요에 의한 엔터티 도출과 같은 경우)

엔터티의 분류

유무형에 따른 분류: 유형, 개념, 사건 엔터티

  • 유형: 물리적 형태, 안정적, 지속성 ex)사원, 물품, 강사
  • 개념: 개념적 정보, 물리적 형태X ex)조직, 보험 상품
  • 사건: 업무수행시 발생, 통계자료이용 ex)주문, 청구, 미납

발생시점에 따른 분류: 기본/키, 중심, 행위 엔터티

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

엔터티의 명명: 현업업무에서 사용하는 용어 사용, 약어 사용금지, 단수 명사 사용, 고유한 이름 사용, 생성의미대로 부여

속성: 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 분리되지 않는 최소의 데이터 단위



답 A.10
ALTER TABLE ... DEFAULT는 이후 입력된 값 중 명시되지 않은 것에만 적용이 됨
values안에 명시해서 NULL을 넣은건 그냥 NULL이고 EXD는 값을 안넣었기 때문에 DEFAULT값이 들어감. 그리고 SUM은 NULL값을 무시하므로 10이 되는 것


하나의 속성은 하나 이상의 속성값을 가진다.
하나의 속성은 하나의 속성값을 가지며 하나 이상의 속성값을 가지는 경우 정규화가 필요함.

profile
For the champagne

0개의 댓글