⊗ppPmDOLT 381 of 447 menu

データベースにおけるテーブルの結合

ユーザー名と彼らが住んでいる都市を格納するテーブルがあるとします:

users
id name city
1 user1 city1
2 user2 city1
3 user3 city2
4 user4 city1
5 user5 city3
6 user6 city2

このテーブルの欠点は、同じ都市が異なるユーザーのために何度も繰り返されることです。 これはいくつかの問題を引き起こします。

第一に、繰り返しによってデータベースがはるかに多くの容量を占めるようになります。

第二に、都市に対する操作を行うのがかなり不便です。 たとえば、すべての都市のリストを画面に表示したいとします。 そう簡単にはできません。 すべてのユーザーとその都市を取得し、次に取得した都市から重複を削除し、その後に初めてリストが得られます。

ここで、データベースに 10000 人のユーザーが 10 の都市にいるとします - この 10 の都市のために、膨大な数の行からテーブル全体を取得する必要があります - これは非常に遅い操作となり、無意味なリソースの浪費です。

問題の解決策

テーブルを2つに分割する必要があります: 1つには都市を格納し、もう1つにはユーザーを格納します。 このとき、ユーザーテーブルには、ユーザーの都市を参照する city_id という列が含まれます。

それでは、2つのテーブルを作成しましょう。 都市テーブル:

cities
id name
1 city1
2 city2
3 city3

ユーザーテーブル:

users
id name city_id
1 user1 1
2 user2 1
3 user3 2
4 user4 1
5 user5 3
6 user6 2

商品(名前、価格、数量)とそれらの商品のカテゴリを格納する必要があるとします。 格納構造を説明してください。

川と、それらの川が流れ込む海を格納する必要があるとします。 格納構造を説明してください。

都市と、それらの都市が所在する国を格納する必要があるとします。 格納構造を説明してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否