0

SQLテーブルの列に何かの配列/リストを格納する方法の標準的な方法はありますか? 私は次のことをしようとしています:「建物」と「部屋」のオブジェクトがあり、建物のオブジェクトはフィールドとして設定されています。このような関係 (建物にはたくさんの部屋がある) は SQL でどのように記述できるでしょうか?

私はデータベース設計の初心者なので、些細なことでも怒らないでください。

psまた、「多くのバス運転手が多くのバスを利用する」とその逆の関係を誰かが説明できれば素晴らしいと思います.

4

2 に答える 2

4

最初の関連付け (One Building has Many Rooms) では、通常、これを 2 つのテーブル (建物と部屋) でモデル化し、子テーブル (部屋) は親テーブル (建物) への外部キーを持ちます。

building
id (PK), name, location

room
id(PK), building_id (FK referencing building.id), room_number

2 番目の関連付けの場合、これは多対多の関連付けであり、バスとドライバーの間に結合テーブルが必要になります。

bus
id (PK), plate_number, color

driver
id (PK), first_name, last_name

driver_drives_bus
driver_id (FK referencing driver.id), bus_id (FK referencing bus.id)

この結合テーブルの主キーは couple[driver_id, bus_id]です。

于 2013-04-21T14:53:58.747 に答える
3

この記事を読んで考えてみるといいと思います。

これを参照してください:初心者のための SQL: パート 3 – データベースの関係

データベース関係

  • 1対1の関係
  • 一対多
  • 多対一の関係
  • 多対多の関係
  • 自己参照関係
于 2013-04-21T14:59:21.103 に答える