Data scientist/SQL

SQL_TABLE

맨사설 2021. 8. 5. 14:50
728x90

 SQL_TABLE

  • 테이블이란 관계형 데이터베이스에서 데이터를 관리 및 저장하는 장소
  • 반드시 테이블 생성 시 기본키를 설정해야 한다.
  • 기본키는 특정 집합에서 특정 행을 유일하게 식별할 수 있는 속성의 집합 (기본키는 중복되면 안 된다.)

※ 정규형

  • 테이블을 정의하는 기본 형태
  • 제대로 된 형태를 뜻한다 -> 테이블 갱신 시 부정합이 발생하기 어려운 형태
  • 정규화가 제대로 되지 않아 관리의 어려움을 겪는 시스템이 다수 존재

 

제1 정규형(1NF) 위반

- 테이블의 셀에 여러 개의 값을 포함하지 않는다.

 

▲ 제2정규형(2NF) 위반

- 부분함수 종속성을 허용하지 않음

- 기본키를 구성하는 열의 일부에만 함수속 종속이 존재하는 것

 

▲ 제3정규형(3NF) 위반

- 기본 키를 제외한 일반 컬럼끼리 함수 종속이 발생

 

▲ 제 4, 5 정규형

- 실무에서 거의 쓰이지 않는다.

 

 SQL_ER 다이어그램

  • 데이터 모델링 분야에서 개체-관계 모델이란 구조화된 데이터에 대한 일련의 표현

 

※ Barker 표기법

 

※ 릴레이션십

  • 엔터티(테이블)와 엔터티(테이블) 사이의 관계를 말한다.
  • 엔터티 간의 관련성을 표현한 것이 릴레이션십(Relationship)이고 핵심 사항은 FK인 칼럼은 부모 테이블의 기본키를 참고하고 있다는 것이다.

 

 

백업 및 복구

  • 핫 백업 : 온라인 백업 / 데이터베이스 기능 이용 / 백업 대상의 데이터베이스 정지하지 않고 가동한 상태로 백업 데이터 얻음
  • 콜드 백업 : 오프라인 백업 / OS 기능 이용 / 데이터 디렉터리의 파일 전부를 OS 명령으로 복사
  • 논리 백업 : SQL 기반 텍스트 형식으로 백업 데이터 기록
  • 물리 백업 : 데이터 영역을 그대로 덤프 하는 이미지로 바이너리 형식 기록
  • 풀 백업 : 데이터베이스 전체 데이터를 매일 백업
  • 부분 백업 : 풀 백업 이후 갱신된 데이터를 백업

 

 

 

 

 

 

◎ 데이터베이스 성능

  • 성능은 클라이언트 요청에 대한 응답시간과 시간당 처리할 수 있는 처리량이다.

※ 성능 용어

- Active User : 대상 서버에 부하를 발생시키고 있는 사용자

- Inactive User : 현재 서버에 요청을 보내고 있지 않은 사용자

- TPS(Transaction Per Second) : 서버가 일정 시간(초) 내에 처리한 트랜잭션의 양

- Response Time : 요청 한 후부터 응답을 받을 때까지 소요된 시간

- Resource : 한정된 값을 가진 시스템의 구성 요소를 의미

 

 

성능을 저하시키는 데이터베이스 병목의 원인

 

- 취급하는 데이터 양이 가장 많다.

- 시스템에서 처리하는 데이터는 영속적으로 보유해야 하는 데이터일 확률이 크다.

- 데이터의 총 크기는 지속적으로 증가한다.

- DBMS 내부 I/O 병목으로 인해 대기 시간이 길어 질 수 있다.

 

 

▲ 성능을 결정하는 요인

- 옵티마이저 : 최적의 데이터 액세스 경로를 선택해주는 DBMS의 핵심 엔진 / 후보군이 될 만한 실행 계획을 찾아낸 후, 통계정보를 이용해 각 실행 계획의 예상 비용을 산정한 후 최저 비용을 나타내는 실행 계획을 선택한다.

728x90

'Data scientist > SQL' 카테고리의 다른 글

SQL_함수(2)  (0) 2021.08.09
SQL_Practice_기온 데이터 분석  (0) 2021.08.08
SQL_함수  (0) 2021.08.06
SQL_기본  (0) 2021.08.04
SQL_데이터베이스  (0) 2021.08.04