ฐานข้อมูล: แนวคิดพื้นฐาน แนวคิดของฐานข้อมูลและฐานข้อมูลคืออะไร ข้อความในหัวข้อว่าฐานข้อมูลคืออะไร
ฐานข้อมูลในวิทยาการคอมพิวเตอร์คืออะไร
ในวิทยาการคอมพิวเตอร์ แนวคิดของฐานข้อมูลคือชุดข้อมูลสำหรับเครือข่ายข้อมูลและผู้ใช้ ซึ่งจัดเก็บไว้ในรูปแบบพิเศษที่มีการจัดระเบียบ ประเภทของการจัดเก็บข้อมูลถูกกำหนดโดยโครงสร้างที่กำหนด (โครงร่าง) ของฐานข้อมูลและกฎสำหรับการจัดการ
ด้วยตัวมันเอง ฐานข้อมูลจะไม่มีประโยชน์หากไม่มีวิธีจัดการฐานข้อมูลเหล่านั้น ในการจัดการฐานข้อมูล เราหมายถึงความสามารถในการเพิ่มข้อมูลทีละรายการหรือโดยรวม จัดเรียง คัดลอกและย้ายบางส่วนหรือทั้งหมด และรวมฐานข้อมูลตั้งแต่สองฐานข้อมูลขึ้นไป ในการจัดการฐานข้อมูล ผลิตภัณฑ์ซอฟต์แวร์ได้ถูกสร้างขึ้นซึ่งเป็นซอฟต์แวร์ฐานข้อมูล พวกเขาถูกเรียกว่า DBMS – ระบบการจัดการฐานข้อมูล.
DBMS และ SQL คืออะไร
นี่คือสิ่งที่ผู้บริโภคซึ่งก็คือคุณและฉันกำลังเผชิญอยู่ DBMS สมัยใหม่ช่วยให้คุณประมวลผลได้ไม่เพียงแต่ข้อความหรือกราฟิกเท่านั้น แต่ยังรวมถึงไฟล์สื่อ (ไฟล์เสียงและวิดีโอ)
ผลิตภัณฑ์ซอฟต์แวร์ใดๆ มีภาษาของตัวเองซึ่งถูกควบคุม DBMS ก็ไม่มีข้อยกเว้น หนึ่งในภาษาหลักสำหรับการสื่อสารกับ DBMS คือ SQL (ภาษาคิวรีแบบมีโครงสร้าง).
เป็นที่น่าสังเกตว่าตามลักษณะของการใช้งาน DBMS จะถูกแบ่งออกเป็นผู้ใช้คนเดียว (สำหรับผู้ใช้หนึ่งราย - คอมพิวเตอร์ในระบบ) และผู้ใช้หลายคน (สำหรับเครือข่าย)
ฉันแน่ใจว่าคุณไม่คิดว่าจะมี DBMS สากลเพียงตัวเดียว และถูกต้อง มีหลายสิบรายการ ในส่วนนี้ เราจะจำกัดตัวเองให้ทำงานกับ MySQL DBMS ที่ฟรีและแพร่หลายที่สุด
MySQL DBMS
MySQL DBMS ใช้งานได้กับฐานข้อมูลเชิงสัมพันธ์เท่านั้น ฐานข้อมูลเชิงสัมพันธ์เป็นวิธีที่ง่ายที่สุดในการเรียนรู้ตั้งแต่แรก นอกจากนี้ยังใช้กับโฮสติ้งและเซิร์ฟเวอร์ทั้งหมดเพื่อการใช้งานจำนวนมาก
ยังคงต้องกำหนดแนวคิดของฐานข้อมูลเชิงสัมพันธ์ เหล่านี้เป็นตารางอย่างง่ายที่มีแถวและคอลัมน์ข้อมูล จุดตัดของแถวและคอลัมน์เรียกว่าเซลล์ ฐานข้อมูลทั้งหมดประกอบด้วยหลายตารางหรือหลายตาราง และตารางทั้งหมดโต้ตอบกัน
ฐานข้อมูลคือการรวบรวมข้อมูลที่มีโครงสร้างซึ่งสามารถแก้ไขและเข้าถึง อัปเดตหรือลบได้ ตามแนวทางการจัดองค์กร ประเภทของเนื้อหาและปริมาณ ฐานข้อมูลสามารถจำแนกได้เป็นประเภทต่างๆ
หากคุณวางแผนที่จะทำงานเป็นผู้ดูแลระบบฐานข้อมูล คุณควรคุ้นเคยกับเครื่องมือบางอย่าง เช่น Oracle, SQL server และ Sybase เนื่องจากฐานข้อมูลเชิงสัมพันธ์เป็นฐานข้อมูลที่ใช้บ่อยที่สุดในบรรดาฐานข้อมูลทั้งหมด
ข้อมูลคือชิ้นส่วนของข้อมูลใดๆ ในขณะที่ฐานข้อมูลถูกกำหนดให้เป็นชุดรวมของข้อมูลที่เกี่ยวข้องเชิงตรรกะซึ่งจัดเก็บไว้ในไฟล์อิเล็กทรอนิกส์ (บันทึก) เพื่อให้เข้าถึงได้ง่าย การจัดเก็บข้อมูลในฐานข้อมูลช่วยให้ผู้ใช้สามารถเข้าถึงข้อมูลเพื่อวัตถุประสงค์ต่างๆ
ฐานข้อมูลเป็นระบบจัดเก็บเอกสารอิเล็กทรอนิกส์ที่จัดเก็บข้อมูลในรูปแบบเขตข้อมูล บันทึก ฯลฯ ฐานข้อมูลบางแห่งอาจให้สิทธิ์การเข้าถึงที่อนุญาตให้ผู้ใช้ดำเนินการต่างๆ เช่น แก้ไข อัปเดต การลบ เป็นต้น
ด้านล่างนี้คือการจำแนกประเภทของฐานข้อมูลขึ้นอยู่กับวัตถุประสงค์และความสามารถในการจัดเก็บ
ฐานข้อมูลเชิงวิเคราะห์เป็นแบบอ่านอย่างเดียว ส่วนใหญ่จะใช้งานบนอินเทอร์เน็ต ซึ่งคุณสามารถดูคอลเลกชันของรายการที่มีอยู่ได้ แต่ไม่สามารถเปลี่ยนแปลงได้ คุณสามารถมองสิ่งเหล่านี้เป็นแค็ตตาล็อกสินค้าคงคลังได้ ตัวอย่างที่ดีที่สุดของการใช้ฐานข้อมูลเชิงวิเคราะห์คือร้านค้าออนไลน์ที่มีแค็ตตาล็อกผลิตภัณฑ์และข้อมูลเกี่ยวกับฐานข้อมูลเหล่านั้น ข้อมูลที่จัดเก็บไว้ในฐานข้อมูลเชิงวิเคราะห์ส่วนใหญ่จะดึงมาจากการทำงานของฐานข้อมูลภายในหรือภายนอก พวกเขาเลือกและแก้ไขข้อมูลที่มักใช้ในการจัดการองค์กรเป็นหลัก โดยแสดงออกมาในรูปแบบของการสรุปขององค์กรหรือกิจกรรมของพนักงาน หรือรายงานการขาย การตลาด ฯลฯ วัตถุประสงค์หลักของฐานข้อมูลการวิเคราะห์คือการอนุญาตให้ผู้ใช้วิเคราะห์ข้อมูลขึ้นอยู่กับนโยบายการจัดการ
เป็นฐานข้อมูลดิจิทัลที่เก็บข้อมูลไว้ในตารางในรูปแบบแถวและคอลัมน์ แต่ละแถวมีคีย์เฉพาะ ซึ่งจะช่วยในการเชื่อมโยงตารางหนึ่งไปยังอีกตารางหนึ่ง (ซึ่งเรียกว่าคีย์นอก) โดยทั่วไป แต่ละออบเจ็กต์จะมีตาราง เช่น แถว อินสแตนซ์ และคอลัมน์มีค่าที่กำหนดให้กับอินสแตนซ์ ในฐานข้อมูลประเภทนี้ ข้อมูลทั้งหมดจะถูกจัดเก็บและเรียกค้นโดยใช้ "ความสัมพันธ์" ซึ่งไม่ใช่แค่การรวบรวมตารางเท่านั้น จึงเป็นที่มาของชื่อ "ฐานข้อมูลเชิงสัมพันธ์"
ฐานข้อมูลการปฏิบัติงานจัดเก็บข้อมูลที่จำเป็นสำหรับกิจกรรมขององค์กร โดยพื้นฐานแล้วนี่คือข้อมูลทั้งหมดเกี่ยวกับบุคคลหรือพนักงาน แผนก หรือรายการใดรายการหนึ่งโดยเฉพาะ ดังนั้นจึงเรียกว่าโดเมนฐานข้อมูล ดังนั้นฐานข้อมูลเหล่านี้จึงขึ้นอยู่กับสายงานขององค์กร
ฐานข้อมูลเหล่านี้จัดเก็บข้อมูลทั้งหมดไว้ในที่เดียว - พลังการประมวลผลแบบรวมศูนย์ ผู้ใช้ในสถานที่ต่าง ๆ สามารถเข้าถึงข้อมูลนี้ผ่านเครือข่ายคอมพิวเตอร์ ตัวอย่างอาจเป็นคอมพิวเตอร์ เซิร์ฟเวอร์ โปรเซสเซอร์ ฯลฯ ข้อดีของฐานข้อมูลประเภทนี้คือความคุ้มค่าและการจัดเก็บข้อมูลทั้งหมดไว้ในที่เดียว ซึ่งจะช่วยเพิ่มความสมบูรณ์ของข้อมูล อย่างไรก็ตาม การดำเนินการขึ้นอยู่กับการเชื่อมต่อเครือข่าย
ฐานข้อมูลแบบกระจายคือฐานข้อมูลองค์กรที่กระจายไปตามที่ตั้งทางภูมิศาสตร์ต่างๆ ฐานข้อมูลอาจเป็นฐานข้อมูลทั่วไปสำหรับทุกไซต์หรือเฉพาะไซต์ท้องถิ่นเท่านั้น ฐานข้อมูลแบบกระจายจะถูกลบออกจากหน่วยงานที่เกี่ยวข้องของไซต์ท้องถิ่น สาเหตุที่ฐานข้อมูลประเภทนี้ได้รับการพัฒนาก็เพื่อให้การปฏิบัติงานเป็นแบบคู่ขนาน กระจายงาน ส่งผลให้เวลาโดยรวมสั้นลง
ฐานข้อมูลผู้ใช้ปลายทาง
ฐานข้อมูลผู้ใช้ปลายทางคือฐานข้อมูลที่ผลลัพธ์เป็นผลมาจากการดำเนินการต่างๆ ที่ผู้ใช้ดำเนินการกับฐานข้อมูลที่แตกต่างกัน ประกอบด้วยข้อมูลเกี่ยวกับผู้ใช้ปลายทางขององค์กร ฐานข้อมูลดังกล่าวใช้เพื่อให้ข้อมูลสรุปเกี่ยวกับธุรกรรมทั้งหมดในองค์กร ซึ่งเร็วกว่าการใช้ฐานข้อมูลสด แม้ว่าฐานข้อมูลหลังจะสามารถตอบสนองวัตถุประสงค์เดียวกันได้ก็ตาม ตัวอย่าง ได้แก่ สเปรดชีต เอกสาร Word หรือไฟล์ที่ดาวน์โหลด
ฐานข้อมูลภายนอก
ฐานข้อมูลภายนอกหมายถึงการเข้าถึงข้อมูลภายนอกที่เป็นกรรมสิทธิ์ทางออนไลน์ การเข้าถึงนี้ส่วนใหญ่ฟรีและหาได้จากบริการออนไลน์เชิงพาณิชย์ ดังนั้นจึงถูกเรียกว่า "ฐานข้อมูลเชิงพาณิชย์" ฐานข้อมูลเหล่านี้มักมีไว้สำหรับผู้ใช้ภายนอกที่ไม่สามารถรักษาฐานข้อมูลขนาดใหญ่ได้ ตัวอย่าง ได้แก่ การเข้าถึงข้อมูลเกี่ยวกับบุคคลใดบุคคลหนึ่งหรือที่อยู่/หมายเลขโทรศัพท์ผ่านทางไดเรกทอรีออนไลน์
ฐานข้อมูลไฮเปอร์มีเดีย
เมื่อคุณท่องอินเทอร์เน็ต คุณจะเห็นหน้าเว็บที่มีรูปภาพ คลิปวิดีโอ ลิงก์ กราฟิก ไฟล์มัลติมีเดีย ฯลฯ ข้อมูลนี้ถูกดึงมาจากฐานข้อมูลไฮเปอร์มีเดีย ประกอบด้วยคอลเลกชันของเว็บเพจมัลติมีเดียที่เชื่อมต่อถึงกัน ซึ่งข้อมูลถูกจัดเก็บแบบออนไลน์ และผู้ใช้หลายคนสามารถเข้าถึงข้อมูลได้ในเวลาเดียวกัน
คลังข้อมูล
ตามชื่อที่แนะนำ คลังข้อมูลคือชุดข้อมูลขนาดใหญ่ที่ดึงมาจากฐานข้อมูลอื่นๆ มากมาย เจ้าหน้าที่ฝ่ายจัดการสามารถใช้ข้อมูลนี้กับผู้ใช้ปลายทางได้ ข้อมูลจะแสดงเป็นข้อมูลที่แก้ไขและคัดกรองได้เป็นหลัก
ฐานข้อมูลสามารถจำแนกได้เป็น 3 ประเภทหลัก ขึ้นอยู่กับปริมาณข้อมูล
ฐานข้อมูลทั่วไป
ฐานข้อมูลทั่วไปคือฐานข้อมูลที่ให้ข้อมูลเกี่ยวกับเอนทิตีที่ไม่ใช่ตัวเลข วัตถุประสงค์ของฐานข้อมูลดังกล่าวคือการให้ข้อมูลที่จำเป็นทั้งหมดแก่ผู้ใช้ในหัวข้อใดๆ ที่เขากำลังมองหา ส่วนใหญ่จะใช้สำหรับงานวิจัย
ฐานข้อมูลเฉพาะสาขาวิชา
ฐานข้อมูลเฉพาะสาขาวิชานั้นคล้ายคลึงกับฐานข้อมูลทั่วไป แต่ข้อมูลที่มีอยู่นั้นมีความเป็นระเบียบมากกว่า ฐานข้อมูลประเภทนี้มีประโยชน์สำหรับผู้เชี่ยวชาญเฉพาะด้าน
ฐานข้อมูลเฉพาะเรื่อง
ฐานข้อมูลเฉพาะเรื่องจะเน้นเฉพาะหัวข้อเฉพาะเท่านั้น ส่วนใหญ่จะใช้เพื่อวัตถุประสงค์ทางวิชาการ ข้อมูลมักจะอยู่ในรูปแบบของบทความทางวิทยาศาสตร์จากวารสาร ฯลฯ
มีภาษาการเขียนโปรแกรมจำนวนมากที่ช่วยให้คุณเข้าถึงฐานข้อมูลประเภทต่างๆ สามารถดำเนินการกับข้อมูลได้นับไม่ถ้วนโดยใช้ภาษาเหล่านี้ ดังนั้นฐานข้อมูลจึงช่วยให้คุณสามารถจัดเก็บ ดู เข้าถึงและอัพเดตข้อมูลได้ตลอดเวลา
คุณอาจยังไม่ทราบว่ามีอะไรรวมอยู่ในแนวคิดของฐานข้อมูล แต่ความจริงที่ว่าคุณใช้งานฐานข้อมูลเหล่านี้อย่างต่อเนื่องเป็นสิ่งที่แน่นอนอย่างแน่นอน ทุกครั้งที่คุณค้นหาบางสิ่งในเครื่องมือค้นหา คุณกำลังใช้ฐานข้อมูล เมื่อคุณป้อนชื่อผู้ใช้และรหัสผ่านเพื่อเข้าสู่ระบบบริการจะถูกเปรียบเทียบกับค่าที่เก็บไว้ในฐานข้อมูลของบริการนี้
แม้ว่าเราจะใช้ฐานข้อมูลอยู่ตลอดเวลา แต่ก็ยังไม่ชัดเจนสำหรับหลาย ๆ คนว่ามันคืออะไรจริงๆ และส่วนหนึ่งเป็นเพราะความจริงที่ว่าผู้คนใช้คำศัพท์ฐานข้อมูลเดียวกันเพื่อกำหนดสิ่งต่าง ๆ โดยสิ้นเชิง
มาทำความเข้าใจข้อกำหนดและแนวคิดของฐานข้อมูลกันดีกว่า:
ฐานข้อมูล- ชุดข้อมูลที่จัดเก็บในลักษณะที่เป็นระเบียบ คุณสามารถเปรียบเทียบฐานข้อมูลกับตู้ที่เก็บเอกสารได้ กล่าวอีกนัยหนึ่งฐานข้อมูลคือที่เก็บข้อมูล ตัวฐานข้อมูลจะไม่เป็นที่สนใจหากไม่มีระบบจัดการฐานข้อมูล (DBMS)
ระบบจัดการฐานข้อมูลคือชุดเครื่องมือภาษาและซอฟต์แวร์ที่ให้การเข้าถึงข้อมูล ช่วยให้สามารถสร้าง เปลี่ยนแปลง และลบได้ รับประกันความปลอดภัยของข้อมูล ฯลฯ โดยทั่วไป DBMS คือระบบที่ช่วยให้คุณสามารถสร้างฐานข้อมูลและจัดการข้อมูลจากฐานข้อมูลเหล่านั้นได้ และให้การเข้าถึงข้อมูล DBMS ผ่านภาษาพิเศษ - SQL
SQLเป็นภาษาคิวรีแบบมีโครงสร้างซึ่งมีวัตถุประสงค์หลักเพื่อให้วิธีง่ายๆ ในการอ่านและเขียนข้อมูลลงในฐานข้อมูล
ดังนั้นรูปแบบที่ง่ายที่สุดในการทำงานกับฐานข้อมูลจึงมีลักษณะดังนี้:
ขึ้นอยู่กับลักษณะการใช้งาน DBMS แบ่งออกเป็นผู้ใช้คนเดียว (ออกแบบมาเพื่อสร้างและใช้ฐานข้อมูลบนคอมพิวเตอร์ส่วนบุคคล) และผู้ใช้หลายคน (ออกแบบมาเพื่อทำงานกับฐานข้อมูลเดียวบนคอมพิวเตอร์หลายเครื่องที่เชื่อมต่อกับเครือข่ายท้องถิ่น) โดยทั่วไปการแบ่งตามลักษณะการใช้งานสามารถแสดงได้ตามรูปแบบต่อไปนี้:
โดยไม่ต้องลงรายละเอียดเพิ่มเติม เราทราบว่าในปัจจุบันจำนวน DBMS ที่ใช้มีอยู่ในหลายสิบ DBMS ผู้ใช้คนเดียวที่มีชื่อเสียงที่สุดคือ Microsoft Visual FoxPro และ Access ส่วนผู้ใช้หลายคนคือ MS SQL Server, Oracle และ MySQL
ในบทเรียนเหล่านี้ เราจะใช้ MySQL DBMS อย่างแรกคือมันฟรี และอย่างที่สอง มันเป็นมาตรฐานของผู้ให้บริการโฮสต์ในรัสเซีย แต่จะเพิ่มเติมในภายหลัง แต่สำหรับตอนนี้เรากลับมาที่พื้นฐานกันดีกว่า คำจำกัดความของฐานข้อมูลบอกว่าเป็นข้อมูลที่จัดไม่ทางใดก็ทางหนึ่ง จริงๆแล้วพวกมันสั่งยังไง? เราจะกล่าวถึงเรื่องนี้ในบทเรียนถัดไป
เจ้าของเว็บไซต์ทุกคนรู้ดีว่าเพื่อให้เว็บไซต์ทำงานได้อย่างถูกต้อง คุณไม่เพียงต้องการไฟล์ที่มีโค้ดเพจเท่านั้น แต่ยังต้องมีฐานข้อมูลด้วย ระบบการจัดการฐานข้อมูล (DBMS) ใช้เพื่อโต้ตอบกับฐานข้อมูล ในบทความนี้ ฉันต้องการพูดคุยเกี่ยวกับฐานข้อมูลและ DBMS ประเภทใดบ้างที่มีอยู่ และความแตกต่างระหว่างกันอย่างไร
ฐานข้อมูล
ฐานข้อมูลคือชุดข้อมูลเฉพาะ ซึ่งตามกฎแล้วจะเชื่อมต่อกันด้วยคุณลักษณะหรือคุณสมบัติที่รวมเป็นหนึ่งเดียว (หรือหลายรายการ) ข้อมูลนี้ได้รับการจัดระเบียบตามตัวอักษร ข้อมูลที่แตกต่างกันมากมายที่สามารถเก็บไว้ในฐานข้อมูลเดียวทำให้เกิดการเปลี่ยนแปลงมากมายในสิ่งที่สามารถบันทึกได้: ข้อมูลส่วนบุคคลของผู้ใช้ บันทึก วันที่ คำสั่งซื้อ และอื่นๆ ตัวอย่างเช่น หากคุณมีร้านค้าออนไลน์ ฐานข้อมูลเว็บไซต์ของคุณอาจมีรายการราคา แค็ตตาล็อกสินค้าหรือบริการ รายงาน สถิติ และข้อมูลลูกค้า
ประการแรก สะดวกเพราะสามารถป้อนข้อมูลลงในฐานข้อมูลได้อย่างรวดเร็วและดึงข้อมูลได้อย่างรวดเร็วหากจำเป็น หากในช่วงเช้าของการพัฒนาการพัฒนาเว็บข้อมูลที่จำเป็นทั้งหมดต้องเขียนในโค้ดเพจตอนนี้ก็ไม่จำเป็นแล้ว - สามารถขอข้อมูลที่จำเป็นจากฐานข้อมูลโดยใช้สคริปต์ อัลกอริธึมพิเศษสำหรับการจัดเก็บและเรียกข้อมูลที่ใช้ในฐานข้อมูลช่วยให้คุณค้นหาข้อมูลที่จำเป็นอย่างแท้จริงภายในเสี้ยววินาที - และเมื่อทำงานในพื้นที่เสมือน ความเร็วของทรัพยากรมีความสำคัญมากกว่าสิ่งอื่นใด
ความสัมพันธ์ของข้อมูลในฐานข้อมูลก็มีความสำคัญเช่นกัน การเปลี่ยนบรรทัดหนึ่งอาจนำไปสู่การเปลี่ยนแปลงที่สำคัญในบรรทัดอื่นๆ การทำงานกับข้อมูลในลักษณะนี้จะง่ายและรวดเร็วกว่าการเปลี่ยนแปลงที่ส่งผลต่อเพียงที่เดียวในฐานข้อมูล
อย่างไรก็ตาม นี่ไม่ได้หมายความว่าทุกไซต์ต้องมีฐานข้อมูล ตัวอย่างเช่น หากคุณมีไซต์นามบัตรและคุณไม่ได้โพสต์ข้อมูลใหม่ใด ๆ บนไซต์ คุณก็ไม่จำเป็นต้องฐานข้อมูล วิธีที่ง่ายที่สุดในการสร้างเว็บไซต์ง่ายๆ คือการสร้างไฟล์ .
ระบบจัดการฐานข้อมูล
ดังที่คุณสามารถเดาได้จากชื่อ ระบบการจัดการฐานข้อมูล (หรือเรียกสั้น ๆ ว่า DBMS) คือซอฟต์แวร์ที่ใช้ในการสร้างและทำงานกับฐานข้อมูล หน้าที่หลักของ DBMS คือการจัดการข้อมูล (ซึ่งอาจอยู่ในภายนอกหรือใน RAM) DBMS จำเป็นต้องรองรับภาษาฐานข้อมูล และยังรับผิดชอบในการคัดลอกและกู้คืนข้อมูลหลังจากเกิดความล้มเหลว
สำหรับการจำแนกประเภทของฐานข้อมูลนั้นมีหลายทางเลือกให้เลือก
ตัวอย่างเช่น คุณสามารถแบ่งฐานข้อมูลด้วย โมเดลข้อมูล: ลำดับชั้น (มีโครงสร้างแบบต้นไม้), เครือข่าย (คล้ายกับโครงสร้างกับลำดับชั้น), เชิงสัมพันธ์ (ใช้ในการจัดการฐานข้อมูลเชิงสัมพันธ์), เชิงวัตถุ (ใช้สำหรับแบบจำลองข้อมูลวัตถุ) และเชิงวัตถุเชิงสัมพันธ์ (การผสมผสานของเชิงสัมพันธ์บางชนิด และฐานข้อมูลประเภทเชิงวัตถุ)
หรือถ้าจะแบ่งตาม DBMS ตั้งอยู่ที่ไหน?สามารถแบ่งออกเป็นท้องถิ่น - DBMS ทั้งหมดตั้งอยู่บนคอมพิวเตอร์เครื่องเดียวและกระจาย - บางส่วนของระบบการจัดการฐานข้อมูลอยู่ในคอมพิวเตอร์หลายเครื่อง
ไฟล์-เซิร์ฟเวอร์ ไคลเอนท์-เซิร์ฟเวอร์ และเอ็มเบ็ดเด็ด - นี่คือชื่อที่ DBMS นำมาใช้หากเราหารมันด้วย วิธีการเข้าถึงฐานข้อมูล. ปัจจุบันไฟล์เซิร์ฟเวอร์ DBMS ถือว่าล้าสมัย โดยทั่วไปจะใช้ระบบไคลเอนต์-เซิร์ฟเวอร์ (DBMS ที่อยู่บนเซิร์ฟเวอร์พร้อมกับฐานข้อมูล) และระบบฝังตัว (ซึ่งไม่จำเป็นต้องติดตั้งแยกต่างหาก)
ข้อมูลที่จัดเก็บไว้ในฐานข้อมูลไม่ได้จำกัดอยู่เพียงไฟล์ข้อความหรือกราฟิก DBMS เวอร์ชันใหม่ยังรองรับรูปแบบไฟล์เสียงและวิดีโอด้วย
ในบทความนี้ ผมจะเน้นไปที่ DBMS ที่ใช้ในการจัดเก็บข้อมูลจากแหล่งข้อมูลบนเว็บต่างๆ
เหตุใด DBMS เหล่านี้จึงจำเป็น? นอกเหนือจากฟังก์ชันหลัก - การจัดเก็บและจัดระบบข้อมูลจำนวนมาก - ยังช่วยให้คุณสามารถประมวลผลคำขอของลูกค้าได้อย่างรวดเร็วและให้ข้อมูลสดใหม่และเกี่ยวข้อง
สิ่งนี้ยังใช้กับการเปลี่ยนแปลงที่คุณทำ - แทนที่จะเปลี่ยนข้อมูลในทุกไฟล์บนไซต์ คุณสามารถเปลี่ยนในฐานข้อมูล จากนั้นข้อมูลที่ถูกต้องจะปรากฏในแต่ละหน้าทันที
ภาษา DBMS และ SQL เชิงสัมพันธ์
DBMS เชิงสัมพันธ์และเชิงวัตถุเป็นหนึ่งในระบบที่พบบ่อยที่สุด เป็นตารางที่แต่ละคอลัมน์ (เรียกว่า "ฟิลด์") ได้รับการจัดลำดับและมีชื่อเฉพาะเจาะจง ลำดับของแถว (เรียกว่า "บันทึก" หรือ "บันทึก") จะถูกกำหนดโดยลำดับที่ข้อมูลถูกป้อนลงในตาราง ในกรณีนี้ การประมวลผลคอลัมน์และแถวสามารถดำเนินการตามลำดับใดก็ได้ ตารางที่มีข้อมูลเชื่อมโยงกันด้วยความสัมพันธ์พิเศษ ซึ่งคุณสามารถทำงานกับข้อมูลจากตารางต่างๆ ได้ เช่น รวมเข้าด้วยกัน โดยใช้แบบสอบถามเดียว
ในการจัดการฐานข้อมูลเชิงสัมพันธ์จะใช้ภาษาการเขียนโปรแกรมพิเศษ - SQL ตัวย่อย่อมาจาก “ภาษาคิวรีที่มีโครงสร้าง” ซึ่งแปลเป็นภาษารัสเซียว่า “ภาษาคิวรีที่มีโครงสร้าง”
คำสั่งที่ใช้ใน SQL แบ่งออกเป็นคำสั่งที่จัดการข้อมูล คำสั่งที่กำหนดข้อมูล และคำสั่งที่จัดการข้อมูล
รูปแบบการทำงานกับฐานข้อมูลมีลักษณะดังนี้:
MySQL
MySQL เป็นหนึ่งใน DBMS ที่ได้รับความนิยมและแพร่หลายที่สุด ซึ่งถูกใช้ในหลายบริษัท (เช่น Facebook, Wikipedia, Twitter, LinkedIn, Alibaba และอื่นๆ) MySQL เป็น DBMS เชิงสัมพันธ์ที่เป็นซอฟต์แวร์เสรี: เผยแพร่ภายใต้เงื่อนไขของ GNU Public License โดยทั่วไปแล้ว ระบบการจัดการฐานข้อมูลนี้ถูกกำหนดให้เป็นระบบที่ดี รวดเร็ว และยืดหยุ่น แนะนำให้ใช้ในโครงการขนาดเล็กหรือขนาดกลาง MySQL มีข้อดีที่แตกต่างกันมากมาย ตัวอย่างเช่น รองรับตารางประเภทต่างๆ ทั้ง MyISAM และ InnoDB ที่รู้จักกันดี และ HEAP และ MERGE ที่แปลกใหม่กว่า นอกจากนี้จำนวนประเภทที่รองรับก็มีเพิ่มขึ้นอย่างต่อเนื่อง MySQL ดำเนินการคำสั่งทั้งหมดอย่างรวดเร็ว - บางทีตอนนี้อาจเป็น DBMS ที่เร็วที่สุดที่มีอยู่ ผู้ใช้สามารถทำงานกับระบบจัดการฐานข้อมูลนี้ได้ไม่จำกัดจำนวนในเวลาเดียวกัน และจำนวนแถวในตารางสามารถเท่ากับ 50 ล้านแถว
เนื่องจากเมื่อเปรียบเทียบกับ DBMS อื่นๆ แล้ว MySQL รองรับคุณสมบัติน้อยกว่า จึงใช้งานได้ง่ายกว่า ตัวอย่างเช่น PostgreSQL ซึ่งจะกล่าวถึงด้านล่าง
MySQL เวอร์ชันแรกเปิดตัวในปี 1995 และตั้งแต่นั้นมาก็มีการเปิดตัวรุ่นต่อๆ มาหลายรุ่น ซึ่งแต่ละเวอร์ชันนำมาซึ่งการเปลี่ยนแปลงที่สำคัญ
ในการทำงานกับ MySQL ไม่เพียงแต่ใช้ข้อความเท่านั้น แต่ยังใช้โหมดกราฟิกด้วย สิ่งนี้เป็นไปได้ด้วยแอปพลิเคชัน phpMyAdmin: คุณไม่จำเป็นต้องรู้คำสั่ง SQL เพื่อทำงานในแอปพลิเคชัน และคุณสามารถจัดการฐานข้อมูลของคุณได้โดยตรงผ่านเบราว์เซอร์ของคุณ
โดยทั่วไป โปรดทราบว่า MySQL เป็นตัวเลือกสำหรับผู้ที่ต้องการ DBMS สำหรับโปรเจ็กต์ขนาดเล็กหรือขนาดกลาง รวดเร็วและใช้งานง่าย และไม่มีปัญหาในการบริหารจัดการ
PostgreSQL
ระบบการจัดการฐานข้อมูลแบบกระจายอย่างอิสระนี้เป็นของ DBMS ประเภทเชิงวัตถุสัมพันธ์ เช่นเดียวกับ MySQL นั้น PostgreSQL จะใช้ภาษา SQL อย่างไรก็ตาม PostgreSQL ไม่เหมือนกับ MySQL ตรงที่สนับสนุนมาตรฐาน SQL-2011 DBMS นี้ไม่มีข้อจำกัดเกี่ยวกับขนาดสูงสุดของฐานข้อมูล หรือเกี่ยวกับบันทึกหรือดัชนีสูงสุดในตาราง
หากเราพูดถึงข้อดีของ PostgreSQL แน่นอนว่าสิ่งเหล่านี้คือความน่าเชื่อถือของธุรกรรมและการจำลองแบบ ความเป็นไปได้ในการสืบทอด และความสามารถในการขยายได้ง่าย PostgreSQL รองรับส่วนขยายและภาษาการเขียนโปรแกรมที่หลากหลาย เช่น PL/Perl, PL/Python และ PL/Java นอกจากนี้ยังสามารถโหลดโมดูลที่เข้ากันได้กับ C ได้อีกด้วย
หลายๆ คนทราบว่า DBMS นี้มีเอกสารที่ดีและละเอียดซึ่งต่างจาก MySQL ตรงที่ให้คำตอบสำหรับคำถามเกือบทั้งหมด
ความจริงที่ว่ามันเป็น DBMS ที่ใหญ่กว่า MySQL นั้นยังระบุได้จากข้อเท็จจริงที่ว่า PostgreSQL นั้นถูกเปรียบเทียบเป็นระยะกับระบบการจัดการข้อมูลที่ทรงพลังเช่น Oracle
ทั้งหมดนี้ทำให้เราสามารถพูดถึง PostgreSQL ว่าเป็นหนึ่งใน DBMS ที่ทันสมัยที่สุดในขณะนี้
SQLite
ในขณะนี้ นี่เป็นหนึ่งใน DBMS ที่มีขนาดกะทัดรัดที่สุด มันยังฝังตัวและสัมพันธ์กันอีกด้วย SQLite ช่วยให้คุณสามารถจัดเก็บข้อมูลทั้งหมดไว้ในไฟล์เดียวและเนื่องจากขนาดที่เล็กจึงโดดเด่นด้วยประสิทธิภาพที่น่าอิจฉา SQLite แตกต่างอย่างมากจาก MySQL และ PostgreSQL ในโครงสร้าง: กลไกและอินเทอร์เฟซของ DBMS นี้อยู่ในไลบรารีเดียวกัน - และนี่คือสิ่งที่ช่วยให้คุณดำเนินการสืบค้นทั้งหมดได้อย่างรวดเร็ว DBMS อื่นๆ (MySQL, PostgreSQL, Oracle ฯลฯ) จะใช้กระบวนทัศน์ไคลเอนต์-เซิร์ฟเวอร์ เมื่อมีการโต้ตอบผ่านโปรโตคอลเครือข่าย
ข้อเสีย ได้แก่ การขาดระบบผู้ใช้และความเป็นไปได้ในการเพิ่มผลผลิต
สามารถแนะนำให้ใช้ SQLite เพื่อใช้ในโครงการที่คุณต้องการย้ายแอปพลิเคชันได้อย่างรวดเร็ว และไม่จำเป็นต้องปรับขนาดได้
ออราเคิล
DBMS นี้เป็นประเภทเชิงวัตถุสัมพันธ์ ชื่อนี้ได้มาจากชื่อของบริษัทที่พัฒนาระบบนี้ซึ่งก็คือออราเคิล นอกจาก SQL แล้ว DBMS ยังใช้ส่วนขยายขั้นตอนที่เรียกว่า PL/SQL รวมถึงภาษา Java ด้วย
Oracle เป็นระบบที่มีความเสถียรมานานหลายทศวรรษ ดังนั้นจึงได้รับเลือกจากองค์กรขนาดใหญ่ โดยคำนึงถึงความน่าเชื่อถือของการกู้คืนหลังจากความล้มเหลว ขั้นตอนการสำรองข้อมูลที่มีประสิทธิภาพ ความสามารถในการปรับขนาด และคุณสมบัติอันทรงคุณค่าอื่นๆ เป็นสิ่งสำคัญ นอกจากนี้ DBMS ยังมอบความปลอดภัยที่ยอดเยี่ยมและการปกป้องข้อมูลที่มีประสิทธิภาพ
ค่าใช้จ่ายในการจัดซื้อและใช้งาน Oracle ต่างจาก DBMS อื่นๆ ค่อนข้างสูงและมักเป็นอุปสรรคสำคัญต่อการใช้งานในบริษัทขนาดเล็ก นี่อาจเป็นเหตุผลว่าทำไม Oracle จึงอยู่ในอันดับที่ 6 ในการจัดอันดับ DBMS ประจำปี 2559 ในรัสเซีย
![](https://i2.wp.com/timeweb.com/media/default/0001/01/400x111x6c8d6531916807fc5a5d222290d27eed64a1fd96.png.pagespeed.ic.apJbOSwZcn.png)
MongoDB
DBMS นี้แตกต่างตรงที่ออกแบบมาเพื่อจัดเก็บโครงสร้างข้อมูลแบบลำดับชั้น ดังนั้นจึงเรียกว่า Document-Oriented (เป็นที่จัดเก็บเอกสารโดยไม่ต้องใช้ตารางหรือสคีมา) MongoDB เป็นโอเพ่นซอร์ส
เมื่อใช้ตัวระบุ คุณสามารถดำเนินการอย่างรวดเร็วกับอ็อบเจ็กต์ได้ DBMS นี้ยังทำงานได้ดีในการโต้ตอบที่ซับซ้อน ก่อนอื่น เรากำลังพูดถึงประสิทธิภาพ - ในบางกรณี แอปพลิเคชันที่เขียนด้วย MongoDB จะทำงานเร็วกว่าแอปพลิเคชันเดียวกันที่ใช้ SQL เนื่องจาก MongoDB อยู่ในคลาส NoSQL DBMS และแทนที่จะใช้ SQL จะใช้ภาษาคิวรี่วัตถุซึ่งเบากว่า SQL มาก
อย่างไรก็ตาม ภาษานี้มีข้อจำกัดเช่นกัน ดังนั้น MongoDB จึงควรใช้ในกรณีที่ไม่จำเป็นต้องเลือกที่ซับซ้อนและไม่สำคัญ
แทนที่จะได้ข้อสรุป
การเลือก DBMS เป็นจุดสำคัญในการสร้างทรัพยากรของคุณ เริ่มจากงานและความสามารถของคุณ พยายามทดลองเพื่อค้นหาตัวเลือกที่เหมาะสมที่สุด
DB เป็นตัวย่อที่ย่อมาจาก "ฐานข้อมูล" หรือ "ฐานข้อมูล" (ขึ้นอยู่กับบริบท) ในบทความนี้ เราจะมาดูกันว่ามันคืออะไร พวกมันคืออะไร และพวกมันถูกใช้ที่ไหน นอกจากนี้เรายังจะหารือกันว่า DBMS และ DB เป็นสิ่งเดียวกันหรือไม่
คำศัพท์เฉพาะทาง
ฐานข้อมูลคือการจัดเก็บข้อมูลที่มีโครงสร้าง ฐานข้อมูลยังสามารถเก็บข้อมูลบางอย่างได้โดยมีเงื่อนไขว่าต้องสั่งซื้อ เราแต่ละคนเคยทำงานกับฐานข้อมูลมาแล้วอย่างน้อยหนึ่งครั้งแต่อาจไม่เคยรู้มาก่อนด้วยซ้ำ ตัวอย่างเช่น เมื่อป้อนคำค้นหา เราจะหันไปใช้ฐานข้อมูลขนาดใหญ่สำหรับข้อมูลเฉพาะ
DBMS เป็นอีกคำย่อที่ย่อมาจาก โดยทั่วไปแล้ว DBMS เป็นตัวแทนของโซลูชันซอฟต์แวร์ต่างๆ ที่คุณสามารถจัดระเบียบข้อมูลฐานข้อมูลได้ ซึ่งหมายถึงการเติมข้อมูลลงในฐานข้อมูล จัดระเบียบ ลบ คัดลอก วิเคราะห์ และอื่นๆ อีกมากมาย
ประเภทของฐานข้อมูล
ตามทฤษฎีแล้วมีหลายประเภท มี:
- ฐานข้อมูลเชิงสัมพันธ์ (จากคำภาษาอังกฤษว่า “relation” ซึ่งแปลว่า “การเชื่อมต่อ”) มีลักษณะเฉพาะของความสัมพันธ์และแสดงเป็นชุดของเอนทิตีที่สัมพันธ์กัน ส่วนหลังจะแสดงในรูปแบบของตารางที่มีข้อมูลฐานข้อมูล นี่เป็นเรื่องธรรมดาที่สุด
- ลำดับชั้น - การเชื่อมต่อในระดับ "บรรพบุรุษ - ลูกหลาน", "ผู้เหนือกว่า - ผู้ใต้บังคับบัญชา"
- เครือข่าย - สาขาจากประเภทก่อนหน้า
- เชิงวัตถุซึ่งทำงานโดยตรงกับวิธีการที่เกี่ยวข้อง
มาดูรายละเอียดเพิ่มเติมแต่ละข้อโดยคำนึงถึงแนวคิดหลักและแนวคิดของฐานข้อมูล
DB เป็นจานเหรอ?
ในการนำเสนอตามปกติพวกเขาเข้าใจได้ไม่ยาก - นี่คือสัญญาณพร้อมข้อมูล เพื่อความชัดเจนคุณสามารถขอความช่วยเหลือเกี่ยวกับ DBMS ที่รู้จักกันดีจาก Microsoft - Access ซึ่งรวมอยู่ในชุดแอปพลิเคชัน Office ตามปกติ
ตารางฐานข้อมูลเชิงสัมพันธ์มีบันทึก (แถว) และเขตข้อมูล (คอลัมน์) แบบแรกประกอบด้วยข้อมูลโดยตรง ส่วนแบบหลังประกอบด้วยคำอธิบายว่าบันทึกหมายถึงอะไรกันแน่ ตัวอย่างเช่น ฟิลด์คือ "ชื่อ" บันทึกคือ "Katerina"
มีการระบุประเภทค่าสำหรับฟิลด์ อาจเป็นตัวเลข อักขระ วันที่ เวลา ฯลฯ นอกจากนี้ แต่ละตารางจะต้องมีฟิลด์คีย์ - บันทึกในตารางจะระบุข้อมูลโดยไม่ซ้ำกัน
ควรเข้าใจว่าฐานข้อมูลนั้นไม่ใช่ตาราง ฐานข้อมูลสามารถจัดเก็บได้ตั้งแต่หนึ่งถึงหลายร้อยตาราง ขึ้นอยู่กับจำนวนและความหลากหลายของข้อมูล
ความสัมพันธ์ระหว่างตาราง
เพื่อให้แน่ใจว่ามีการเชื่อมต่อระหว่างตาราง DBMS มีสคีมาข้อมูล มีการเชื่อมต่อ:
- "หนึ่งต่อหนึ่ง" - แต่ละเรกคอร์ดตารางจะสัมพันธ์กับเรกคอร์ดเดียวจากตารางอื่นเท่านั้น
- "หนึ่งต่อกลุ่ม" และ "กลุ่มต่อกลุ่ม" หนึ่งระเบียนสามารถสอดคล้องกับหลายรายการจากตารางที่เกี่ยวข้องได้ในคราวเดียว และในทางกลับกัน (สำหรับตัวเลือกที่สอง)
- "หลายต่อหลาย". มันง่ายที่จะเดาว่าในกรณีนี้สำหรับหลายแถวสามารถเลือกการเชื่อมต่อหลายแถวของตารางอื่นได้ (การเชื่อมต่อดังกล่าวจัดโดยใช้ตารางกลางและการเชื่อมต่อสองประเภทข้างต้น)
เลื่อนขึ้นลง
ฐานข้อมูลแบบลำดับชั้นมีโครงสร้างที่ชัดเจนกว่าฐานข้อมูลเชิงสัมพันธ์มาก พวกเขามีลักษณะการเชื่อฟังอย่างเข้มงวด มีองค์ประกอบราก - "ด้านบน" ซึ่งผู้ใต้บังคับบัญชาแตกแขนงออกไป - "ทายาท" หรือ "ลูกหลาน" ฐานข้อมูลแบบลำดับชั้นคือฐานข้อมูลที่มีโครงสร้างแบบต้นไม้ ซึ่งแต่ละโหนดสามารถมีบรรพบุรุษได้เพียงคนเดียวเท่านั้น
ประเภทนี้สะดวกในการใช้ในการสร้างที่เก็บข้อมูลของโครงสร้างที่สั่งไว้แล้ว: ตัวอย่างเช่น ฐานข้อมูลของหน่วยทหารหรือตัวจัดการไฟล์ ข้อเสียคือการที่โหนดมีบรรพบุรุษมากกว่าหนึ่งตัวไม่ได้ เช่นเดียวกับความซับซ้อนของตรรกะฐานข้อมูล
ขยายการเชื่อมต่อ
ฐานข้อมูลเครือข่ายได้กลายเป็นวิธีแก้ปัญหาข้อบกพร่องของฐานข้อมูลแบบลำดับชั้นที่กล่าวถึงข้างต้น ข้อแตกต่างระหว่างประเภทนี้กับแบบก่อนหน้าคือความสัมพันธ์แบบกลุ่มต่อกลุ่มซึ่งในกรณีนี้ปรากฏให้เห็นในความจริงที่ว่าเช่นเดียวกับบรรพบุรุษสามารถมีทายาทได้หลายคนดังนั้นพวกเขาผู้สืบเชื้อสายจึงมาจากหลาย ๆ คน โหนดในครั้งเดียว
วิธีการแสดงแบบตาราง
แม้ว่าตารางจะเกี่ยวข้องกับฐานข้อมูลเชิงสัมพันธ์เป็นหลัก แต่ฐานข้อมูลทั้งแบบลำดับชั้นและเครือข่ายก็สามารถแสดงเป็นตารางได้เช่นกัน ความแตกต่างที่สำคัญระหว่างประเภทเหล่านี้คือหลักการของการสร้างโครงสร้างอย่างแม่นยำ: เชิงสัมพันธ์เมื่อเทียบกับอีกสองประเภทนั้นมีอิสระมากกว่าและมีระเบียบน้อยกว่ามาก
ประเภทเชิงวัตถุ
ประเภทสุดท้ายที่พิจารณา เชิงวัตถุ เป็นเรื่องธรรมดาน้อยที่สุด เนื่องจากมีความเชี่ยวชาญสูงมาก โครงสร้างข้อมูลที่ซับซ้อนของฐานข้อมูลดังกล่าวจะสร้างอ็อบเจ็กต์และทำงานโดยตรงกับภาษาการเขียนโปรแกรมเชิงอ็อบเจ็กต์ พวกเขาได้รับการพัฒนาในช่วงแปดสิบของศตวรรษที่ผ่านมาและยังไม่ได้รับความนิยมมากนักเนื่องจากความซับซ้อนและประสิทธิภาพไม่สูงมาก