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