테이블 설계 문의 0 6 831

by 냥냥펀치원투 [DB 모델링/설계] 공통 테이블 [2021.04.01 11:17:16]


안녕하세요. 냥냥펀치원투입니다.

아래와 같이 테이블을 설계 하려고 합니다.

SEQ 테이블명 컬럼명 컬럼타입 사이즈   SEQ 테이블명 컬럼명 ROW_NUM
600000001 TBL_MASTER1 COL1 VARCHAR2 200   200000001 TBL_MASTER1 COL1 1 VARCHAR2_VAL1
600000002 TBL_MASTER1 COL2 INT 0   200000001 TBL_MASTER1 COL2 1 1
600000003 TBL_MASTER1 COL3 DATETIME 0   200000001 TBL_MASTER1 COL2 1 2021-01-01 00:00:00
600000004 TBL_MASTER2 COL1 INT 0            
600000005 TBL_MASTER2 COL2 DATETIME 0            
600000006 TBL_MASTER2 COL3 VARCHAR2 30            

이렇게 설계가 가능한지 문의 드립니다

컬럼타입을 변경하는 부분에서 어떻게 구현 해야 될지 모르겠습니다.

감사합니다.

by 마농 [2021.04.01 13:13:56]

질문이 이해가 안가요.


by 냥냥펀치원투 [2021.04.02 10:46:22]

가변형 테이블을 생성해서 공용코드를 관리하는 프로그램을 만들고 싶습니다.

1. 테이블 설정 프로그램

테이블명, 컬럼명,  컬럼타입을 로우 데이터로 입력

2. 데이터 등록 프로그램

1.에서 등록 된 테이블명 , 컬럼명 컬럼타입으로 데이터를 등록 할 수 있습니다.

그리고 피벗 뷰를 만들어서 실제 테이블 처럼 화면에 출력 하려고 합니다.


by 마농 [2021.04.02 11:10:51]

정의 테이블과 내역 테이블 두개 가 있는 구조네요.
정의 테이블에는 컬럼ID 가 추가로 필요합니다. 컬럼순서(1,2,3,...)
각 테이블별로 피벗 뷰를 만들어 조회를 지원하고.
각 뷰에 대한 instead of trigger 를 만들어 DML 을 지원해야 합니다.
그런데 굳이 이렇게 해야 하나요? 그냥 각 테이블 만들면 편할텐데요. 성능상 문제도 고려해야 합니다.


by 냥냥펀치원투 [2021.04.02 11:18:45]

만약에 JSON형식 으로 설계 하게 되면 가능 할꺼 같아서 문의 드려 봅니다.

예전에 프로젝트를 할때 MESPLUS 라는 플렛폼(미라콤)에서 이런 씩으로 관리를 하더라구요. 그래서 사용하신 분들이 있는지 궁금해서 문의 드려 봅니다.


by 마농 [2021.04.02 11:23:57]

가능은 합니다.
구현 방법도 위에 적어 드렸구요.
다만. 뷰 사용시 인덱스를 사용하지 못해 성능에 큰 문제가 발생할 것 같습니다.
절충안으로
정의 테이블만 가지고 있고 내역 테이블은 하나로 가지 말고
각 테이블 정의에 따라 실제로 테이블을 자동 생성하는 형태가 좋을 듯 합니다.
이 경우 정의 테이블에 (PK 순번) 컬럼도 필요하겠네요.


by 냥냥펀치원투 [2021.04.02 11:26:46]

인터넷에서 찾아보니 이런씩으로 구현 하는 것을 봤습니다.

편리성만 생각하고 성능적인 부분은 생각하지 못했네요.

말씀 하신데로 테이블 자동 생성 하는 씩으로 고려해 보겠습니다.

답변해 주셔서 감사합니다. 

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