현재 PHP, 자바 스크립트 및 MySQL을 사용하여 웹 응용 프로그램을 디자인하고 있습니다. 데이터베이스에 대한 두 가지 옵션을 고려하고 있습니다.토너먼트 관리 소프트웨어 용 데이터베이스 디자인
토너먼트 ID와 함께 기본 정보가 저장된 모든 토너먼트에 대한 마스터 테이블을 보유하고 있습니다. 그런 다음 각 테이블 이름에 토너먼트 ID가 추가 된 디비전, 대괄호, 일치 등의 테이블을 만듭니다. 그런 다음 해당 토너먼트에 액세스 할 때 "SELECT * FROM BRACKETS_ [여기에 토너먼트 ID 삽입]"과 같은 간단한 작업을 수행합니다.
내 다른 옵션은 각 레코드가 해당 토너먼트 (또는 괄호, 대괄호와 일치하는 부분 등)에 적절한 외부 키에 연결되어있는 일반 대괄호, 구분, 일치 등의 테이블을 갖는 것입니다 기둥.
첫 번째 접근 방식에 대한 우려는 저에게 너무 비싸고 데이터베이스가 매우 빨리 지저분해질 수있는 것처럼 보입니다. 두 번째 접근 방식에 대한 나의 우려는 성능입니다. 이 프로그램은 국제적이지는 않더라도 국가가 될 것입니다. 한 테이블에 많은 레코드가있는 것을 염려하고 있습니다. 너무 많은 사람들이 동시에 그것을 치면 문제가 발생할 수 있습니다.
데이터베이스 관리와 관련해서는 완전히 새로운 것이 아닙니다. 그러나 이것은 내가 솔로로 완전히 한 첫 번째 것입니다. 그래서 모든 도움이 인정됩니다. 감사!
실제로이 테이블에 어떤 것을 저장해야합니까? 토너먼트에 참가한 누가, 누가 이겼고, 누가 어떤 팀에 팀이 있는지, 어떤 상장이 있고, 어떤 상을 수여 했습니까? 일단 모든 것을 갖추면 데이터베이스 스키마를 쉽게 찾을 수 있습니다. –
나는 아직도 그 문제를 해결하고 있지만, 나의 질문은 그것보다 좀 더 일반적이다. 나는 더 적은 수의 행을 가진 많은 테이블을 가지거나 더 많은 행을 가진 적은 수의 테이블을 갖는 것이 더 나은가, 아니면 그것이 효과가 있는지 묻고있는 것 같다. 언젠가 내일 나는 각 테이블에 무엇이 있는지에 대한 자세한 목록을 게시 할 것이다. –