SQL #5

SQLD 자격증을 준비했을 때 공부했던 이론 정리.

SQLD

데이터 베이스란 무엇인가?

여러 데이터들을 모아 통합적으로 관리하는 기술. 여러 사람들이 함께 사용하고 공유한다! 데이터 베이스가 없었을 때는 각 사람들이 전부 데이터를 지니고 있었고, 데이터베이스가 출시되면서 데이터를 한 곳에 모아 저장하고 공유할 수 있게 되었다. SQLD에서는 데이터 베이스에서 데이터를 조회하고 조작하는 능력을 공부함에 목적을 지니고 있다.

 

데이터 모델이란?

현실 세계의 대상을 추상화 단순화 명확화 하여 데이터 베이스로 표현하는 것.

 

데이터 모델링 예시.

1) 집을 만들자! → 요구 사항 접수
2) 단순한 설계도  개념적 데이터 모델링(엔터티, 관계, 속성...)
3) 좀 더 상세한 설계도  논리적 데이터 모델링
4) 실제로 구축  물리적 데이터 모델링
5) 집 완성! 데이터베이스 저장할 수 있게 세팅

 

엔터티(ENTITY) 이해하기

업무에 필요한 정보를 저장/관리하기 위한 집합적인 명사 개념.

 

인스턴스(INSTANCE)란?

엔터티 집합 내에 존재하는 개별적인 대상.

 

예시.

엔터티 : 직원
인스턴스 : 직원A 직원B 직원C 직원D ......

 

엔터티(ENTITY)의 특징

  1. 반드시 업무에서 필요한 대상이고 업무에 사용될 것.
  2. 유일한 식별자로 식별이 가능할 것. (유일하게 구분할 수 있다.)
  3. 인스턴스가 2개 이상일 것.
  4. 속성이 반드시 2개 이상 존재할 것.
  5. 관계가 하나 이상 존재할 것. (단, 코드성, 통계성은 생략 가능)

 

엔터티(ENTITY)의 분류

유무형에 따라 분류

  • 유형 엔터티: 물리적 형태가 있는 엔터티. ex) 직원, 주류, 강사, 고객....
  • 개념 엔터티: 물리적 형태가 없는 엔터티. ex) 부서, 과목, 계급....
  • 사건 엔터티: 업무 수행 중에 발생하는 엔터티. 제일 많이 발생한다. ex) 강의, 매출, 주문, 상담....

 

발생시점에 따라 분류

  • 기본/키 엔터티: 본래 업무에 존재하는 정보. 독립 생성 가능, 주식별자 보유. ex) 직원, 고객, 상품....
  • 중심 엔터티: 기본 엔터티로부터 발생. 업무에 있어 중심 역할. ex) 주문, 매출, 계약....
  • 행위 엔터티: 2개 이상 엔터티로부터 발생. ex) 주문 이력

 

엔터티(ENTITY) 명명(naming) 규칙

  1. 가능한 현업 용어를 쓴다. ex) 사람 -> 고객, 전봇대 -> 전주
  2. 가능하면 약어를 사용하지 않는다. ex) 일별매출정보 -> 일매목 X
  3. 단수 명사를 사용한다. ex) 직원들 -> 직원, 주문내역들 -> 주문내역
  4. 엔터티 이름은 유일해야 한다.
  5. 엔터티 생성 의미대로 이름을 부여한다. ex) 연락처목록 -> 직원연락처? 고객연락처?

 

속성(ATTRIBUTE)이란?

업무상 관리하기 위해 의미적으로 더는 분리되지 않는 최소의 데이터 단위.

 

엔터티, 인스턴스, 속성의 관계

  1. 하나의 엔터티는 2개 이상의 인스턴스를 가진다.
  2. 하나의 엔터티는 2개 이상의 속성을 가진다.
  3. 속성은 각 인스턴스를 설명해줄 수 있다.
  4. 하나의 속성에는 하나의 속성값만 들어간다.

 

식별자란?

엔터티 내 유일한 인스턴스를 식별할 수 있는 속성의 집합. (값이 중복될 수 있는 이름이나 나이같은 속성이 아닌, 각각 전부 다른 ID같은 속성을 말한다.)

 

속성의 분류

특성에 따른 분류

  • 기본 속성: 업무로부터 추출한 속성으로 제일 많이 발생.
  • 설계 속성: 설계시 규칙화 등이 필요해 만든 속성 코드성이나 일련번호 등.
  • 파생 속성: 다른 속성들로부터 계산/변형되어 만들어진 속성.

구성방식에 따른 분류

  • PK, FK, 일반속성, 복합속성.

 

속성 명명(Naming) 규칙

  1. 가능한 현업 용어를 쓴다.
  2. 가능하면 약어를 사용하지 않는다.
  3. 명사형을 쓰고 서술식이나 수식어 등을 제한한다. ex) 오늘배송된상품 → 일배송상품
  4. 가능한 속성 이름은 전체 데이터 모델에서 유일해야 한다.

 

도메인(DOMAIN)이란?

각 속성이 입력 받을 수 있는 값의 정의 및 범위를 의미. 보통 테이블을 만들 때 각 속성마다 자료형 및 제약조건을 줄 때 결정된다.

 

예시. 나이는 숫자만 입력받을 수 있다. 입력값은 0~999까지로 한다.
예시. 이름은 문자형으로 입력받을 수 있다. 최대 5자리만 받는다.

'SQL' 카테고리의 다른 글

SQL #7  (4) 2024.11.28
SQL #6  (0) 2024.11.28
SQL #4  (0) 2024.11.26
SQL #3  (1) 2024.11.21
SQL #2  (0) 2024.11.21