ฐานข้อมูล: แนวคิดพื้นฐาน แนวคิดของฐานข้อมูลและฐานข้อมูลคืออะไร ข้อความในหัวข้อว่าฐานข้อมูลคืออะไร

ฐานข้อมูลในวิทยาการคอมพิวเตอร์คืออะไร

ในวิทยาการคอมพิวเตอร์ แนวคิดของฐานข้อมูลคือชุดข้อมูลสำหรับเครือข่ายข้อมูลและผู้ใช้ ซึ่งจัดเก็บไว้ในรูปแบบพิเศษที่มีการจัดระเบียบ ประเภทของการจัดเก็บข้อมูลถูกกำหนดโดยโครงสร้างที่กำหนด (โครงร่าง) ของฐานข้อมูลและกฎสำหรับการจัดการ

ด้วยตัวมันเอง ฐานข้อมูลจะไม่มีประโยชน์หากไม่มีวิธีจัดการฐานข้อมูลเหล่านั้น ในการจัดการฐานข้อมูล เราหมายถึงความสามารถในการเพิ่มข้อมูลทีละรายการหรือโดยรวม จัดเรียง คัดลอกและย้ายบางส่วนหรือทั้งหมด และรวมฐานข้อมูลตั้งแต่สองฐานข้อมูลขึ้นไป ในการจัดการฐานข้อมูล ผลิตภัณฑ์ซอฟต์แวร์ได้ถูกสร้างขึ้นซึ่งเป็นซอฟต์แวร์ฐานข้อมูล พวกเขาถูกเรียกว่า 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 ในรัสเซีย



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 มีสคีมาข้อมูล มีการเชื่อมต่อ:

  • "หนึ่งต่อหนึ่ง" - แต่ละเรกคอร์ดตารางจะสัมพันธ์กับเรกคอร์ดเดียวจากตารางอื่นเท่านั้น
  • "หนึ่งต่อกลุ่ม" และ "กลุ่มต่อกลุ่ม" หนึ่งระเบียนสามารถสอดคล้องกับหลายรายการจากตารางที่เกี่ยวข้องได้ในคราวเดียว และในทางกลับกัน (สำหรับตัวเลือกที่สอง)
  • "หลายต่อหลาย". มันง่ายที่จะเดาว่าในกรณีนี้สำหรับหลายแถวสามารถเลือกการเชื่อมต่อหลายแถวของตารางอื่นได้ (การเชื่อมต่อดังกล่าวจัดโดยใช้ตารางกลางและการเชื่อมต่อสองประเภทข้างต้น)

เลื่อนขึ้นลง

ฐานข้อมูลแบบลำดับชั้นมีโครงสร้างที่ชัดเจนกว่าฐานข้อมูลเชิงสัมพันธ์มาก พวกเขามีลักษณะการเชื่อฟังอย่างเข้มงวด มีองค์ประกอบราก - "ด้านบน" ซึ่งผู้ใต้บังคับบัญชาแตกแขนงออกไป - "ทายาท" หรือ "ลูกหลาน" ฐานข้อมูลแบบลำดับชั้นคือฐานข้อมูลที่มีโครงสร้างแบบต้นไม้ ซึ่งแต่ละโหนดสามารถมีบรรพบุรุษได้เพียงคนเดียวเท่านั้น

ประเภทนี้สะดวกในการใช้ในการสร้างที่เก็บข้อมูลของโครงสร้างที่สั่งไว้แล้ว: ตัวอย่างเช่น ฐานข้อมูลของหน่วยทหารหรือตัวจัดการไฟล์ ข้อเสียคือการที่โหนดมีบรรพบุรุษมากกว่าหนึ่งตัวไม่ได้ เช่นเดียวกับความซับซ้อนของตรรกะฐานข้อมูล

ขยายการเชื่อมต่อ

ฐานข้อมูลเครือข่ายได้กลายเป็นวิธีแก้ปัญหาข้อบกพร่องของฐานข้อมูลแบบลำดับชั้นที่กล่าวถึงข้างต้น ข้อแตกต่างระหว่างประเภทนี้กับแบบก่อนหน้าคือความสัมพันธ์แบบกลุ่มต่อกลุ่มซึ่งในกรณีนี้ปรากฏให้เห็นในความจริงที่ว่าเช่นเดียวกับบรรพบุรุษสามารถมีทายาทได้หลายคนดังนั้นพวกเขาผู้สืบเชื้อสายจึงมาจากหลาย ๆ คน โหนดในครั้งเดียว

วิธีการแสดงแบบตาราง

แม้ว่าตารางจะเกี่ยวข้องกับฐานข้อมูลเชิงสัมพันธ์เป็นหลัก แต่ฐานข้อมูลทั้งแบบลำดับชั้นและเครือข่ายก็สามารถแสดงเป็นตารางได้เช่นกัน ความแตกต่างที่สำคัญระหว่างประเภทเหล่านี้คือหลักการของการสร้างโครงสร้างอย่างแม่นยำ: เชิงสัมพันธ์เมื่อเทียบกับอีกสองประเภทนั้นมีอิสระมากกว่าและมีระเบียบน้อยกว่ามาก

ประเภทเชิงวัตถุ

ประเภทสุดท้ายที่พิจารณา เชิงวัตถุ เป็นเรื่องธรรมดาน้อยที่สุด เนื่องจากมีความเชี่ยวชาญสูงมาก โครงสร้างข้อมูลที่ซับซ้อนของฐานข้อมูลดังกล่าวจะสร้างอ็อบเจ็กต์และทำงานโดยตรงกับภาษาการเขียนโปรแกรมเชิงอ็อบเจ็กต์ พวกเขาได้รับการพัฒนาในช่วงแปดสิบของศตวรรษที่ผ่านมาและยังไม่ได้รับความนิยมมากนักเนื่องจากความซับซ้อนและประสิทธิภาพไม่สูงมาก

เราก็ขอแนะนำเช่นกัน

กำลังโหลด...กำลังโหลด...