시스템을 개발 중이며 모델링에 대한 질문이 있습니다.데이터베이스 모델링 방법은 무엇입니까?
나는 "회사"라는 테이블이 있으며 각 회사의 저장 매개 변수가 필요합니다.
모든 회사에는 동일한 매개 변수가 있어야하며 변경할 수있는 것은 각 매개 변수의 값입니다. 이 매개 변수는 일부 시스템 자원을 설정하기위한 것입니다.
모델을 만드는 가장 좋은 방법은 무엇입니까?
A)
회사 (ID, 이름, ...)
매개 변수 (아이디, COMPANY_ID, PARAM1, PARAM2, 3 당겨, param4, param5)
B)
회사 (ID, 이름 , ...)
매개 변수 (ID, 이름)
Company_Parameters (COMPANY_ID, parameters_id, 값)
C)
또 다른. 뭐?
예 :
회사 A :
로고 주소 : 'http://www.logo.com/logo.jpg'
로그온 시도 : 3
테마 : '빨간색'
쇼 코멘트 :
알림을 가능하게 사실 : 거짓
회사 B :
로고 주소 : 'http://www.logo.com/logo2.jpg'
로그온 시도 : 1
테마 : '블루'
쇼 코멘트 : 사실
시 :
거짓 가 알림을 활성화이 예는에서 가상
있습니다 옵션 A :
회사 :
(id : 1, 이름 : 'Company 1', ...)
,451,515,(ID : 2, 이름 : '회사 2', ...)
매개 변수 :
(ID : 1, COMPANY_ID : 1, logo_address 'http://www.logo.com/logo.jpg',
logon_attempts : 3 주제 : '레드 'show_comments : TRUE, enable_notifications : FALSE)
(ID : 1 COMPANY_ID : 2 logo_address'http://www.logo.com/logo2.jpg 'logon_attempts 1 테마', '파란 show_comments : FALSE, enable_notifications : TRUE)
에서 옵션 B :
회사 :
(id : 1, 이름 : '회사 1', ...)
(id : 2, 이름 : 'Company 2', ...)
매개 변수 :
(ID : 1, 이름 : '로고 주소')
(ID : 2, 이름 : '로그온 시도')
(ID : 3, 이름 : '테마')
(ID : 4, 이름 : '쇼 댓글')
(ID : 5, 이름 : '알림 사용') 'http://www.logo.com/logo.jpg'
Company_Parameters :
(COMPANY_ID : 1, parameter_id : 1, 값)
(company_i D : 1 parameter_id : 2 값 : 3)
(COMPANY_ID : 1 parameter_id : 3 값 :) '적색'
(COMPANY_ID : 1 parameter_id : 4 값 : TRUE)
(COMPANY_ID 1 , parameter_id : 5, 값 : FALSE)
(COMPANY_ID : 2 parameter_id : 1, 값 'http://www.logo.com/logo2.jpg')
(COMPANY_ID : 2 parameter_id : 2, 값 1)
(COMPANY_ID : 2 parameter_id : 3 값 :) '청색'
(COMPANY_ID : 2 parameter_id : 4 값 : FALSE)
(COMPANY_ID : 2 parameter_id : 5 값 : TRUE)
그 이상의 세부 사항을 제공해야합니다. Company는 회사 테이블에 직접 매개 변수를 포함 할 수 있으며, 다른 매개 변수는 Foreing 키를 통해 다른 테이블에 링크되고, 다른 매개 변수는 피벗 테이블을 통해 결합됩니다. 비즈니스 요구 사항과 제약 조건에 따라 다릅니다. 더 많은 정보가 없으면 이것은 데이터베이스 설계에 대한 의견과 일반적인 토론으로 빠르게 바뀔 것이며, SO는 그 장소가 아닙니다. – Nic3500
옵션 A에서 같은 회사의'Parameters'에 여러 개의 행이 있습니까? 아니면 항목이 선택 사항입니까? 왜 두 개의 테이블이 분리되어 있습니까? – reaanb