SQLD Day - 1 (1/n)

TToII·2021년 3월 15일
2

DB study

목록 보기
1/3

sqld 자격증을 따야지 생각하고 책까지 사뒀다가 지독한 게으름으로 작년에 따지 못했다.
DB 공부하는겸해서 sqld 시험을 신청해뒀고 이번주 토요일 (3/20)에 시험이 있어서 드디어 공부를 시작하려고 한다.
이 자격증을 딴 지인들이 꽤 있는데(모두 전공자) 그 중 대표인물인 zio는 이틀?.. 정도 공부하고 커트라인 점수보다 1, 2점 높은 점수로 통과했다고 한다.
DB관련 자격증이니 CS 관련해서 중요한 파트가 나오면 좀 더 꼼꼼하게 공부하려 한다.
p.s) DB를 잘 모른다는(분명 나보다 잘 알 것이라 생각) choi아무개씨에게도 도움이 되었으면 😁

데이터 모델링

복잡한 현실 세계에 존재하는 데이터를 단순화 시켜 표현해 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정

특징

  1. 추상화 - 간략한 표현
  2. 단순화 - 쉽게 이해
  3. 명확성 - 명확한 해석, 한가지의 의미만

단계

개념 -> 논리 -> 물리 모델링

  • 개념 모델링
    추상화 수준이 가장 높다
  • 논리 모델링
    특정 DB model 에 종속
    식별자 정의, 관계, 속성 표현
    정규화 -> 재사용성 높임
  • 물리 모델링
    DBMS에 테이블, 인덱스 생성
    성능, 보안, 가용성 등을 고려해 구축

3층 스키마

사용자, 설계자, 개발자의 관점에 따라 DB를 기술하고 이들 간의 관계를 정의한 것
데이터 베이스의 독립성을 확보하기 위함
각 계층을 뷰(View)라고도 한다

  • 외부 스키마
    사용자 관점, 관련 데이터베이스의 View를 표시한다
    응용 프로그램이 접근하는 데이터베이스를 정의
  • 개념 스키마
    설계자 관점, 사용자 전체 집단의 DB구조
    전체 데이터베이스 내의 규칙, 구조를 표현
    통합 데이터베이스 구조
  • 내부 스키마
    개발자 관점, 데이터베이스의 물리적 저장 구조
    데이터 저장 구조, 레코드 구조, 필드 정의, 인덱스 등을 의미

식별 관계 vs 비식별 관계

  • 식별 관계
    독립적으로 존재할 수 있는 개체를 강한 개체라고 한다 ex) 고객 <-> 계좌
    다른 엔터티와 관계를 가질 때 기본키를 공유(제공)한다
    강한 개체는 식별 관계로 표현된다
    강한 개체의 PK(기본키)가 변경되면 식별 관계에 있는 엔터티의 값도 변경
  • 비식별 관계
    강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것

식별자 : 엔터티를 대표할 수 있는 유일성을 만족하는 속성

  • 최소성, 대표성, 유일성, 불변성

기본키(Primary Key) :후보키 중에서 엔터티를 대표할 수 있는 키
후보키(Candidate key) : 유일성, 최소성을 만족하는 키
슈퍼키(Super key) : 유일성은 만족하나 최소성은 만족 X
대체키(Alternate key) : 여러 개의 후보키 - 기본키
외래키(Foreing key) : 참조 무결성을 확인하기 위해 사용하는 키, 허용된 데이터 값만 저장하기위해 사용

슈퍼키 vs 후보키
두개의 키 모두 엔터티의 인스턴스를 유일하게 식별할 수 있다는 점에서 유일성을 만족한다
위의 예시에서 신용카드 번호, 주민등록번호 각각은 인스턴스를 고유하게 식별할 수 있고 또 하나의 속성으로 식별할 수 있으므로 최소성을 만족시켜 후보키로 가능하다.
하지만, (신용카드번호, 이름)으로 구성된 속성은 최소성을 만족시키지 못하므로 슈퍼키는 가능하나 후보키는 불가능하다.

profile
Hello World!

0개의 댓글