เครื่องมือภาษาและซอฟต์แวร์ย่อย ระบบการจัดการฐานข้อมูล

ข้าว. 1.4. โครงสร้าง DBMS

ตัวควบคุมพจนานุกรม– ให้การเข้าถึงแค็ตตาล็อกระบบและทำงานร่วมกับมัน

ตัวควบคุมไฟล์– จัดการไฟล์ข้อมูลและรับผิดชอบในการจัดสรรพื้นที่ดิสก์ มันไม่ได้จัดการ I/O ทางกายภาพ แต่ส่งคำขอไปยังวิธีการเข้าถึงระบบปฏิบัติการที่เหมาะสม

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

· การควบคุมสิทธิ์การเข้าถึง - ตรวจสอบว่าผู้ใช้ที่กำหนดมีสิทธิ์ในการดำเนินการตามที่ร้องขอหรือไม่

· ตัวประมวลผลคำสั่ง – ดำเนินการตามคำขอ;

· เครื่องมือควบคุมความสมบูรณ์ – ตรวจสอบข้อจำกัดการสนับสนุนความสมบูรณ์เมื่อดำเนินการแก้ไขข้อมูล

· เครื่องมือเพิ่มประสิทธิภาพแบบสอบถาม – กำหนดกลยุทธ์การดำเนินการค้นหาที่เหมาะสมที่สุด

· ตัวควบคุมธุรกรรม – ประมวลผลการดำเนินการที่ได้รับในระหว่างกระบวนการธุรกรรม

· ตัวกำหนดตารางเวลา - รับผิดชอบการดำเนินการแบบขนานกับฐานข้อมูลโดยปราศจากข้อขัดแย้ง และจัดการลำดับสัมพัทธ์ของการดำเนินการที่กำหนดไว้ในธุรกรรมที่แตกต่างกัน

· ตัวควบคุมการกู้คืน – รับผิดชอบในการกู้คืนฐานข้อมูลในกรณีที่เกิดความล้มเหลวในสถานะที่สอดคล้องกัน

· ตัวควบคุมบัฟเฟอร์ – รับผิดชอบในการถ่ายโอนข้อมูลระหว่าง RAM และฮาร์ดไดรฟ์

DBMS จำนวนมากรองรับความสามารถในการใช้งานตัวดำเนินการของตนเองในภาษาระดับสูง (COBOL, Fortran, Pascal, Ada, C) แต่ DBMS รองรับ 2 ภาษาเฉพาะสำหรับการพัฒนาแอปพลิเคชันฐานข้อมูล - DDL (Data Definition Language) และ DMD (Data Manipulation Language) เย้– ภาษาเชิงพรรณนาสำหรับกำหนดสคีมาเชิงตรรกะของฐานข้อมูล ประกอบด้วยชุดคำสั่งที่กำหนดสคีมาฐานข้อมูล ผลลัพธ์ของการรวบรวมคำอธิบายดังกล่าว (สกีมาแนวคิดและภายนอก) คือชุดของตารางที่จัดเก็บไว้ในแค็ตตาล็อกระบบฐานข้อมูลพิเศษ (มันเก็บข้อมูลเมตา) DDL ไม่ได้ใช้เพื่อทำงานกับข้อมูล เพื่อจุดประสงค์นี้จึงถูกนำมาใช้ ครับซึ่งมีชุดตัวดำเนินการที่ดำเนินการประมวลผลข้อมูล: ค้นหา เพิ่ม เปลี่ยนแปลง และลบ การสนับสนุน MD นิวเคลียร์เป็นหนึ่งในหน้าที่หลักของ DBMS มี 2 ​​แนวทางในการดำเนินการ NMD: ขั้นตอนและการประกาศ

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

