부모-자식 관계 테이블 관계의 부모 테이블 신규 컬럼 추가 문의 0 3 105

by 나는짱이야 [DB 모델링/설계] [2019.12.02 08:34:32]


기존 DB를 가지고 신규 개발 작업을 진행 중에 있습니다.

개발 작업 진행 중 1:N관계를 갖는 테이블(부모-자식 관계)이 존재하는데요.

추후 데이터를 가져올때 하나의 레코드셋만 가져오려고 부모 테이블에 신규 컬럼을 추가하여

역정규화를 진행 했습니다.

통계 데이터 작성 시 2개 데이터라 누적되더라도 1개의 레코드셋으로 보여줄려는 목적도 있습니다.

(이게 이해가 되실런지는 모르겠네요.ㅠㅠ)

그걸 본 회사분들은 좀 의아하게 생각하더라구요.

특정 조건으로 데이터 조회(select) 시 데이터를 다 가져오면 되는거 아니냐구요.

근데 저는 N개 row가 누적된 데이터를 모두 가져오고 싶지 않았습니다.

케이스마다 N개를 가져올수도 있고 1개를 가져올 수 도 있는데..무조건 N개를 데이터를 읽어야 하는 낭비를 해야하는건지가 의문이었습니다.

다른 분들은 이런 경우 어떻게 처리 하시는게 현명한지 경험자분들 의견 부탁 드립니다.

마지막으로 부모 테이블의 신규 컬럼이 추가되더라도 데이터가 변경될 가능성 매우 희박합니다.

감사합니다.

by 우리집아찌 [2019.12.02 09:32:25]

성능 때문에 반정규화 하신것 같은데 성능에 이슈가 있나요?

성능에 문제가 없는데 미리 하는것 아닌것 같습니다.

어째든 데이터 정합성에 맞지는 않으니까요


by chrome [2019.12.05 12:02:05]

정규화하세요. 

사이즈가 커질 수록 "아 그 때 왜 정규화하지 않았을까!!!" 하고 땅을 치게 됩니다.

특히 OLTP집계성 쿼리나 , Order 들어가면서 헬이 펼쳐지죠.

 


by 마농 [2019.12.05 13:10:47]

정규화를 안하고 거스르는 것은 좋지 않지만
정규화를 하고 난 뒤 반정규화를 하는 것은 나쁘게만 볼수는 없다고 생각합니다.
좋은 시도라고 생각됩니다.
다만, 마지막 문장은 좀 이해가 가지 않네요?
"부모 테이블의 신규 컬럼이 추가되더라도 데이터가 변경될 가능성 매우 희박합니다."
이 부분은 잘못 생각하는게 아닐런지요?
보통 자식 테이블의 마직막 자료만 부모 테이블에 반정규화 컬럼으로 두게 되는데.
이게 변경될 가능성이 없다는게 말이 안되는 듯 하네요?
변경될 가능성이 없다면 아예 자식테이블이 필요 없는게 아닌지?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입