‫บริษัททั้งหมดจัดเก็บข้อมูลจากสมุดบันทึกง่ายๆ ของธุรกิจขนาดเล็ก แม้กระทั่งในวารสารหรือแผ่นกระดาษ
‫สำหรับบริษัทขนาดใหญ่อย่าง Amazon ที่ต้องการคอมพิวเตอร์เพื่อจัดเก็บข้อมูลระดับเพตะไบต์
‫ในการจัดเก็บข้อมูลนี้ แทบทุกบริษัทและบางครั้งเป็นรายบุคคลก็ต้องการสิ่งที่เรียกว่าฐานข้อมูล
‫เราเห็นในส่วนที่แล้วว่ามันยากแค่ไหนที่จะให้เซิร์ฟเวอร์ของเราจดจำผู้ใช้ใหม่
‫ทุกครั้งที่เซิร์ฟเวอร์ขัดข้อง ตัวแปรจะถูกรีเซ็ตและเริ่มต้นใหม่ทั้งหมด
‫หรือถ้าเราต้องการทำการเข้าสู่ระบบหรือตรวจสอบการลงชื่อเข้าใช้และทำซ้ำผ่านอีเมลและรหัสผ่านที่ทำวนซ้ำผ่าน
‫JavaScript นั่นไม่มีประสิทธิภาพ
‫นั่นคือสิ่งที่ฐานข้อมูลมาช่วย
‫ลองถามตัวเองว่าฐานข้อมูลคืออะไร?
‫ฐานข้อมูลคือชุดของข้อมูล
‫และสิ่งที่เราหมายถึงข้อมูล
‫มีหลายรูปแบบใช่มั้ย?
‫อาจมีตัวเลข มีวันที่ อาจมีการแฮชรหัสผ่าน
‫อาจมีข้อมูลผู้ใช้
‫ฐานข้อมูลช่วยให้เราสามารถจัดระเบียบข้อมูลนี้ในลักษณะที่เป็นประโยชน์กับเรา และทำให้การจัดการข้อมูลเป็นเรื่องง่าย
‫และมีบางอย่างเกิดขึ้น เรียกว่าระบบจัดการฐานข้อมูล หรือเรียกสั้นๆ ว่า DB MBS
‫มันคือชุดของโปรแกรมที่ช่วยให้เราเข้าถึงฐานข้อมูลและทำงานกับข้อมูล และยังอนุญาตให้ควบคุมการเข้าถึงผู้ใช้ฐานข้อมูล
‫ดังนั้น db mbs จึงเป็นสิ่งที่อยู่ในกล่องนี้
‫บางอย่างที่ช่วยให้เรามีเครื่องมือ ซอฟต์แวร์ที่ช่วยให้เราสามารถสื่อสารได้
‫ด้วยฐานข้อมูลที่เก็บข้อมูลที่เป็นประโยชน์สำหรับเราและยังช่วยให้เราสามารถอัปเดต แทรก ลบ ค้นหา
‫อะไรก็ได้ที่อยู่ในฐานข้อมูล
‫และแนวคิดเรื่อง DB PBM นี้เริ่มเป็นรูปเป็นร่างขึ้นในปี 1960 และตอนนี้ก็อยู่ในแนวหน้าของสิ่งที่น่าตื่นเต้นมากมาย
‫มีวิศวกรทั้งอุตสาหกรรมที่ทำงานกับฐานข้อมูลเพราะมันสำคัญมาก
‫ขณะนี้มี DMS สองประเภทที่กำลังได้รับความนิยมอย่างมากในขณะนี้ และเราจะพูดถึงในหลักสูตรนี้
‫Post Gress และ MongoDB นำเสนอทั้งสองประเภทนี้ได้ดีมาก
‫มาพูดถึงอันแรกกัน ซึ่งก็คือฐานข้อมูลเชิงสัมพันธ์
‫และนี่น่าจะเป็นที่นิยมมากที่สุด อย่างที่คุณเห็นทางด้านขวามือ คุณเห็นว่าทั้งหมดนี้เป็นฐานข้อมูลเชิงสัมพันธ์,
‫โพสต์หญ้า, Oracle, SQL Server
‫คุณอาจเคยได้ยินเกี่ยวกับ MySQL SQL Light
‫นี่คือฐานข้อมูลทุกประเภทที่มีแท็กฐานข้อมูลเชิงสัมพันธ์นี้
‫และความงามของพวกมันก็คือพวกมันทั้งหมดค่อนข้างคล้ายกัน
‫ทั้งหมดเป็นไปตามรูปแบบมาตรฐานเดียวกัน
‫ฐานข้อมูลเชิงสัมพันธ์ประกอบด้วยตารางตั้งแต่สองตารางขึ้นไปที่มีคอลัมน์และแถว
‫ดังนั้นในกรณีนี้ ผู้ใช้คือตารางและข้อความชื่อผู้ใช้ชื่อเต็มที่สร้างขึ้นที่คอลัมน์ของเรา และค่าใดก็ตามที่พวกเขามีในที่นี้คือแถว
‫แต่ละแถวแสดงถึงรายการ และแต่ละคอลัมน์จะจัดเรียงข้อมูลประเภทที่เฉพาะเจาะจง เช่น ชื่อ ที่อยู่ หรือหมายเลขโทรศัพท์
‫แล้วความสัมพันธ์ระหว่างตารางกับเขตข้อมูล
‫เรียกว่าสคีมาในฐานข้อมูลเชิงสัมพันธ์
‫ต้องกำหนดสคีมาอย่างชัดเจนก่อนจึงจะสามารถเพิ่มข้อมูลใดๆ ได้
‫และถ้าตอนนี้ยังสับสนอยู่ ไม่ต้องกังวล เรากำลังจะสร้างฐานข้อมูลเหล่านี้
‫ดังนั้นมันจึงสมเหตุสมผลสำหรับคุณ
‫ตัวอย่างเช่น ถ้าเรามี Twitter คุณสามารถดูประเภทตารางที่เราควรมีได้ที่นี่ และเราจะจัดระเบียบตารางอย่างไร
‫เราจะมีผู้ใช้ที่มีความเสถียร ตารางทวีต ตารางต่อไปนี้
‫และเราสามารถเชื่อมโยงข้อมูลทั้งหมดเหล่านี้ได้ ตัวอย่างเช่น โดยการเชื่อมต่อส่วนต่างๆ ของตาราง
‫ตัวอย่างเช่น ชื่อผู้ใช้ในตารางของผู้ใช้จะเหมือนกันกับในทวีต
‫มั่นคง.
‫ด้วยวิธีนี้เราสามารถพูดได้ว่าชื่อผู้ใช้ในตารางทวีตเป็นคีย์นอกของชื่อผู้ใช้ในตารางของผู้ใช้และจากผู้ใช้
‫จะเป็นคีย์นอกของชื่อผู้ใช้ในตารางต่อไปนี้
‫ตอนนี้สิ่งต่างๆ เช่น ชื่อเต็มหรือ ID บางอย่างที่ระบุแต่ละแถวในตาราง
‫เรียกว่าคีย์หลัก และเราจะพูดถึงในส่วนนี้ต่อไป
‫ไม่เป็นไร.
‫ดังนั้น ฐานข้อมูลทั้งหมดเหล่านี้ เราจะเรียนรู้เกี่ยวกับ PostgreSQL แต่ก็ค่อนข้างจะเหมือนกันหมด
‫ดังนั้นเมื่อคุณรู้จักอันหนึ่งแล้ว การเลือกอันอื่นก็ค่อนข้างง่าย
‫พวกเขาสื่อสารกับเซิร์ฟเวอร์กับแบ็กเอนด์ได้อย่างไร?
‫ฐานข้อมูลเชิงสัมพันธ์ทั้งหมดใช้สิ่งที่เรียกว่า SQL
‫และ SQL ช่วยให้เราสามารถสื่อสารได้เช่นเดียวกับ HTTP ระหว่างส่วนหน้าและส่วนหลังด้วย SQL
‫เราสามารถสื่อสารกับฐานข้อมูลและแก้ไขหรือรับหรืออัปเดตตามที่เราต้องการ
‫และเราจะมีวิดีโอเกี่ยวกับหัวข้อนี้ด้วย
‫ไม่เป็นไร.
‫นั่นคือฐานข้อมูลเชิงสัมพันธ์
‫แล้วประเภทที่สองล่ะ?
‫ประเภทที่สองเรียกว่าฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์หรือฐานข้อมูล NoSQL
‫และเป็นอีกครั้งที่มีฐานข้อมูลหลายประเภทที่มีชื่อเจ๋งๆ เช่น Couch
‫DB และ Hyper Table
‫ตอนนี้ MongoDB หรือฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ช่วยให้คุณสร้างแอปพลิเคชันโดยไม่ต้องกำหนดสคีมาก่อน
‫ไม่เหมือนกับฐานข้อมูลเชิงสัมพันธ์
‫ถ้าเรากลับไปที่ฐานข้อมูลเชิงสัมพันธ์ สคีมานี้หรือตารางเหล่านี้จะต้องกำหนดไว้ล่วงหน้าใช่ไหม
‫เราจำเป็นต้องรู้ว่าแอปของเราจะมีหน้าตาเป็นอย่างไร จัดทำตารางเหล่านี้เพื่อที่เมื่อแอปดังกล่าวเป็นสาธารณะ
‫เราสามารถเริ่มป้อนข้อมูลผู้ใช้ ทวีต และผู้ติดตามได้
‫หากไม่มีฐานข้อมูลเชิงสัมพันธ์หรือ SQL เราสามารถกำหนดได้ในขณะที่ดำเนินการและพวกเขาทั้งหมดมีวิธีจัดเก็บข้อมูลนี้ต่างกัน
‫แต่ละคนจึงแตกต่างกันมาก
‫และนี่คือเหตุผลอันทรงพลังอีกประการหนึ่งในการใช้ฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ก็คือ ถ้าความต้องการข้อมูลของคุณไม่ชัดเจนในตอนเริ่มต้นของโครงการ
‫และบางทีคุณอาจมีข้อมูลที่ไม่มีโครงสร้างจำนวนมาก คุณอาจไม่มีความหรูหราในการพัฒนาฐานข้อมูลเชิงสัมพันธ์
‫ด้วยสคีมาที่กำหนดไว้อย่างชัดเจน
‫พวกเขาให้ความยืดหยุ่นมากกว่าในการที่ฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์เป็นเหมือนโฟลเดอร์ที่รวบรวมข้อมูลที่เกี่ยวข้องทุกประเภท
‫ตอนนี้ MongoDB เป็นสิ่งที่เรียกว่าเชิงเอกสาร
‫มันเก็บข้อมูลเป็นเอกสาร
‫ให้ฉันอธิบายประเด็นนี้ให้คุณฟัง
‫ฉันมีเดสก์ท็อปของฉันที่นี่ซึ่งมีสองโฟลเดอร์
‫หนึ่งคือฐานข้อมูลเชิงสัมพันธ์ และที่นี่ฉันมีผู้ใช้ทวีต ติดตามโปรไฟล์
‫และคุณสามารถนึกถึงฐานข้อมูลเชิงสัมพันธ์กับที่เก็บข้อมูลประเภทนี้ ซึ่งโฟลเดอร์นี้อยู่ที่ไหนสักแห่งบนคอมพิวเตอร์ที่เก็บข้อมูลนี้
‫และเมื่อใดก็ตามที่เราต้องการขออะไรบางอย่างจากฐานข้อมูล เราก็ดึงผู้ใช้เข้ามา
‫และถ้าเราต้องการคว้าทวีตของผู้ใช้ด้วย เราพบผู้ใช้ที่เราสนใจ จากนั้นค้นหาทวีตของผู้ใช้ที่เราสนใจด้วยคีย์ต่างประเทศที่เชื่อมโยงไปยังผู้ใช้
‫และเรายังสามารถค้นหาผู้ติดตามจำนวนเท่าใดก็ได้ที่ผู้ใช้มี
‫เราคว้าข้อมูลนั้นและแสดงบนแอปพลิเคชันเว็บของเรา
‫ในทางกลับกัน MongoDB จะมีผู้ใช้แต่ละคนเป็นเอกสาร
‫ดังนั้น ถ้าฉันต้องการคว้าผู้ใช้คนแรก ฉันเพิ่งคว้าเอกสารนี้และมีผู้ติดตามทั้งหมด
‫ทวีต โปรไฟล์ ทุกอย่างอยู่ในเอกสารฉบับเดียว
‫และคุณอาจกำลังคิดว่า MongoDB ดูเหมือนจะเป็นทางเลือกที่ดีกว่าการมีสิ่งนี้
‫วิธีการทำสิ่งที่ถูกต้อง
‫มันขึ้นอยู่กับความต้องการของคุณ
‫และนั่นเป็นสาเหตุที่ฐานข้อมูลเป็นหัวข้อที่ซับซ้อน
‫มันขึ้นอยู่กับสถานการณ์ของคุณจริงๆ
‫คุณจะเห็นว่า MongoDB มีประโยชน์มากหากคุณมีบางอย่าง เช่น โพรไฟล์ อาจเป็นโพรไฟล์ LinkedIn
‫แต่ถ้าคุณต้องการสิ่งที่คุณกำลังทำงานโดยเพียงแค่ติดตามข้อมูลหรือแค่ทวีตข้อมูล
‫อาจมีทวีตที่คุณต้องการดู ขนาดทวีตเฉลี่ยคืออะไร?
‫มันง่ายมากที่จะคว้าไฟล์นี้และคำนวณมัน เทียบกับวิธีนี้ที่คุณอาจต้องแยกมันออกจากผู้ใช้แต่ละคน
‫ดังนั้นมันจึงขึ้นอยู่กับความต้องการของคุณจริงๆ
‫ผมขอแสดงไดอะแกรมอื่นที่อาจเป็น
‫มีประโยชน์.
‫เมื่อเราดูฐานข้อมูลเชิงสัมพันธ์กับฐานข้อมูลที่ไม่ใช่เชิงสัมพันธ์ คุณสามารถนึกถึงฐานข้อมูลเชิงสัมพันธ์ได้เนื่องจากแต่ละตารางมีบล็อกโพสต์
‫แท็กบล็อก ความคิดเห็นในบล็อก และเชื่อมโยงตารางเหล่านี้เพื่อให้ข้อมูลบล็อกกับข้อมูลที่ไม่สัมพันธ์กันที่เก็บทั้งหมดนี้
‫โพสต์บล็อกในรายการและมีความคิดเห็น แท็ก หมวดหมู่ และข้อมูลที่เกี่ยวข้องอื่น ๆ ทั้งหมดในที่เดียว
‫MongoDB ใช้อะไรในการสื่อสาร?
‫ถ้าเรากลับไปที่ตัวอย่างของเราที่นี่ เรามี SQL สำหรับฐานข้อมูลเชิงสัมพันธ์ เช่น Post Press
‫MongoDB มีสิ่งที่เราเรียกว่าภาษาคิวรีเป็นของตัวเอง และมันเป็นแค่ภาษาคิวรี MongoDB
‫แต่ทั้งคู่ตั้งเป้าที่จะทำสิ่งเดียวกัน
‫กล่าวคือ ในการสื่อสารกับฐานข้อมูล ให้วิธีง่ายๆ สำหรับเซิร์ฟเวอร์ในการสื่อสารกับฐานข้อมูล
‫และในส่วนนี้ เราจะพูดถึงเรื่องนี้ และในที่สุดเราจะเชื่อมต่อจุดต่างๆ และแสดงให้คุณเห็นถึงพลังของฐานข้อมูล
‫เมื่อพวกเขาเชื่อมต่อกับเซิร์ฟเวอร์
‫เจอกันใหม่ตอนหน้าค่ะ