ประกาศ NMDช่วยให้คุณสามารถกำหนดข้อกำหนดทั้งหมดสำหรับข้อมูลผลลัพธ์โดยใช้ตัวดำเนินการเดียว ในกรณีนี้ ไม่จำเป็นต้องทราบรายละเอียดของการใช้งานโครงสร้างข้อมูลภายในและคุณสมบัติของอัลกอริทึมที่ใช้ในการดึงข้อมูล ประเภทนี้รวมถึงภาษาที่อิงตามแคลคูลัสเชิงสัมพันธ์ SQL และ QBE SQL(Structured Query Language) ขึ้นอยู่กับแคลคูลัสเชิงสัมพันธ์และได้รับการสนับสนุนโดย DBMS เชิงสัมพันธ์ทั้งหมด มีการกำหนดมาตรฐานสากลไว้แล้ว คิวบีอี(แบบสอบถามตามตัวอย่าง) เป็นภาษาง่ายๆ ที่มีอินเทอร์เฟซแบบกราฟิกที่ช่วยให้ผู้ใช้ที่ไม่ใช่มืออาชีพสามารถกำหนดแบบสอบถามได้ (เช่น ใน Access DBMS)

DBMS สมัยใหม่ยังมีชุดเครื่องมือที่อำนวยความสะดวกในการพัฒนาแอปพลิเคชันฐานข้อมูล - เครื่องกำเนิดไฟฟ้าประเภทต่างๆ:

  • แบบฟอร์มหน้าจอ – สำหรับสร้างเทมเพลตการป้อนข้อมูล
  • รายงาน;
  • การนำเสนอข้อมูลในรูปแบบกราฟิกในรูปแบบไดอะแกรม
  • แอพพลิเคชั่นสำหรับสร้างโปรแกรมประมวลผลข้อมูล

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

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

ประการแรก ภาษา SQL รวมเครื่องมือของ SDL และ DML เช่น ช่วยให้คุณสามารถกำหนดสคีมาฐานข้อมูลเชิงสัมพันธ์และจัดการข้อมูล ในเวลาเดียวกัน การตั้งชื่ออ็อบเจ็กต์ฐานข้อมูล (สำหรับฐานข้อมูลเชิงสัมพันธ์ - การตั้งชื่อตารางและคอลัมน์) ได้รับการสนับสนุนในระดับภาษาในแง่ที่ว่าคอมไพเลอร์ SQL จะแปลงชื่ออ็อบเจ็กต์เป็นตัวระบุภายในตามตารางแค็ตตาล็อกบริการที่ได้รับการสนับสนุนเป็นพิเศษ ส่วนภายในของ DBMS (เคอร์เนล) ใช้ไม่ได้กับชื่อของตารางและคอลัมน์เลย

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

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

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

เครื่องมือภาษาและซอฟต์แวร์ของ DBMS

แนวคิดและการจำแนกประเภทของ DBMS

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

ตามระดับของความเก่งกาจ DBMS มีสองคลาส:

ระบบใช้งานทั่วไปที่ไม่เน้นเฉพาะสาขาวิชาหรือความต้องการข้อมูลของกลุ่มผู้ใช้เฉพาะ

ระบบพิเศษที่ทำงานบนคอมพิวเตอร์บางรุ่นในระบบปฏิบัติการเฉพาะและมีวิธีการกำหนดค่าสำหรับการทำงานกับฐานข้อมูลในสาขาวิชาเฉพาะ

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

ตามภาษาของการสื่อสาร DBMS สามารถเปิด ปิด หรือผสมได้ ในระบบเปิดจะใช้ภาษาการเขียนโปรแกรมสากลเพื่อเข้าถึงฐานข้อมูล ระบบปิดมีภาษาของตัวเองในการสื่อสารกับผู้ใช้ฐานข้อมูล

