すべてのデータ関係(バス、クライアント、および旅行の間)が1対1であり、情報がCSV全体で複製されていない場合、次の理由で単一のテーブルを使用できます。
- CVSからデータベースへの最も単純な変換。CVSの各列はデータベースの1つの列に対応します。
- CVSに「似ている」ため、データベースで作業する人は誰でも、データがどこにあるかを正確に知ることができます。
- データベースに情報を照会するときは、必要なデータのみを要求し、不要な列を除外するため、「読み取りが遅くなる」という主な懸念事項は大きな問題にはなりません。(例
SELECT departure, arrival, distance FROM bustrips WHERE distance > 1000
)\
ただし、データを見ると、CVSに大量の重複がある場合、おそらく同じ旅行に複数のクライアントが乗っているか、同じバスが複数の旅行に使用されているなどです。一意のデータのブロックごとに新しいテーブル。私がすでに見ているかもしれない1つの例は、バスの新しいテーブルです。
Bus_ID;
Numberplate;
Handicap;
Odometer reading;
これがあなたの決断に役立つことを願っています。それは「簡単な読み取り」と「簡単な書き込み」ではなく、冗長性の削減による情報の明確化に関するものです。