클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

데이터 입출력 구현 7 - Session 40~41 : 반정규화와 시스템 카달로그 본문

자격증 공부/정보처리기사 실기

데이터 입출력 구현 7 - Session 40~41 : 반정규화와 시스템 카달로그

huenuri 2024. 9. 25. 13:03

이번에는 반정규화부터 학습을 진행해볼 것이다. 아침 시간에 이 내용을 다 학습하지 못하고 점심시간에 이어서 해야 할 것 같다. 오늘은 점심을 별로 먹고 싶지 않아 간단하게 요기하고 나머지 시간에는 공부를 해볼 것이다.


 

 

 

 

세션 40 - 반정규화(Denormalization)

 

 

이 시점에서 DB를 관리할지 아니면 성능이나 효율에 맞출 것인지 생각해야 한다. 정규화를 거치면 중복되는 데이터도 삽입, 삭제 이상도 생기지 않을 것이다. 데이터의 품질과 일관성도 유지할 수 있게 된다.

성능과 효율 입장에서 보면 하나의 데이터를 찾을 때 여러 가지의 테이블을 참조해야 하므로 여러 번 찾고 이동하는 문제가 발생한다. 그렇기에 정규화된 것을 가지고 우리가 사용하기에 편리하고 속도와 성능 면에서 효율적으로 만드는 작업을 반정규화라고 한다.

 

 

 

 

반정규화는 정규화의 반대말이 아니다.

 

 

슈퍼타입은 상위 개체를, 서브타입은 하위 개체를 의미한다.

 

 

 

 

 

 

 

이제 문제를 풀어볼 것이다. 1번은 개념 설명이니 나중에 암기해서 작성해볼 것이다. 2번은 사용빈도, 속성이다. 3번은 잘 모르겠다. 암기해야 할 것 같다.

반정규화는 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙를 위배하는 행위이다. 중복 테이블 추가에는 집계 테이블 추가, 진행 테이블 추가, 특정 부분만을 포함하는 테이블 추가가 있다. 

2번 문제는 맞았다고 생각했는데 틀렸다.수평 분할은 레코드를 기준으로, 수직 분할은 속성을 기준으로 분할하는 것이다.


 

 

 

 

세션 41 - 시스템 카탈로그

 

 

 

 

 

 

1번은 데이터 카달로그이다. 2번은 넘어가고, 3번은 메타 데이터이다. 문제를 다 틀렸다. 암기를 다시 해야 할 것 같다. 한번 읽는 것으로는 부족하다.

시스템 카달로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다. 시스템 카달로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지하는 관리 시스템 테이블이다. 카달로그는 좁은 의미로 데이터 사전이라고도 한다.

메타 데이터는 시스템 카달로그에 저장된 정보를 의미한다. 데이터 디렉터리는 데이터 사전에 수록된 데이터에 접근하는데 필요한 정보를 관리 유지하는 시스템이다.

 

그러니까 1번은 시스템 카달로그이고 3번은 데이터 디렉토리이다. 데이터 카달로그라는 이름은 없다.


 

 

 

 

학습을 마치고

1시가 다 되어서 두 개의 장을 마쳤다. 나머지는 점심시간에 공부해볼 것이다. 정규화가 많이 어려웠지 반정규화와 시스템 카달로그는 별로 어렵지 않았다. 하지만 문제는 많이 틀렸다. 이건 암기를 못해서 틀린 것이니 몰라서 틀린 것 아니니 공부하면 분명 다 맞출 수 있을 것이다.