2013-09-08 4 views
2

PHP 인벤토리 애플리케이션을 개발 중입니다. 그러나 나는 데이터베이스 디자인에 박혀있다. 논리는 다음과 같습니다PHP 인벤토리 데이터베이스 디자인

  1. 가지 범주
  2. 1 catagory이 많은 제품
  3. 한 제품 300 ml를, 500ml의 1 리터 각 크기와 같은 병의 많은 크기가 자신의 가격을 가지고 있습니다
  4. 제품이 될 것입니다 포함되어 있습니다 2 개 또는 3 개의 위치에 저장되거나 이동되었습니다. godown, 카운터 등

godown에서 카운터까지 제품 6 단위를 입력하면 문제가되는데 어떻게 데이터베이스 테이블을 통해 표현할 수 있습니까? 데이터베이스를 설계했지만 논리를 파악하여 전송 또는 이동하는 방법을 알 수는 없습니다. 여기에 디자인입니다!

[1]

+0

이미지에 링크를 삽입 하시겠습니까? –

+0

Imgur에 이미지를 업로드하고'[1] : URL'로 게시물에 추가하십시오. –

답변

0

내가보기 엔 충분히 밥 삼촌에 의해이 비디오 권장하지 않습니다 [여기 이미지에 대한 설명을 입력] : 다른 큰 것들 중

Robert C Martin(Uncle Bob) -Clean Architecture and Design - Video

당신 그것에서 배울 수 있습니다 귀하의 질문에 대한 구체적으로, 테이크 아웃은 데이터베이스 디자인은 가 가능한 한 지연되어야합니다. DB를 일종의 추상 인터페이스로보고 비즈니스 논리로 시작하는 것이 좋습니다. 그러면 데이터베이스에서 실제로 필요한 것이 무엇인지, 어떤 종류의 API가 논리와 통신 할 때 유용 할 수 있는지에 대해 이해할 수 있습니다. 비즈니스 논리를 개발하기 전에 DB 구조를 정돈하려고 시도하기 때문에 정확하게 고정 된 것처럼 보입니다.

것은 당신에게 당신의 질문에 대한 좀 더 구체적인 아이디어를 제공하기 위해, 당신은 아마 당신이 product_idname는 등 지금 다른이 될 수있는 PROD_SIZES에 일대 다 관계를 갖고있는 것 같다가 테이블 PRODUCTS가 필요 prod_size_id 또는 임의의 숫자로 기본 키, product_id, 외래 키size, price 등의 정규 필드로 구성됩니다. 그러나 size - price 쌍을 JSON으로 압축하여 PRODUCT 테이블의 다른 입력란에 넣을 수 있습니다. 그것은 정말로 당신의 비즈니스 논리에 달려 있습니다.

여러 위치에 동일한 항목을 저장하는 경우 각 테이블에 대해 필요한 모든 정보가 담긴 다른 테이블 LOCATIONS이 필요할 수 있습니다. 그렇다면 prod_size_idlocation_id 사이에 many-to-many 관계가 있습니다. 이는 id,, location_idnr_of_units의 테이블을 가지고 있습니다. 이제 한 위치에서 다른 위치로 일부 유닛을 이동하려면 마지막 열을 변경하여 마지막 테이블 만 엉망으로 만듭니다.

희망이 있습니다.