⊗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 เมือง เราจะต้องดึงตารางทั้งหมด ที่มีจำนวนแถวมากมายมหาศาล - ผลลัพธ์ จะเป็นกระบวนการที่ช้ามากด้วยการ ใช้ทรัพยากรที่ไร้ความหมาย

วิธีแก้ปัญหา

จำเป็นต้องแบ่งตารางของเราออกเป็นสองตาราง: ในตารางหนึ่ง จะเก็บเมือง และในตารางที่สอง - ผู้ใช้ ในขณะเดียวกันในตารางผู้ใช้จะมีคอลัมน์ city_id ซึ่งจะ อ้างอิง ถึงเมืองของผู้ใช้

เอาล่ะ เรามาสร้างตารางสองตารางกัน ตาราง เมือง:

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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