우리는 버스 스테이션 데이터를 가지고 있으며 주어진 시작 스테이션과 끝 스테이션에 라인 / 여러 라인을 제공하는 애플리케이션을 구축하려고합니다.
예를 들어, 사용자는 station1에서 station2까지 버스 노선 제안을 받으려고 시도합니다.
모두를 커버 할 수있는 버스 라인이 있으면 station1
하고 station2
,이 라인은 반환해야합니다. 결과는 다음과 같습니다.
Step1: station1 -- station2
station1과 station2 사이에 직접 버스 노선이없는 경우, 애플리케이션은 교환 계획을 찾으려고 시도해야합니다. 예를 들어 결과는 다음과 같습니다.
Step1: station1 -- exchangestation
Step2: exchangestation -- station2
이제 데이터가 있지만 데이터베이스에서 데이터 모델을 디자인하는 방법, 쿼리를 효율적으로 만들기 위해 스키마를 만드는 방법을 모르십니까?
==============================================
최신 정보:
예를 들어, 각각 다른 색상의 버스 라인이 4 개 있습니다 (실제로는 2 개).
l1: A-B-C-D
l2: D-B-A (in fact, the l2 is the reverse of l1 except the l2 will skip station `C`.
l3: E-B-D-F
l4: F-D-B-E(reverse of l3)
주어진 스테이션에 대한 버스 라인 계획을 쿼리하기 위해 이러한 정보를 데이터베이스에 저장하려면 필요한 테이블 수와 각 테이블에 무엇을 넣어야합니까?