Today I Learned

[내일배움캠프_데이터분석] 4주차 월요일 TIL _ DBMS

journal201 2024. 7. 15. 20:05

A. 데이터베이스와 데이터 분석

- 데이터베이스(DataBase, DB): 저장된 데이터

- 데이터를 다룰 사람으로써 각각의 데이터를 어떤 방식으로 저장할 것인지, 어떤 방법으로 구조화하고자 하는지 알 필요가 있다.

 

B. DBMS(Database Management System)

- 데이터를 체계적으로 저장하고 관리할 수 있게 도와주는 프로그램

- 데이터를 효율적으로 관리하기 위해 사용 → 데이터를 어떻게 관리할 것인지, 어떤 구조로 만들지 고민해야한다.

- 해당 프로그램을 통해 저장, 검색, 수정, 삭제 할 수 있다.

- 핵심: 키, 정규화, 제약조건

 

C. 키

- 데이터를 고유하게 식별

- 키를 통해 데이터베이스 내 특정 데이터를 찾기 쉽다.

1) 기본키(Primary Key)

  - 테이블에서 각 행을 유일하게 식별

  - 유일성과 최소성 만족, 후보키에서 선택된다.

  - 중복X, NULL X

2) 후보키 (Candidate Key)

  - 유일성과 최소성 만족

3) 대체키 (Alternate Key)

  - 후보키에서 선택 안된 키이다.

4) 외래키(Foreign Key)

  - 다른 테이블의 기본 키 참조한다.

  - 테이블들 간의 관계를 나타내기 위해 사용한다.

 

D. 정규화 (Normalization)

- 데이터 중복을 최소화하고 데이터를 구조화하는 과정이다.

- 데이터베이스의 무결성 유지 및 쉬운 관리를 위해 사용한다.

   ▶ 데이터베이스의 무결성

      *데이터무결성: 데이터의 정확성과 일관성을 유지한다.

       * 특징: 데이터를 신뢰할 수 있게 한다.

       * 유형: 참조 무결성    : 외래키가 참조하는 값 반드시 존재하여야 한다.

                  도메인 무결성 : 데이터가 정의된 도메인에 속한다.

                  엔터티 무결성 : 기본키는 중복되거나 NULL이 될 수 없다.

 

1) 1NF (제1정규형)

- 모든 필드가 원자값을 갖는다.

 

2) 2NF (제2정규형)

- 1NF만족 & 부분적 함수 종속 제거한다.

- 데이블에 관련된 정보만 넣는다.

 

3) 3NF

- 2NF 만족 & 이행적 함수 종속 제거한다.

- 그 테이블 내에서 중복된 데이터 제거한다.

- 테이블이 구조화되고 중복이 최소화된다.

- 성능 저하 가능서이 있다.

 

 

E. 제약조건

- 데이터가 특정 규칙을 따르도록 함

- 이유: 데이터의 무결성 유지를 위함

- 데이터베이스의 테이블이 상식적이어야 함

- 오염되지 않은 데이터가 있는지 확인 가능함

 

 

F. DB 공부 방법

- RAW 데이터를 가지고 직접 관계를 만들어 보는 것이 가장 큰 도움이 되었다.

- DB 처리 속도 차이를 확인해보는 것이 큰 도움이 될 것이다.

- 데이터 분석가에게 원하는 데이터를 만들어낼 역량이 있는가도 생각해 봐야겠다.