2012-08-26 3 views
0

개인용으로 프로젝트 관리자 사이트를 만들고 있는데, 사이트의 데이터베이스를 구축하는 가장 좋은 방법은 무엇이 있을까요?내 프로젝트 관리자 용 mySQL 데이터베이스를 배치하는 가장 좋은 방법

목록, ProjectsTasks, InvoicingPayments이 포함됩니다. 나는 모든 콘텐츠를 Client에 연결할 수있는 최선의 방법을 찾아 내기 위해 노력하고 있습니다. 이것은 내가 데이터베이스를 어떻게 보이는지에 대한 아이디어를 얻기 위해 메모장에 정리 한 것입니다.

Clients: id, name 
Projects: id, client, project_name, due_date 
Tasks: id, client, project_name, task, due_date, complete 
Invoices: invoice_id, client, project_name, date, due, balance, payment, pay_date 
Invoice_item: id, item, amount 

누구에게 내가 어떻게해야하는지 더 잘 알고 있다면 알려 주시기 바랍니다.

+0

가장 좋은 다운로드 [디아] (http://sourceforge.net/projects/ dia-installer /) 또는 비슷한 곳에서 몇 개의 맥주를 들고 거기에서 가십시오. D –

답변

0

@GuberX - 왜 각 테이블은 단지 id입니까?

[Client]: cliID, name 
[Project]: projID, client, project_name, due_date 
[Task]: taskID, client, project_name, task, due_date, complete 
[Invoice]: invID, client, project_name, date, due, balance, payment, pay_date 
[Invoice_item]: InvItemID, item, amount 

(코멘트)에서 지정한 외래 키를 사용하는 예 : 다음 * 위 projID

multiple tasks, single invoice but accept multiple payments 

Task [taskID, client, project_name, task, due_date, complete, *projID] 

이 같은 일을 더 설명이 보일 것이다. 당신이 here

+0

하하. 재미 있은 다른 인습이 인 방법. 나는 테이블이 항상 복수형이고 기본 키가 거의 항상 'id'인 Ruby 심리에서 나온 것입니다. 왜냐하면 그 테이블을위한 것이기 때문입니다. 날짜는 _on, 날짜/시간은 _at와 동일합니다. – TomDunning

+0

나는 plain ol ' "id"cuz를 주로 기본 키로 사용하고 특정 테이블을 함께 연결하는 쉬운 방법을 사용합니다. 그리고 그래, 내가 테이블에 대한 복수의 이름을 사용하지 ... 외래 키에 대한 음, 맹세 하나를 사용하지 않을 생각. – GuberX

+0

Guber - 주어진 프로젝트에 대해 여러 개의 작업을 계획합니까? 또는 고객이 여러 인보이스를 가질 수 있습니까? – CodeTalk

0
Clients: id, name 
Projects: id, client_id, name, due_on 
Tasks: id, client_id, project_id, name, due_on, completed_at 
Invoices: id, project_id, issued_on, due_on, balance, payment, paid_on 
Invoice_item: id, invoice_id, item, amount 

클라이언트 이름/ID의 프로젝트를 통해 고개로 송장 테이블에 저장되지 대한 추가 읽기. 인보이스 또는 여러 project_milestones (마감일)의 부품 지불을 추적하려는 경우에도 고려하십시오. 그렇다면 테이블이 필요합니다.

아, 네, 프로젝트 상태와 그 효과를 잊지 마세요 : 인용, 원, 손실, 완료 등

것 할
+0

예 해당 작업에 대한 작업으로 계산 된 진행률 표시 줄을 사용하여 나의 상태에 대한 부분 지불 – GuberX

+0

을 추적합니다. 모든 일자리는 일반적으로 5 개 이상의 일을해야합니다. – GuberX

관련 문제