2012-12-05 8 views
-1

이 클럽 회원제 시스템은 java로되어 있습니다. 내가 한 것은 이미 등록 된 구성원과 관리자가 저장된 계정이라는 1 개의 테이블이있는 데이터베이스입니다.이 테이블의 필드는 사용자 이름, 성, 성, 암호, 날짜 _ 가입, 역할 등입니다.클럽 회원 시스템 데이터베이스에 필요한 테이블은 무엇입니까?

우리 프로그램 지금까지도 사람이 등록하면 관리자가 관리자 권한으로 승진하기 전까지 멤버가 자동으로 멤버가됩니다. 구성원은 전체 권한을 가진 관리자와 달리 시스템에서 제한된 권한을가집니다.

우리 교수는 우리 클럽에 가입하고자하는 사람을 위해 프로그램을 개정하고 지불 요구 조건을 추가해야한다고 말합니다. 회원 자격은 일정 기간 내에 만료됩니다.

클럽에서의 경험 부족으로 인해 추가 기능을 어떻게 구현해야하는지 알 수 없습니다. 결제를위한 다른 테이블을 만들어 계정 테이블에 연결해야 할 필요가 있습니까? 그리고 프로그램에 등록하는 사용자는 성공적으로 등록하기 전에 특정 클럽 수수료를 먼저 지불해야합니까? 또는 그는 지금 등록 할 수 있습니까? 나중에 지불 할 수 있습니까? 그의 계좌가 만료되면 그가 회원 자격을 갱신하지 않으면 데이터베이스에서 삭제 될 것입니까?

이런 종류의 시스템에 대한 아이디어가 있으며 좋은 구현을 제안 할 수있는 사람은 누구입니까? 미리 감사드립니다.

+1

"한 가지 크기는 모두 적합"합니다. 이 프로젝트의 가장 중요한 부분 인 요구 사항을 분석하는 기술이므로 요구 사항 분석 작업을 수행해야합니다. –

답변

3

간단히 시작하여 관리하려는 모든 명사의 이름을 지정하십시오. 그것들이 당신의 테이블 이름입니다.

그런 다음 추적하려는 각 명사와 관련된 모든 형용사를 생각해보십시오. 형용사 그룹이 범주에 들어 맞는 경우 연결된 테이블 내에 열을 만듭니다. 형용사가 항상 모든 가능한 명사에 적용되면 무시하십시오. 데이터베이스는 시간 경과에 따라 변화하는 데이터를 추적하기위한 것이고 상수는 저장하지 않는 것이 가장 좋습니다.

그런 다음 빠뜨릴 수없는 형용사를 생각해보십시오. 생일 알림 수신을 허용하면 출생 날짜가 누락 될 수 있습니다. 아마도 귀하의 클럽은 생일을 지향하는 클럽이며, 이름이없는 것은 판돈에 상당 할 것입니다.

그런 다음 필요한 형용사를보십시오. 몇 가지를 직접 또는 조합하여 찾으십시오. 을 표의 항목으로 식별하십시오. 일부의 경우 Person은 이름으로 식별 될 수 있습니다. 즉, 동일하지 않은 모든 이름이 다른 Person에 액세스하고 모든 동일한 이름이 같은 Person에 액세스하게됩니다. 두 명의 존 스미스를 만난 적이 있거나 결혼으로 인해 이름이 바뀐 적이 있다면 이름 란만으로 신원을 결정하는 이상적인 방법이 아니라는 것을 즉시 알 수 있습니다. 식별 필드의 콜렉션을 기본 키라고합니다.

그런 다음 명사가 어떻게 관련되어 있는지 생각해보십시오. 회원 자격이 사람과 동일하지 않은 경우 두 사람을 함께 가입해야합니다. 테이블을 조인하는 세 가지 기본 기술이 있으며 나중에 더 잘 적용될 수있는 고급 기술이 있습니다.

  1. 한 X (사람이) 하나의 Y (회원)와 연관 될 수 있습니다 다음, X와 Y 테이블은 하나 개의 테이블에 병합 후보가 될 수 있습니다. 이를 1 : 1 관계라고합니다.

  2. 하나의 X (Person)가 많은 Y (Memberships)와 연관되어 있으면 Y (Membership) 테이블은 연관된 X (Person)의 기본 키에 대한 외래 키 참조를 포함해야합니다. 이것은 1 : N 관계라고합니다.

  3. 많은 X (명)를 하나의 Y (구성원)와 연결된 후, X (사람) 테이블은이 연결된 Y (구성원)의 기본 키 외래 키 참조를 포함한다. 이것은 N : 1 관계라고합니다.

  4. 많은 X (개인)는 많은 Y (회원)와 연관되어 있습니다. 간단히 말해, 사람은 특정 회원을 가질 수도 있고, 그룹 회원의 일부이거나, 다중 멤버십 패키지로 구입하거나, 단일 회원 만 가질 수도 있습니다. 이 경우 X와 Y의 각 기본 키에 하나씩 두 개의 외래 키 참조가 포함 된 구성된 "관계"테이블을 사용하여 관계를 관리해야합니다. 마지막으로이 두 외래 키 참조는 (조합하여) 관계 XY (PersonMembership) 테이블의 기본 키.

테이블을 조인하는 다른 방법이 있지만 기본적으로 조인 된 테이블의 수를 늘리는 마지막 기술의 확장입니다.

이것은 당신에게 좋은 출발점이 될 것입니다. 그리고 여러분이 선택한 선택이 다른 사람들이 할 수있는 선택이 아니라는 것을 곧 알게 될 것입니다. 그래서 표준 데이터베이스 테이블 세트가 거의 없습니다. 일단 기본 프레임 워크를 시작하고 실행하면, 동시에 두 세트의 관련 데이터를 가져올 수 있으며, 그렇게하면 성능에 대한 몇 가지 규칙을 위반하는 것을 고려할 수 있습니다. . 처음부터 규칙을 어기려고하지 마십시오. 규칙을 지켜서 언제 깨야하는지 알아야합니다. 그런 식으로, 당신은 당신이 당신의 목표를 달성하는 데 무엇을 잃고 있는지 알게 될 것이고, 당신은 실제 사용법에서 소개 된 함정을 피할 것입니다.

관련 문제