ด้วยอำนาจมีเดสก์ท็อปและ DBMS ขององค์กร ระบบเดสก์ท็อป (Access, FoxPro, Paradox) มุ่งเป้าไปที่ผู้ใช้ปลายทาง (ผู้เชี่ยวชาญในสาขาวิชาเฉพาะ) พวกเขาไม่ต้องการอุปกรณ์ทางเทคนิคมากนักและมีต้นทุนต่ำ Corporate DBMS (Oracle, SyBase, DB2) ให้งานในสภาพแวดล้อมแบบกระจาย มีประสิทธิภาพสูง มีเครื่องมือการดูแลระบบขั้นสูง และความสามารถที่มากขึ้นในการรักษาความสมบูรณ์ DBMS MS SQL Server และ Interbase มีความสามารถทั้งระบบเดสก์ท็อปและระบบองค์กร

ตามรูปแบบข้อมูลที่นำมาใช้ DBMS ได้รับการตั้งชื่อตามสคีมาข้อมูลที่สนับสนุน: ลำดับชั้น เครือข่าย เชิงสัมพันธ์ และเชิงวัตถุ

เครื่องมือภาษาและซอฟต์แวร์ของ DBMS

จำเป็นต้องใช้เครื่องมือภาษา DBMS เพื่อทำหน้าที่ต่อไปนี้:

– คำอธิบายการนำเสนอฐานข้อมูล

– การดำเนินการจัดการข้อมูล

– การจัดการฐานข้อมูล

มีฟังก์ชันแรกจากเหล่านี้ให้ไว้ ภาษาคำอธิบายข้อมูล (คำจำกัดความ)(ยอด) – Shema คำจำกัดความภาษา- คำอธิบายของฐานข้อมูลโดยใช้วิธี LDL สคีมาฐานข้อมูล สคีมาฐานข้อมูล อธิบายโครงสร้างของฐานข้อมูลและข้อจำกัดด้านความสมบูรณ์ที่กำหนดตามกฎที่ควบคุมโดยแบบจำลองข้อมูลของ DBMS ที่ใช้ ใน DBMS บางตัว ภาษาคำอธิบายข้อมูลยังให้ความสามารถในการกำหนดข้อจำกัดในการเข้าถึงข้อมูลหรือการอนุญาตของผู้ใช้อีกด้วย

ภาษาการจัดการข้อมูล(วายเอ็มดี) – ภาษาการจัดการ Shemaมีชุดตัวดำเนินการจัดการข้อมูลที่ช่วยให้คุณสามารถป้อนข้อมูลลงในฐานข้อมูล ลบ แก้ไข และเลือกข้อมูลที่ร้องขอจากฐานข้อมูล

ปัจจุบันมีตัวอย่างมากมายของภาษา DBMS ที่รวมความสามารถของคำอธิบายข้อมูลและการจัดการข้อมูลภายในกรอบงานวากยสัมพันธ์เดียว ภาษาบูรณาการเดียวของ DBMS สมัยใหม่ประกอบด้วยเครื่องมือที่จำเป็นทั้งหมดสำหรับการทำงานกับฐานข้อมูล เริ่มตั้งแต่การสร้าง และจัดเตรียมอินเทอร์เฟซผู้ใช้กับฐานข้อมูล ภาษายอดนิยมและเป็นมาตรฐานสำหรับ DBMS เชิงสัมพันธ์คือ SQL (ภาษาแบบสอบถามที่มีโครงสร้าง- ภาษาแบบสอบถามที่มีโครงสร้าง ), พัฒนาโดยไอบีเอ็ม เพื่อรองรับโมเดลออบเจ็กต์ ภาษา OQL (Object Query Language) ได้รับการออกแบบซึ่งอิงจาก SQL

ตัวอย่างภาษาอื่นๆ ในชั้นเรียนนี้ ได้แก่ Quel of the Ingres system ที่สร้างโดย University of California; ตระกูล dBase ของ DBMS จาก Asthon - Tate; R:ฐานจาก Microrim

