먼저 내 질문에 매우 정확 해 보자.자동 MySQL 테이블 생성
기본적으로 나는 PHP와 MySQL을 배우므로 약간의 프로젝트를 진행하고있다. 나는 나와 우리가 서로 빚진 돈을 추적 할 수있는 웹 사이트를 만들고 있습니다. 특히 몇 달에 걸쳐 조금씩 반환해야 할 큰 액수입니다. 그래서 우리 중 누구라도이 레코드에 이름을 부여하는 '레코드'를 시작할 수 있습니다. 'Car Expenses'를 선택하면 차용자가 큰 돈을 돌려받을 때마다이 기록에 거래를 추가 할 수 있습니다. 이 '자동차 경비'레코드에는 트랜잭션 ID, 반환 된 금액 및 날짜 등 (분명히이 비트로 돌아옵니다) 일부 열이 포함됩니다.
나는 확실히 두 테이블이 필요하다는 것을 알고있다 : 1) 사용자 - 사용자 이름과 이메일 주소가 우리 모두를 위해 저장되는 곳. 2) 기록 - 모든 기록에 대한 요약 정보 (기록과 관련된 거래 내역이 아닌)가 저장됩니다. 레코드 - 제목, 레코드 - 설명, 생성 시간, 마지막 업데이트 시간, 관련된 당사자의 이름 등등.
그러나 문제는 시스템의 세 번째 부분이 어떻게 작동 할 것인가에 대한 확신이 없다는 것입니다. 레코드에 대한 모든 거래를 보여주는 특정 레코드에 대한 세부 정보로 이동하십시오. 얼마나 많은 돈을 벌써 지불했는지 등등.
나는 사용자가 만든 각각의 개별 레코드에 대해 새 테이블을 만들려고했다. 이 테이블에서 트랜잭션 ID, 트랜잭션 날짜, 입/출력, 주석 및 모든 트랜잭션 편집/삭제 컨트롤이 준비됩니다.
필자가보기에, 매번 새로운 테이블을 생성하는이 접근법의 문제점은 새로 생성 된 각 테이블에 사용자 정의 된 이름을 부여하는 것은 도전 과제가 될뿐만 아니라 확장 된 각 테이블에 대해 새로운 테이블을 디자인하는 자동 쿼리를 실행하는 것입니다 기록은 매우 어려울 수 있습니다.
이 세 번째 부분을 구현하기위한 최선의 방법이나 내 웹 사이트의 전반적인 데이터베이스 디자인에 대한 더 나은 아이디어를 알려주십시오. 미리 감사드립니다.
각 레코드에 대해 새 테이블이 필요하지 않지만 사용자 ID 및 레코드 ID를 참조하는 모든 레코드에 대해 하나의 테이블이 필요합니다. – aynber
감사합니다 aynber, 나는 그것이 같은 테이블 내에서 하나의 레코드에서 트랜잭션을 선택하고 모든 사람들로부터 많은 트랜잭션이 어디 있는지를 보여주는 것이 복잡 할 것이라고 생각했습니다 – Ros
user_ids와 record_ids 및 올바른 인덱스로 테이블을 올바르게 디자인한다면 , 추적하기가 어렵지 않습니다. 실제로, 각 레코드에 대한 링크가있는 전체 트랜잭션을 표시하려는 경우이 방법이 더 쉽습니다. – aynber