23-03-29 Presentation
카테고리: Presentation
Q1. RDBMS에서 스키마 디자인 중 필드값으로 배열을 넣어야 하는 경우가 발생했습니다. 선배 개발자에게 물어보니, 이 경우에는 정규화가 필요하다고 조언해줍니다. 다음은 사용자 정보가 담긴 user 테이블입니다. 사례를 통해 어떻게 테이블을 정규화할 지 고민해보세요.
id | name | age | hobby | |||
---|---|---|---|---|---|---|
1 | 김코딩 | 19 | kimcoding@aaa.com | 코딩 | ||
2 | 박해커 | 28 | hackerpark@bbb.com | 해킹 | ||
3 | 최고수 | 18 | choigosu@ccc.com | [코딩, 해킹] | <— 이 문제를 어떻게 해결할까요? |
A1. 정규화를 통한 테이블 수정
사용자 정보에서 취미(Hobby) 필드값으로 배열이 들어갈 경우, 이를 정규화하여 별도의 테이블을 생성할 수 있습니다. 취미 필드를 별도의 테이블로 분리하면, 각 취미마다 복수개의 사용자가 존재하더라도 문제 없이 데이터를 저장하고 조회할 수 있습니다.
id | name | age | |
---|---|---|---|
1 | 김코딩 | 19 | mailto:kimcoding@aaa.com |
2 | 박해커 | 28 | mailto:hackerpark@bbb.com |
3 | 최고수 | 18 | mailto:choigosu@ccc.com |
id | user_id | hobby |
---|---|---|
1 | 1 | 코딩 |
2 | 2 | 해킹 |
3 | 3 | 코딩 |
4 | 3 | 해킹 |
출처 : https://ko.wikipedia.org/wiki/데이터베이스_정규화
Q2. 배치 작업의 예로는 어떤 것들이 있나요? 거래(트랜잭션), 리포트, 요금 계산은 배치 작업의 대표적인 예입니다. 이 키워드를 사용해 배치 작업을 설명해보세요.
A2. 배치 작업
배치 작업은 일괄처리 작업으로, 특정 시간이나 주기마다 자동으로 실행되는 작업을 의미합니다. 예를 들어, 거래(트랜잭션) 작업은 매일 정해진 시간에 처리되며, 대량의 데이터를 한 번에 처리하는 작업입니다. 리포트 작업은 매주 월요일에 처리되며, 데이터를 집계하여 보고서를 만드는 작업입니다. 요금 계산 작업은 매월 1일에 처리되며, 고객들에게 청구서를 발송하는 작업입니다.
출처 : https://www.tibco.com/ko/reference-center/what-is-batch-processing
댓글남기기