ภาษาขั้นตอนที่ใช้จัดการฐานข้อมูลคือภาษา QBE (แบบสอบถามตามตัวอย่าง)- ภาษานี้ให้อินเทอร์เฟซแบบรวมที่สะดวกแก่ผู้ใช้สำหรับการดำเนินการบำรุงรักษาฐานข้อมูล

ซอฟต์แวร์ DBMS ประกอบด้วยภาษาการเขียนโปรแกรมที่ช่วยให้คุณสามารถสร้างระบบประมวลผลข้อมูลที่ซับซ้อนซึ่งเน้นไปที่งานเฉพาะและผู้ใช้เฉพาะ

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

โมดูลเป็นขั้นตอนที่เขียนด้วย Visual Basic for Application (VBA)

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

MySQL DBMS ถูกใช้อย่างแข็งขันในการเขียนโปรแกรมเว็บ ในการทำงานกับฐานข้อมูลของระบบนี้ จะใช้ภาษาการเขียนโปรแกรม PHP มันเป็นภาษาคล้าย C ที่ออกแบบมาเพื่อการสร้างโปรแกรมบนเว็บเซิร์ฟเวอร์อย่างรวดเร็ว

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

เมื่อใช้ PHP คุณสามารถประมวลผลข้อมูลจากแบบฟอร์ม สร้างเพจแบบไดนามิก สร้างตัวนับ สมุดเยี่ยมชม ฯลฯ PHP มีการรองรับฐานข้อมูลจำนวนมาก: FilePro, Informix, MySQL, Oracle, Sybase เป็นต้น

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

หน้าที่หลักของ DBMS:

· การจัดการข้อมูลในหน่วยความจำภายนอก (บนดิสก์)

· การจัดการข้อมูลใน RAM โดยใช้ดิสก์แคช

· การบันทึกการเปลี่ยนแปลง การสำรองและกู้คืนฐานข้อมูลหลังจากเกิดความล้มเหลว

· รองรับภาษาฐานข้อมูล (ภาษานิยามข้อมูล, ภาษาการจัดการข้อมูล)

โดยทั่วไปแล้ว DBMS สมัยใหม่จะมีส่วนประกอบดังต่อไปนี้:

· เคอร์เนลซึ่งรับผิดชอบในการจัดการข้อมูลในหน่วยความจำภายนอกและ RAM และการบันทึก

· ตัวประมวลผลภาษาฐานข้อมูลที่ปรับการสืบค้นให้เหมาะสมสำหรับการเรียกค้นและการเปลี่ยนแปลงข้อมูล และสร้างโค้ดภายในที่สามารถเรียกทำงานได้โดยไม่ขึ้นกับเครื่องตามกฎ

· ระบบย่อยสนับสนุนรันไทม์ที่ตีความโปรแกรมจัดการข้อมูลที่สร้างส่วนต่อประสานผู้ใช้กับ DBMS

· เซอร์วิสโปรแกรม (ยูทิลิตี้ภายนอก) ที่มีความสามารถเพิ่มเติมจำนวนหนึ่งสำหรับการบำรุงรักษาระบบข้อมูล

การจำแนกประเภทของ DBMS

ตามแบบจำลองข้อมูล:

· ลำดับชั้น;

· เครือข่าย;

·เชิงสัมพันธ์;

· เชิงวัตถุสัมพันธ์;

·เชิงวัตถุ

ตามสถาปัตยกรรมขององค์กรจัดเก็บข้อมูล:

· DBMS ท้องถิ่น (ทุกส่วนของ DBMS ท้องถิ่นตั้งอยู่บนคอมพิวเตอร์เครื่องเดียว)

· DBMS แบบกระจาย (บางส่วนของ DBMS สามารถวางตำแหน่งบนคอมพิวเตอร์สองเครื่องขึ้นไป)

โดยวิธีการเข้าถึงฐานข้อมูล:

·ไฟล์เซิร์ฟเวอร์

