ここからが新しい考え方の学習です。まずはこの伝票の主キーを発見します。今後何枚も伝票が増えることが想定されます。伝票内の各項目の中で、どの伝票かを特定できる項目・値は[伝票番号]です。すなわちまず、この伝票の中では[伝票番号]が主キーになることを念頭においておきます。
次にこの伝票をリスト化します。すなわち無理にでも伝票内の各値を1行に収めるのです。すると以下のようになるでしょう(先頭行はフィールド名)。
しかしこのようなテーブル構造は不適切です。テーブル構造を1度決めてから、あとで修正するのは非常に大変です。ところが上のテーブルではひとつの伝票で管理できる商品数が3つまでと決まってしまいます。もしひとつの伝票で5種類の商品を処理しなければならなくなった場合にはテーブルの構成を変更する必要が出てしまいます。例えば伝票番号「1002」のレコードを追加する際に、以下のようにテーブルデザインの変更をする必要が発生します。