2016-05-31 3 views
0

이것은 어리석은 질문 일지 모르지만 나는 거의 경험이 없습니다. 작은 공장에서 Excel 스프레드 시트로 작업 할 때 문제가 발생했습니다.데이터베이스를 다형성으로 구조화하는 방법은 무엇입니까?

가족 단위로 그룹화 된 제품 목록이 많습니다. 비유

: 코롤라, 아벤, Landcruiser =

도요타

는 또한 제품은 그와 관련된 작업의 목록이있다.

년식 : 1 단계 2 단계 3 단계 ... 심지어 다른 가족에서 처음 몇 단계에서

모든 제품의 주 작업. 그러나 일부는 생산 중 다른 단계에서 발생합니다. productY의 6 단계는 productY의 5 단계입니다. 그러나 productX 및 productY는 1-5를 공유합니다. (그리고 이것은 전반적으로 사실이다.

나는 세 가지 질문이 있습니다. 이 가능 다형 데이터베이스를 구성 할 수 있습니까? 일반적인 작업은 기본 클래스에 배치하고) OO에 대한 (공통보다 구체적인 얻을 수 있습니다.

정렬되지 않은 작업의 중앙 데이터베이스를 생성하고 제품의 각 데이터베이스에 일종의 우선 순위를 부여하면 작업이 순서를 지정합니다.

최종 문제는 누구에게 발생 했습니까? 이 디자인 패턴이 있어야한다는 느낌이 들었습니다. 솔루션이 마치 내 이해를 넘어선 것처럼 느껴집니다.

편집 1. 스프레드 시트는 주로 비어 있습니다. 워크 시트는 제품 이름입니다. 해당 문자열 - 정수 조합은 제품 번호입니다. 지정된 시간 [그래서 Screen grab

+1

샘플 스프레드 시트가 도움이 될 것입니다. – ManishChristian

+0

화면 잡아 추가 :) – paglynn

답변

1

의 값은 아래 즉, 시간/시간에 넣어되며, 제품 의 양이해야한다, 이것은 내가 이해할 것입니다 :

  • 당신은 매핑을 저장해야 제품과 작업/단계 사이. 후자는 수행 할 순서대로 저장해야합니다.
  • 일부 초기 작업은 항상 모든 제품에 공통적으로 적용됩니다.
  • 데이터베이스를 '다형성 (polymorphically)'으로 구조화하고 싶습니다. 어떤 종류의 데이터베이스를 사용하고 있는지 언급하지 않았으므로 관계형 데이터베이스라고 가정합니다.

당신은 너무 당신의 테이블을 만들 수 있습니다

  • Product을 : 각 행의 데이터를 저장을 하나 개의 제품에. 기본 키 : product-name (또는 product-id, 무엇이든간에)
  • Task : 작업 완료까지 걸리는 시간 등의 정보 기본 키 : task-name/id.
  • ProductTaskMapping : 어떤 작업을 수행할지에 대한 매핑이 포함되어 있습니다. 스키마는 다음과 같습니다. 처음 두 컬럼을 외래 키로 생각할 수도 있습니다.
    • product-name - Product의 기본 키를 나타냅니다.
    • task-name - Task의 기본 키를 나타냅니다.
  • CommonTask
  • priority, 또는 sequence-number : 두 개의 열 :
    • task-name
    • priority
또한

, 두 테이블 사이에 '상속'을 정의 할 수있는 방법이 없습니다 .

관련 문제