ในไฟล์เซิร์ฟเวอร์ DBMS ไฟล์ข้อมูลจะอยู่ตรงกลางบนไฟล์เซิร์ฟเวอร์ เคอร์เนล DBMS ตั้งอยู่บนคอมพิวเตอร์ไคลเอนต์แต่ละเครื่อง เข้าถึงข้อมูลผ่านเครือข่ายท้องถิ่น การซิงโครไนซ์การอ่านและการอัพเดตดำเนินการโดยใช้การล็อคไฟล์ ข้อดีของสถาปัตยกรรมนี้คือโหลด CPU ต่ำบนเซิร์ฟเวอร์ แต่ข้อเสียคือโหลดสูงบนเครือข่ายท้องถิ่น

ตัวอย่าง: Microsoft Access, Borland Paradox

·ไคลเอนต์เซิร์ฟเวอร์

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

ตัวอย่าง: Firebird, Interbase, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL, Linter

· บิวท์อิน.

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

ตัวอย่าง: OpenEdge, SQLite, BerkeleyDB, หนึ่งในเวอร์ชัน Firebird, หนึ่งในเวอร์ชัน MySQL, Sav Zigzag, Microsoft SQL Server Compact, LINTER

รองรับภาษาฐานข้อมูล

ในการทำงานกับฐานข้อมูลจะใช้ภาษาพิเศษโดยทั่วไปเรียกว่าภาษาฐานข้อมูล DBMS ยุคแรกรองรับหลายภาษาที่เชี่ยวชาญในการทำงานของพวกเขา บ่อยครั้งที่มีสองภาษาที่แตกต่างกัน - ภาษาคำจำกัดความสคีมาฐานข้อมูล (SDL - ภาษาคำจำกัดความสคีมา) และภาษาการจัดการข้อมูล (DML - ภาษาการจัดการข้อมูล) SDL ทำหน้าที่หลักในการกำหนดโครงสร้างเชิงตรรกะของฐานข้อมูล เช่น โครงสร้างของฐานข้อมูลตามที่ปรากฏแก่ผู้ใช้ DML มีชุดตัวดำเนินการจัดการข้อมูล เช่น โอเปอเรเตอร์ที่อนุญาตให้คุณป้อนข้อมูลลงในฐานข้อมูล ลบ แก้ไข หรือเลือกข้อมูลที่มีอยู่

DBMS สมัยใหม่มักจะสนับสนุนภาษาเดียวที่รวมเครื่องมือที่จำเป็นทั้งหมดสำหรับการทำงานกับฐานข้อมูล เริ่มตั้งแต่การสร้าง และจัดเตรียมส่วนต่อประสานผู้ใช้ขั้นพื้นฐานกับฐานข้อมูล ภาษามาตรฐานของ DBMS เชิงสัมพันธ์ที่พบบ่อยที่สุดในปัจจุบันคือ SQL (Structured Query Language)

ฟังก์ชันหลักของ DBMS เชิงสัมพันธ์ที่ได้รับการสนับสนุนเมื่อใช้อินเทอร์เฟซ SQL คือ:

ประการแรก ภาษา SQL รวมเครื่องมือของ SDL และ DML เช่น ช่วยให้คุณสามารถกำหนดสคีมาฐานข้อมูลเชิงสัมพันธ์และจัดการข้อมูล ในเวลาเดียวกัน การตั้งชื่ออ็อบเจ็กต์ฐานข้อมูล (สำหรับฐานข้อมูลเชิงสัมพันธ์ - การตั้งชื่อตารางและคอลัมน์) ได้รับการสนับสนุนในระดับภาษาในแง่ที่ว่าคอมไพเลอร์ SQL จะแปลงชื่ออ็อบเจ็กต์เป็นตัวระบุภายในตามตารางแค็ตตาล็อกบริการที่ได้รับการสนับสนุนเป็นพิเศษ ส่วนภายในของ DBMS (เคอร์เนล) ใช้ไม่ได้กับชื่อของตารางและคอลัมน์เลย

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

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

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