สมัยนี้ใคร ๆ ก็สังเกตได้การเติบโตอย่างรวดเร็วของปริมาณข้อมูลดิจิทัล และเนื่องจากข้อมูลเหล่านี้ส่วนใหญ่มีความสำคัญจึงจำเป็นต้องบันทึกไว้ในสื่อดิจิทัลเพื่อใช้ในภายหลัง ในสถานการณ์เช่นนี้สามารถประยุกต์ใช้เทคโนโลยีสมัยใหม่เช่นฐานข้อมูลได้ มีการจัดเก็บข้อมูลดิจิทัลที่เชื่อถือได้และสามารถเข้าถึงข้อมูลได้ทุกที่ในโลก หนึ่งในเทคโนโลยีที่อยู่ระหว่างการพิจารณาคือระบบการจัดการฐานข้อมูล MySQL
ระบบจัดการฐานข้อมูลเชิงสัมพันธ์MySQL เป็นหนึ่งในเทคโนโลยีการจัดเก็บข้อมูลที่เป็นที่ต้องการและใช้บ่อยที่สุด ฟังก์ชันการทำงานเหนือกว่า DBMS ที่มีอยู่หลายประการ โดยเฉพาะอย่างยิ่งคุณสมบัติหลักประการหนึ่งคือความสามารถในการใช้แบบสอบถาม MySQL ที่ซ้อนกัน
ดังนั้นหลายโครงการที่เวลามีความสำคัญความเร็วและจำเป็นเพื่อให้แน่ใจว่าการจัดเก็บข้อมูลตลอดจนการดำเนินการสุ่มตัวอย่างข้อมูลที่ซับซ้อนได้รับการพัฒนาบนพื้นฐานของ MySQL DBMS การพัฒนาเหล่านี้ส่วนใหญ่เป็นเว็บไซต์อินเทอร์เน็ต ในเวลาเดียวกัน MySQL ถูกนำไปใช้อย่างแข็งขันในการใช้งานทั้งขนาดเล็ก (บล็อกไซต์นามบัตร ฯลฯ ) และงานที่ค่อนข้างใหญ่ (ร้านค้าออนไลน์ที่จัดเก็บข้อมูล ฯลฯ ) ในทั้งสองกรณีแบบสอบถาม MySQL ใช้เพื่อแสดงข้อมูลบนหน้าไซต์ ในคำขอนักพัฒนาพยายามใช้ความสามารถที่มีอยู่ให้มากที่สุดที่ระบบจัดการฐานข้อมูลมี
เพื่อการจัดเก็บที่สะดวกและการประมวลผลในภายหลังข้อมูลจำเป็นต้องเรียงลำดับ โครงสร้างข้อมูลช่วยให้คุณกำหนดได้ว่าตารางที่ใช้จัดเก็บข้อมูลจะมีลักษณะอย่างไร ตารางฐานข้อมูลคือชุดของเขตข้อมูล (คอลัมน์) ที่รับผิดชอบคุณสมบัติเฉพาะของออบเจ็กต์ข้อมูลแต่ละรายการ
ตัวอย่างเช่นหากคุณกำลังรวบรวมโต๊ะของพนักงานบริษัท บางแห่งโครงสร้างที่ง่ายที่สุดจะเป็นดังนี้ พนักงานแต่ละคนจะได้รับหมายเลขเฉพาะซึ่งโดยปกติจะใช้เป็นคีย์หลักของตาราง จากนั้นข้อมูลส่วนบุคคลของพนักงานจะถูกป้อนลงในตาราง อาจเป็นอะไรก็ได้: ชื่อนามสกุลชื่อแผนกที่ได้รับมอบหมายหมายเลขโทรศัพท์ที่อยู่ ฯลฯ ตามข้อกำหนดของการทำให้เป็นมาตรฐาน (ฐานข้อมูลปกติ 6 รูปแบบ) รวมทั้งเพื่อให้การสืบค้น MySQL มีโครงสร้างฟิลด์ตารางต้องเป็นแบบอะตอมกล่าวคือต้องไม่มีการแจงนับหรือรายการ ดังนั้นตามกฎแล้วจะมีฟิลด์แยกต่างหากในตารางสำหรับนามสกุลชื่อและอื่น ๆ
Employee_id | นามสกุล | ชื่อ | ชื่อสกุล | Department_id | ตำแหน่ง | โทรศัพท์ | Employer_id |
1 | อีวานอฟ | อีวาน | อิวาโนวิช | ผู้ดูแลระบบ | ผู้อำนวยการ | 495 **** | โมฆะ |
2 | เปตรอฟ | ปีเตอร์ | เปโตรวิช | ผู้ดูแลระบบ | รอง ผู้อำนวยการ | 495 *** | 1 |
3 | กริชชิน | เกรกอรี | กริกอริวิช | ขาย | หัวหน้า | 1 | |
... | ... | ... | ... | ... | ... | ... | ... |
59 | Sergeev | Sergei | เอส | ขาย | ผู้ช่วยฝ่ายขาย. | 495 *** | 32 |
ด้านบนเป็นตัวอย่างโครงสร้างเล็กน้อยตารางฐานข้อมูล อย่างไรก็ตามยังไม่เป็นไปตามข้อกำหนดพื้นฐานของการทำให้เป็นมาตรฐานอย่างสมบูรณ์ ในระบบจริงจะมีการสร้างตารางแผนกเพิ่มเติม ดังนั้นตารางด้านล่างควรมีตัวเลขของแผนกแทนคำในคอลัมน์ "แผนก"
ในการรับข้อมูลจากตารางใน DBMS จะใช้คำสั่งพิเศษ MySQL - สอบถามรายละเอียดเพิ่มเติม เลือก. เพื่อให้แน่ใจว่าเซิร์ฟเวอร์ฐานข้อมูลถูกต้องตอบสนองต่อคำขอคำขอจะต้องสร้างขึ้นอย่างถูกต้อง โครงสร้างการร้องขอถูกสร้างขึ้นดังนี้ การเรียกไปยังเซิร์ฟเวอร์ฐานข้อมูลจะเริ่มต้นด้วยคีย์เวิร์ด เลือก... มันมาจากเขา ทั้งหมดอยู่ระหว่างการก่อสร้างใน แบบสอบถาม MySQL ตัวอย่างอาจมีความซับซ้อนแตกต่างกันไป แต่หลักการก่อสร้างนั้นคล้ายคลึงกันมาก
จากนั้นคุณต้องระบุว่าคุณต้องการเลือกข้อมูลที่สนใจจากช่องใด รายชื่อของเขตข้อมูลจะคั่นด้วยลูกน้ำหลังประโยค เลือก... หลังจากระบุช่องที่จำเป็นทั้งหมดแล้วแบบสอบถามจะระบุวัตถุตารางที่จะทำการเลือกโดยใช้ประโยค จาก และระบุชื่อของตาราง
เพื่อ จำกัด การเลือกตัวดำเนินการพิเศษที่จัดเตรียมโดย DBMS จะถูกเพิ่มลงในแบบสอบถาม MySQL ในการเลือกข้อมูลที่ไม่ซ้ำ (ไม่ซ้ำกัน) จะมีการใช้ข้อเสนอ ชัดเจนและกำหนดเงื่อนไข - ตัวดำเนินการ ที่ไหน... เป็นตัวอย่างที่ใช้ได้กับข้างต้นคุณสามารถพิจารณาคำขอที่ต้องการข้อมูลเกี่ยวกับชื่อเต็ม พนักงานที่ทำงานในแผนก "การขาย" โครงสร้างแบบสอบถามจะมีลักษณะดังตารางด้านล่าง
แต่คุณสมบัติหลักของ DBMS ตามที่ระบุข้างต้นความสามารถในการจัดการการสืบค้น MySQL ที่ซ้อนกัน ควรมีลักษณะอย่างไร? จากชื่อมีเหตุผลชัดเจนว่านี่คือคำขอที่สร้างขึ้นในลำดับชั้นที่แน่นอนตั้งแต่สองคำขอขึ้นไป ทฤษฎีเบื้องหลังการศึกษาลักษณะเฉพาะของ DBMS กล่าวว่า MySQL ไม่ได้กำหนดข้อ จำกัด เกี่ยวกับจำนวนแบบสอบถาม MySQL ที่สามารถซ้อนกันในแบบสอบถามหลัก อย่างไรก็ตามคุณสามารถทดลองในทางปฏิบัติและตรวจสอบให้แน่ใจว่าหลังจากคำค้นหาที่ซ้อนกันโหลที่สองเวลาตอบสนองจะเพิ่มขึ้นอย่างมาก ไม่ว่าในกรณีใดในทางปฏิบัติไม่มีงานใดที่ต้องใช้แบบสอบถาม MySQL ที่ซับซ้อนมาก แบบสอบถามอาจต้องการลำดับชั้นที่ซ้อนกันสูงสุด 3-5 ลำดับ
เมื่อวิเคราะห์ข้อมูลที่อ่านแล้วจำนวนคำถามเกี่ยวกับตำแหน่งที่สามารถใช้แบบสอบถามที่ซ้อนกันได้และเป็นไปได้หรือไม่ที่จะแก้ปัญหาโดยแบ่งออกเป็นคำถามง่ายๆโดยไม่ทำให้โครงสร้างซับซ้อน ในทางปฏิบัติแบบสอบถามที่ซ้อนกันใช้เพื่อแก้ปัญหาที่ซับซ้อน ปัญหาประเภทนี้รวมถึงสถานการณ์ที่ไม่ทราบเงื่อนไขล่วงหน้าซึ่งการเลือกค่าเพิ่มเติมจะถูก จำกัด เป็นไปไม่ได้ที่จะแก้ปัญหาดังกล่าวหากคุณใช้แบบสอบถาม MySQL ปกติ คำค้นหาที่ประกอบด้วยลำดับชั้นจะค้นหาข้อ จำกัด ที่อาจเปลี่ยนแปลงตลอดเวลาหรืออาจไม่ทราบล่วงหน้า
หากเราพิจารณาจากตารางด้านบนแล้วตัวอย่างต่อไปนี้สามารถอ้างได้ว่าเป็นงานที่ยาก สมมติว่าเราจำเป็นต้องค้นหาข้อมูลพื้นฐานเกี่ยวกับพนักงานที่อยู่ใต้บังคับบัญชาของ Grishin Grigory Grigorievich ซึ่งเป็นหัวหน้าแผนกขาย เมื่อสร้างคำขอเราไม่ทราบหมายเลขประจำตัวของคำขอ ดังนั้นในเบื้องต้นเราต้องรู้จักเขา สำหรับสิ่งนี้จะใช้คิวรีแบบง่ายเพื่อค้นหาวิธีแก้ไขเงื่อนไขหลักและเสริมคิวรี MySQL หลัก ข้อความค้นหาแสดงให้เห็นอย่างชัดเจนว่าแบบสอบถามย่อยได้รับหมายเลขประจำตัวพนักงานซึ่งจะกำหนดข้อ จำกัด ของแบบสอบถามหลักเพิ่มเติม:
ในกรณีนี้ข้อเสนอ ใด ๆ ใช้เพื่อยกเว้นการเกิดข้อผิดพลาดหากมีพนักงานหลายคนที่มีชื่อย่อดังกล่าว
สรุปแล้วควรสังเกตว่ามีมีคุณสมบัติเพิ่มเติมอื่น ๆ อีกมากมายที่อำนวยความสะดวกในการสร้างแบบสอบถามเนื่องจาก MySQL DBMS เป็นเครื่องมือที่มีประสิทธิภาพพร้อมด้วยคลังแสงของเครื่องมือมากมายสำหรับจัดเก็บและประมวลผลข้อมูล