ฐานข้อมูลและส่วนย่อย ข้อจำกัดและกฎเกณฑ์ ผลการทดลองคอมพิวเตอร์และการวิเคราะห์

DBMS หลังความสัมพันธ์ วัตถุ DBMS ข้อเสียของ DBMS เชิงสัมพันธ์ แนวคิดพื้นฐานของ DBMS เชิงวัตถุ

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

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

ข้อเสียอื่นๆ ของ DBMS เชิงสัมพันธ์มีดังต่อไปนี้:

· ความไม่ยืดหยุ่นของโครงสร้างในการพัฒนาฐานข้อมูล

ความยากลำบากในการก่อสร้าง โมเดลแนวความคิดสำหรับวัตถุที่มีความสัมพันธ์แบบกลุ่มต่อกลุ่มจำนวนมาก

· การแสดงตารางที่ไม่เป็นธรรมชาติสำหรับอาร์เรย์ข้อมูลที่กระจัดกระจาย

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

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

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

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

4. ความแตกต่าง: หลายคลาสสามารถมีเมธอดและชื่อคุณสมบัติเดียวกันได้ แม้ว่าจะถือว่าต่างกันก็ตาม สิ่งนี้ทำให้คุณสามารถเขียนวิธีการเข้าถึงที่จะทำงานอย่างถูกต้องกับอ็อบเจ็กต์ของคลาสที่แตกต่างกันโดยสิ้นเชิง ตราบใดที่มีการกำหนดวิธีการและคุณสมบัติที่สอดคล้องกันในคลาสเหล่านี้

5. ข้อความ: การโต้ตอบกับวัตถุทำได้โดยการส่งข้อความที่มีความเป็นไปได้ที่จะรับการตอบกลับ

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

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

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

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

DBMS เชิงวัตถุ ได้แก่ Oracle Database และ PostgreSQL; ความแตกต่างระหว่างเชิงวัตถุและ วัตถุ DBMS: แบบแรกเป็นโครงสร้างส่วนบนเหนือสคีมาเชิงสัมพันธ์ ในขณะที่แบบหลังเป็นแบบเชิงวัตถุในตอนแรก

การเข้าถึงวัตถุใน DBMS.1 เชิงสัมพันธ์) DBMS กำหนดหน้าใน อุปกรณ์ภายนอกที่เก็บข้อมูลที่มีบันทึกที่จำเป็น การใช้กลไกดัชนีหรือทำการสแกนตารางทั้งหมด จากนั้น DBMS จะอ่านหน้านี้จากอุปกรณ์จัดเก็บข้อมูลภายนอกและคัดลอกไปยัง CACHE 2 DBMS จะถ่ายโอนข้อมูลจาก CACHE ไปยังพื้นที่หน่วยความจำของแอปพลิเคชันตามลำดับ ซึ่งอาจต้องมีการแปลงประเภท ข้อมูล SQLลงในประเภทข้อมูลแอปพลิเคชัน แอปพลิเคชันสามารถอัปเดตค่าฟิลด์ในพื้นที่หน่วยความจำได้ 3. ช่องข้อมูลที่แก้ไขโดยแอปพลิเคชันโดยวิธีการ ภาษา SQLจะถูกโอนกลับไปยัง DBMS CACHE ในระหว่างนี้อาจจำเป็นต้องทำการแปลงชนิดข้อมูลอีกครั้ง 4. DBMS จะบันทึกเพจที่อัพเดตบนอุปกรณ์จัดเก็บข้อมูลภายนอกโดยการเขียนใหม่จาก CACHE

การเข้าถึงวัตถุใน OODBMS 1. ค้นหา OODBMSโดยจะพิมพ์หน้าที่ประกอบด้วยออบเจ็กต์ที่ต้องการบนอุปกรณ์จัดเก็บข้อมูลภายนอก โดยใช้ดัชนีหากจำเป็น จากนั้น OODBMS จะอ่านเพจที่ต้องการจากอุปกรณ์จัดเก็บข้อมูลภายนอก และคัดลอกไปยังเพจ CACHE ของแอปพลิเคชัน ซึ่งอยู่ภายในหน่วยความจำที่จัดสรรให้กับแอปพลิเคชัน 2. OODBMS มสามารถทำการแปลงได้หลายอย่าง: 1. การทดแทนการอ้างอิง (พอยน์เตอร์) ของวัตถุหนึ่งไปยังอีกวัตถุหนึ่ง 2. การแนะนำข้อมูลออบเจ็กต์ของข้อมูลที่จำเป็นเพื่อให้แน่ใจว่าสอดคล้องกับข้อกำหนดของภาษาการเขียนโปรแกรม 3. การเปลี่ยนรูปแบบการนำเสนอข้อมูลที่สร้างขึ้นบนแพลตฟอร์มฮาร์ดแวร์หรือภาษาการเขียนโปรแกรมที่แตกต่างกัน 3. แอปพลิเคชันดำเนินการเข้าถึงวัตถุและอัปเดตตามความจำเป็น 4. เมื่อสมัครแล้วต้องทำ มีการเปลี่ยนแปลงยกเลิกการโหลดเพจแบบถาวรหรือชั่วคราวจาก CACHE ไปยังดิสก์ จากนั้นก่อนที่จะคัดลอกเพจไปยังอุปกรณ์จัดเก็บข้อมูลภายนอก OODBMS ต้องทำการแปลงย้อนกลับคล้ายกับที่อธิบายไว้ข้างต้น



ตั๋วหมายเลข 27

ความสมดุลทางเศรษฐกิจ กิจกรรมทางธุรกิจขององค์กร ความสมดุลทางการเงินขององค์กร ผลเลเวอเรจ การวิเคราะห์ระดับหนี้ การวิเคราะห์กระแสเงินสดในกิจกรรมการผลิต

กิจกรรมทางธุรกิจขององค์กรมักมีลักษณะตามความเข้มข้นของการใช้เงินทุนที่ลงทุน (ในประเทศ) ในการผลิต ทุนมีการเคลื่อนไหวอย่างต่อเนื่อง โดยย้ายจากวงจรหนึ่งไปยังอีกวงจรหนึ่ง นั่นคือ นำเทคโนโลยี D®T®…®P®…T®D มาใช้" เงิน สินค้า

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

ประเมินประสิทธิภาพของการใช้เงินลงทุนโดยการคำนวณตัวชี้วัดดังต่อไปนี้

DBMS เชิงสัมพันธ์ – DBMS ที่จัดการฐานข้อมูลเชิงสัมพันธ์

โมเดลเชิงสัมพันธ์มุ่งเน้นไปที่การจัดระเบียบข้อมูลในรูปแบบของตารางสองมิติ แต่ละตารางเชิงสัมพันธ์เป็นอาร์เรย์สองมิติและมีคุณสมบัติดังต่อไปนี้:

    แต่ละองค์ประกอบของตารางคือองค์ประกอบข้อมูลเดียว

    เซลล์ทั้งหมดในคอลัมน์ตารางเป็นเนื้อเดียวกัน นั่นคือองค์ประกอบทั้งหมดในคอลัมน์เป็นประเภทเดียวกัน (ตัวเลข ตัวอักษร ฯลฯ)

    แต่ละคอลัมน์มีชื่อไม่ซ้ำกัน

    ไม่มีแถวที่เหมือนกันในตาราง

    ลำดับของแถวและคอลัมน์สามารถกำหนดเองได้

แถวของตารางเรียกว่าระเบียน คอลัมน์เรียกว่าเขตข้อมูล

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

คีย์ต่างประเทศ คีย์ต่างประเทศ) – ฟิลด์ตารางที่ออกแบบมาเพื่อจัดเก็บค่าของคีย์หลักของตารางอื่นเพื่อจัดระเบียบความสัมพันธ์ระหว่างตารางเหล่านี้

ให้มีตาราง A และ B ตาราง A มีฟิลด์ a, b, c, d ซึ่งฟิลด์ a เป็นคีย์หลัก ตาราง B มีฟิลด์ x, y, z เขตข้อมูล y มีค่าของเขตข้อมูล a ของหนึ่งในระเบียนในตาราง A ในกรณีนี้ เขตข้อมูล y เรียกว่าคีย์นอกของตาราง A ในตาราง B

แบบสอบถาม SQL นี้จะส่งคืนคู่ระเบียนที่เกี่ยวข้องทั้งหมดจากตาราง A และ B:

เลือก * จาก A, B โดยที่ A.a = B.y;

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

DBMS รองรับการควบคุมความสมบูรณ์ของการอ้างอิงอัตโนมัติบนคีย์ต่างประเทศ

ประเภทของความสัมพันธ์ของตาราง

ความสัมพันธ์ของตารางมีสามประเภท

การเชื่อมต่อกับความสัมพันธ์แบบหนึ่งต่อกลุ่ม เป็นความสัมพันธ์ประเภทที่ใช้บ่อยที่สุดระหว่างตาราง ในความสัมพันธ์ดังกล่าว แต่ละเรกคอร์ดในตาราง A สามารถมีได้หลายเรกคอร์ดในตาราง B และเรกคอร์ดในตาราง B ไม่สามารถมีเรกคอร์ดที่สอดคล้องกันได้มากกว่าหนึ่งรายการในตาราง A ตัวอย่างเช่น พนักงานหลายคนสามารถทำงานในแผนกเดียวได้ แต่ไม่มีพนักงานคนใดสามารถทำได้ ทำงานในหลายแผนกพร้อมกัน สัญกรณ์ที่ยอมรับ (1 – ∞)

ความสัมพันธ์แบบกลุ่มต่อกลุ่ม ในความสัมพันธ์นี้ หนึ่งระเบียนในตาราง A สามารถสอดคล้องกับหลายระเบียนในตาราง B และหนึ่งระเบียนในตาราง B สามารถสอดคล้องกับหลายระเบียนในตาราง A รูปแบบนี้ถูกนำมาใช้เฉพาะด้วยความช่วยเหลือของตารางที่สาม (การเชื่อมโยง) เท่านั้น ที่สำคัญประกอบด้วย อย่างน้อยของสองฟิลด์ที่เป็นเขตข้อมูลคีย์นอกในตาราง A และ B ตัวอย่างเช่น ความสัมพันธ์ระหว่างตาราง Inspectors และ Border Crossers ถูกกำหนดโดยความสัมพันธ์แบบกลุ่มต่อกลุ่ม ผู้ตรวจสอบหลายคนสามารถขอคำปรึกษาจากผู้ประกาศคนหนึ่งได้ในขณะเดียวกันผู้ตรวจสอบสามารถให้บริการได้หลายคน ความสัมพันธ์ดังกล่าวถูกกำหนดโดยการสร้างความสัมพันธ์สองความสัมพันธ์ที่มีความสัมพันธ์แบบหนึ่งต่อกลุ่มสำหรับตาราง Inspector_Declarant ซึ่งจะต้องมีฟิลด์ Inspector Key และ Declarant Key

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

ในบทความนี้ เราจะเริ่มซีรีส์ใหม่ที่เกี่ยวข้องกับฐานข้อมูล เทคโนโลยีสมัยใหม่สำหรับการเข้าถึงและประมวลผลข้อมูล ในระหว่างรอบนี้ เราวางแผนที่จะพิจารณาระบบจัดการฐานข้อมูลบนเดสก์ท็อปและเซิร์ฟเวอร์ (DBMS) ที่ได้รับความนิยมสูงสุด กลไกการเข้าถึงข้อมูล (DB เก่า, ADO, BDE ฯลฯ) และยูทิลิตี้สำหรับการทำงานกับฐานข้อมูล (เครื่องมือการดูแลระบบ ตัวสร้างรายงาน เครื่องมือแบบกราฟิก การนำเสนอข้อมูล) นอกจากนี้ เราวางแผนที่จะให้ความสำคัญกับวิธีการเผยแพร่ข้อมูลบนอินเทอร์เน็ต รวมถึงวิธีการประมวลผลและจัดเก็บข้อมูลยอดนิยม เช่น OLAP (On-Line Analytical Processing) และการสร้างคลังข้อมูล (Data Warehousing)

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

แนวคิดพื้นฐานของฐานข้อมูลเชิงสัมพันธ์

เริ่มจากแนวคิดพื้นฐานของ DBMS และ แนะนำสั้น ๆเข้าสู่ทฤษฎีฐานข้อมูลเชิงสัมพันธ์ - วิธีการจัดเก็บข้อมูลที่ได้รับความนิยมมากที่สุดในปัจจุบัน

แบบจำลองข้อมูลเชิงสัมพันธ์

แบบจำลองข้อมูลเชิงสัมพันธ์ถูกเสนอโดย Dr. E.F. Codd นักวิจัยฐานข้อมูลที่มีชื่อเสียง ในปี 1969 ขณะที่เขาเป็นพนักงานของ IBM แนวคิดพื้นฐานของแบบจำลองนี้เผยแพร่ครั้งแรกในปี 1970 “แบบจำลองเชิงสัมพันธ์ของข้อมูลสำหรับธนาคารข้อมูลที่ใช้ร่วมกันขนาดใหญ่”, CACM, 1970, 13 N 6)

ฐานข้อมูลเชิงสัมพันธ์เป็นคลังข้อมูลที่มีชุดตารางสองมิติ ชุดเครื่องมือสำหรับจัดการพื้นที่เก็บข้อมูลดังกล่าวเรียกว่า ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS)- RDBMS อาจประกอบด้วยยูทิลิตี้ แอปพลิเคชัน บริการ ไลบรารี เครื่องมือสร้างแอปพลิเคชัน และส่วนประกอบอื่นๆ

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

แถวของตารางมีข้อมูลเกี่ยวกับข้อเท็จจริงที่นำเสนอ (หรือเอกสารหรือบุคคล - เกี่ยวกับวัตถุประเภทเดียวกัน) ที่จุดตัดของคอลัมน์และแถวคือค่าเฉพาะที่มีอยู่ในข้อมูลในตาราง

ข้อมูลในตารางเป็นไปตามหลักการดังต่อไปนี้:

  1. แต่ละค่าที่จุดตัดของแถวและคอลัมน์ต้องเป็นค่าเดียวกัน อะตอม(นั่นคือไม่ได้แบ่งออกเป็นหลายค่า)
  2. ค่าข้อมูลในคอลัมน์เดียวกันจะต้องเป็นประเภทเดียวกันกับที่ใช้ใน DBMS ที่กำหนด
  3. แต่ละระเบียนในตารางไม่ซ้ำกัน นั่นคือไม่มีสองระเบียนในตารางที่มีชุดค่าที่ตรงกันทั้งหมดสำหรับฟิลด์
  4. แต่ละฟิลด์มีชื่อไม่ซ้ำกัน
  5. ลำดับของเขตข้อมูลในตารางไม่สำคัญ
  6. ลำดับของรายการก็ไม่มีสาระสำคัญเช่นกัน

แม้ว่าแถวของตารางจะถือว่าไม่เรียงลำดับ แต่ระบบการจัดการฐานข้อมูลใด ๆ ก็ช่วยให้คุณสามารถเรียงลำดับแถวและคอลัมน์ในส่วนที่เลือกได้ตามความต้องการของผู้ใช้

เนื่องจากลำดับของคอลัมน์ในตารางไม่สำคัญ จึงมีการอ้างถึงตามชื่อ และชื่อเหล่านี้จะไม่ซ้ำกันสำหรับตารางที่ระบุ (แต่ไม่จำเป็นต้องไม่ซ้ำกันสำหรับฐานข้อมูลทั้งหมด)

ตอนนี้เรารู้แล้วว่าฐานข้อมูลเชิงสัมพันธ์ประกอบด้วยตาราง เพื่ออธิบายประเด็นทางทฤษฎีและสร้างตัวอย่าง เราจำเป็นต้องเลือกฐานข้อมูลบางประเภท เพื่อไม่ให้ "สร้างวงล้อใหม่" เราจะใช้ฐานข้อมูล NorthWind ที่รวมอยู่ในแพ็คเกจ ไมโครซอฟต์ เอสคิวแอลเซิร์ฟเวอร์และ ไมโครซอฟต์ แอคเซส.

ตอนนี้เรามาดูความสัมพันธ์ระหว่างตารางกัน

กุญแจและการเชื่อมต่อ

ลองมาดูตัวอย่างข้อมูลของตารางลูกค้าจากฐานข้อมูล NorthWind (เราได้ลบฟิลด์ที่ไม่จำเป็นในการแสดงความสัมพันธ์ระหว่างตาราง)

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

ถ้าคีย์หลักมีมากกว่าหนึ่งคอลัมน์ จะถูกเรียก คีย์หลักแบบผสม (คีย์หลักแบบผสม).

ฐานข้อมูลทั่วไปมักประกอบด้วยตารางที่เกี่ยวข้องกันหลายตาราง ส่วนของตารางคำสั่งซื้อ

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

- ดังที่คุณเห็น ในกรณีของตารางคำสั่งซื้อ Foreign Key คือคอลัมน์ CustomerID (รูปที่ 1) กล่าวอีกนัยหนึ่งคีย์ต่างประเทศ

คือคอลัมน์หรือชุดของคอลัมน์ที่มีค่าตรงกับค่าที่มีอยู่ของคีย์หลักของตารางอื่น ความสัมพันธ์ระหว่างตารางนี้เรียกว่า (การสื่อสารความสัมพันธ์

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

ตารางหลัก เรียกว่ากลุ่มของตารางที่เกี่ยวข้องกันโครงการ ฐานข้อมูล (- ข้อมูลเกี่ยวกับตาราง คอลัมน์ (ชื่อ ประเภทข้อมูล ความยาวฟิลด์) คีย์หลักและคีย์นอก รวมถึงวัตถุฐานข้อมูลอื่น ๆ เรียกว่า ข้อมูลเมตา (ข้อมูลเมตา).

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

ความสมบูรณ์ของการอ้างอิง

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

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

DBMS ที่ทันสมัยที่สุด เช่น Microsoft Access 97, Microsoft Access 2000 และ Microsoft เซิร์ฟเวอร์ SQL 7.0 สามารถตรวจสอบการปฏิบัติตามกฎ Referential Integrity หากมีการอธิบายไว้ในฐานข้อมูล เพื่อจุดประสงค์นี้ DBMS ดังกล่าวใช้วัตถุฐานข้อมูลต่างๆ (เราจะหารือเกี่ยวกับเรื่องนี้ในภายหลัง) ในกรณีนี้ ความพยายามทั้งหมดในการละเมิดกฎ Referential Integrity จะถูกระงับด้วยการสร้างข้อความวินิจฉัยหรือข้อยกเว้นพร้อมกัน ( ข้อยกเว้นของฐานข้อมูล).

ข้อมูลเบื้องต้นเกี่ยวกับการทำให้ข้อมูลเป็นมาตรฐาน

กระบวนการออกแบบข้อมูลคือคำจำกัดความของเมตาดาต้าตามวัตถุประสงค์ของระบบสารสนเทศที่จะใช้ฐานข้อมูลในอนาคต รายละเอียดเกี่ยวกับวิธีการวิเคราะห์โดเมนและสร้างไดอะแกรมความสัมพันธ์เอนทิตี ( ERD - ไดอะแกรมความสัมพันธ์เอนทิตี) และแบบจำลองข้อมูลอยู่นอกเหนือขอบเขตของวงจรนี้ ผู้ที่สนใจในประเด็นเหล่านี้สามารถอ้างอิงถึงหนังสือของ K. J. Date “Introduction to Database Systems” (Dialectics, Kyiv, 1998) เป็นต้น

ในบทความนี้เราจะพูดถึงหลักการพื้นฐานของการออกแบบข้อมูลเพียงข้อเดียวเท่านั้น - หลักการ การทำให้เป็นมาตรฐาน.

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

ทฤษฎีการทำให้เป็นมาตรฐานมีพื้นฐานมาจากแนวคิดของรูปแบบปกติ กล่าวกันว่าตารางจะอยู่ในรูปแบบปกติที่กำหนดหากเป็นไปตามข้อกำหนดบางชุด ตามทฤษฎีมีรูปแบบปกติอยู่ห้ารูปแบบ แต่ในทางปฏิบัติมักใช้เพียงสามรูปแบบแรกเท่านั้น นอกจากนี้ สองแบบฟอร์มปกติแรกยังเป็นขั้นตอนกลางที่สำคัญในการนำฐานข้อมูลเข้าสู่รูปแบบปกติที่สาม

แบบฟอร์มปกติครั้งแรก

เรามาอธิบายกระบวนการทำให้เป็นมาตรฐานด้วยตัวอย่างโดยใช้ข้อมูลจากฐานข้อมูล NorthWind สมมติว่าเราบันทึกผลิตภัณฑ์ที่สั่งซื้อทั้งหมดไว้ในตารางต่อไปนี้ โครงสร้างของตารางนี้มีดังนี้ (รูปที่ 2)

เพื่อให้ตารางเป็นไปตามรูปแบบปกติแรก ค่าฟิลด์ทั้งหมดต้องเป็นอะตอมมิก และ

บันทึกทั้งหมดไม่ซ้ำกัน ดังนั้น ตามคำจำกัดความ ตารางเชิงสัมพันธ์ใดๆ รวมถึงตาราง OrderedProducts จะอยู่ในรูปแบบปกติแรกอยู่แล้ว

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

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

ปัญหาเหล่านี้บางส่วนสามารถแก้ไขได้ด้วยการจัดตำแหน่งฐานข้อมูล แบบฟอร์มปกติที่สอง.

แบบฟอร์มปกติที่สอง

ว่ากันว่ามีตารางเชิงสัมพันธ์เข้ามา แบบฟอร์มปกติที่สองหากอยู่ในรูปแบบปกติครั้งแรกและฟิลด์ที่ไม่ใช่คีย์ ขึ้นอยู่กับอย่างสมบูรณ์จากคีย์หลักทั้งหมด

ตาราง OrderedProducts อยู่ในรูปแบบปกติรูปแบบแรก แต่ไม่ใช่รูปแบบปกติรูปแบบที่สอง เนื่องจากเขตข้อมูล CustomerID ที่อยู่ และ OrderDate ขึ้นอยู่กับเขตข้อมูล OrderID เท่านั้น ซึ่งเป็นส่วนหนึ่งของคีย์หลักแบบผสม (OrderID, ProductID)

หากต้องการย้ายจากแบบฟอร์มปกติแรกไปเป็นรูปแบบปกติที่สอง คุณต้องทำตามขั้นตอนเหล่านี้:

  1. พิจารณาว่าส่วนใดของคีย์หลักที่สามารถแบ่งออกเป็นส่วนต่างๆ ได้ เพื่อให้ฟิลด์ที่ไม่ใช่คีย์บางส่วนขึ้นอยู่กับส่วนใดส่วนหนึ่งเหล่านี้ ( ส่วนเหล่านี้ไม่จำเป็นต้องประกอบด้วยคอลัมน์เดียว!).
  2. สร้าง ตารางใหม่สำหรับแต่ละส่วนของคีย์และกลุ่มฟิลด์ที่ขึ้นอยู่กับคีย์และย้ายไปยังตารางนี้ ส่วนหนึ่งของคีย์หลักเดิมจะกลายเป็นคีย์หลักของตารางใหม่
  3. ลบฟิลด์ออกจากตารางต้นฉบับที่ถูกย้ายไปยังตารางอื่น ยกเว้นฟิลด์ที่จะกลายเป็นคีย์นอก

ตัวอย่างเช่น หากต้องการนำตาราง OrderedProducts ไปสู่รูปแบบปกติที่สอง คุณจะต้องย้ายฟิลด์ CustomerID, Address และ OrderDate ไปยังตารางใหม่ (ขอเรียกมันว่า OrderInfo) และฟิลด์ OrderID จะกลายเป็นคีย์หลักของตารางใหม่ (รูปที่ .3).

ดังนั้นตารางใหม่จะมีลักษณะเช่นนี้ อย่างไรก็ตาม ตารางที่อยู่ในรูปแบบปกติที่สองแต่ไม่ใช่รูปแบบปกติที่สามยังคงมีความผิดปกติของการปรับเปลี่ยนข้อมูล ต่อไปนี้คือตัวอย่างสำหรับตาราง OrderInfo:

  • ที่อยู่ของลูกค้าที่เฉพาะเจาะจงจะยังคงอยู่ในฐานข้อมูลเมื่อลูกค้าสั่งซื้อสินค้าอย่างน้อยหนึ่งรายการเท่านั้น
  • การลบรายการคำสั่งซื้อในตาราง OrderInfo จะส่งผลให้มีการลบรายการสำหรับลูกค้าเอง
  • หากลูกค้าเปลี่ยนที่อยู่ จะต้องอัปเดตบันทึกหลายรายการ (แม้ว่าตามกฎแล้วจะมีบันทึกน้อยกว่าในกรณีก่อนหน้า)

ความผิดปกติเหล่านี้สามารถกำจัดได้ด้วยการย้ายไปที่ แบบฟอร์มปกติที่สาม.

แบบฟอร์มปกติที่สาม

กล่าวกันว่ามีตารางเชิงสัมพันธ์อยู่ แบบฟอร์มปกติที่สามหากอยู่ในรูปแบบ Second Normal และฟิลด์ที่ไม่ใช่คีย์ทั้งหมดจะขึ้นอยู่กับคีย์หลักเท่านั้น

ตาราง OrderDetails อยู่ในรูปแบบปกติที่สามแล้ว ฟิลด์จำนวนที่ไม่ใช่คีย์จะขึ้นอยู่กับคีย์หลักแบบผสม (OrderID, ProductID) ทั้งหมด อย่างไรก็ตาม ตาราง OrderInfo ไม่ได้อยู่ในรูปแบบปกติที่สาม เนื่องจากมีการอ้างอิงระหว่างเขตข้อมูลที่ไม่ใช่คีย์ (เรียกว่า การพึ่งพาอาศัยสกรรมกริยา- การพึ่งพาสกรรมกริยา) - ฟิลด์ที่อยู่ขึ้นอยู่กับฟิลด์ CustomerID

หากต้องการย้ายจากแบบฟอร์มปกติที่สองไปเป็นแบบฟอร์มปกติที่สาม คุณต้องทำตามขั้นตอนเหล่านี้:

  • กำหนดฟิลด์ทั้งหมด (หรือกลุ่มของฟิลด์) ที่ฟิลด์อื่นต้องพึ่งพา
  • สร้างตารางใหม่สำหรับแต่ละเขตข้อมูลดังกล่าว (หรือกลุ่มของเขตข้อมูล) และกลุ่มของเขตข้อมูลที่ขึ้นอยู่กับเขตข้อมูลนั้น และย้ายไปยังตารางนี้ เขตข้อมูล (หรือกลุ่มของเขตข้อมูล) ที่เขตข้อมูลที่ถูกย้ายอื่นๆ ทั้งหมดขึ้นอยู่กับจะกลายเป็นคีย์หลักของตารางใหม่
  • ลบเขตข้อมูลที่ย้ายออกจากตารางต้นฉบับ เหลือเฉพาะเขตข้อมูลที่จะกลายเป็นคีย์นอกเท่านั้น

หากต้องการนำตาราง OrderInfo เป็นรูปแบบปกติที่สาม ให้สร้างตารางลูกค้าใหม่และย้ายฟิลด์ CustomerID และที่อยู่ไปที่ตารางนั้น เราจะลบฟิลด์ที่อยู่ออกจากตารางต้นฉบับและปล่อยให้ฟิลด์ CustomerID - ตอนนี้เป็นคีย์ต่างประเทศ (รูปที่ 4)

ดังนั้น หลังจากที่นำตารางดั้งเดิมมาเป็นรูปแบบปกติที่สามแล้ว ก็จะมีตารางอยู่สามตาราง ได้แก่ ลูกค้า คำสั่งซื้อ และรายละเอียดคำสั่งซื้อ

ประโยชน์ของการทำให้เป็นมาตรฐาน

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

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

การเปลี่ยนที่อยู่ของลูกค้าหรือวันที่ลงทะเบียนคำสั่งซื้อในขณะนี้จำเป็นต้องเปลี่ยนเพียงบันทึกเดียวเท่านั้น

ฐานข้อมูลได้รับการออกแบบอย่างไร

โดยทั่วไปแล้ว DBMS สมัยใหม่จะมีเครื่องมือที่ช่วยให้คุณสามารถสร้างตารางและคีย์ได้ นอกจากนี้ยังมียูทิลิตี้ที่จัดหาแยกต่างหากจาก DBMS (และแม้แต่การให้บริการ DBMS ที่แตกต่างกันหลายรายการพร้อมกัน) ซึ่งช่วยให้คุณสามารถสร้างตาราง คีย์ และความสัมพันธ์ได้

อีกวิธีหนึ่งในการสร้างตาราง คีย์ และความสัมพันธ์ในฐานข้อมูลคือการเขียนสิ่งที่เรียกว่าสคริปต์ DDL (DDL - Data Definition Language เราจะพูดถึงมันในภายหลัง)

สุดท้ายนี้ยังมีอีกวิธีหนึ่งที่กำลังได้รับความนิยมมากขึ้นเรื่อยๆ นั่นก็คือ การใช้เครื่องมือพิเศษที่เรียกว่า CASE tools (CASE ย่อมาจาก Computer-Aided System Engineering) เครื่องมือ CASE มีหลายประเภท แต่เครื่องมือที่ใช้บ่อยที่สุดสำหรับการสร้างฐานข้อมูลคือ ไดอะแกรมความสัมพันธ์เอนทิตี (ไดอะแกรม E/R) ด้วยความช่วยเหลือของเครื่องมือเหล่านี้ที่เรียกว่า ตรรกะโมเดลข้อมูลที่อธิบายข้อเท็จจริงและออบเจ็กต์ที่ต้องลงทะเบียน (ในโมเดลดังกล่าว ต้นแบบของตารางเรียกว่าเอนทิตี และฟิลด์จะเรียกว่าแอตทริบิวต์) หลังจากสร้างความสัมพันธ์ระหว่างเอนทิตี การกำหนดคุณลักษณะ และดำเนินการทำให้เป็นมาตรฐาน สิ่งที่เรียกว่า ทางกายภาพโมเดลข้อมูลสำหรับ DBMS เฉพาะ ซึ่งมีการกำหนดตาราง ฟิลด์ และออบเจ็กต์ฐานข้อมูลอื่นๆ ทั้งหมด จากนั้นคุณสามารถสร้างฐานข้อมูลเองหรือสคริปต์ DDL เพื่อสร้างฐานข้อมูลได้

รายชื่อเครื่องมือ CASE ที่ได้รับความนิยมมากที่สุดในปัจจุบัน

ตารางและเขตข้อมูล

ตารางได้รับการสนับสนุนโดย DBMS เชิงสัมพันธ์ทั้งหมด และฟิลด์ของตารางสามารถจัดเก็บข้อมูลได้ ประเภทต่างๆ- ประเภทข้อมูลที่พบบ่อยที่สุด

ดัชนี

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

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

สมมติว่า ณ จุดหนึ่งบันทึกในตารางลูกค้าถูกจัดเก็บตามลำดับนี้

สมมติว่าเราจำเป็นต้องได้รับข้อมูลนี้โดยเรียงลำดับตามฟิลด์ CustomerID

1,6,4,2,5,3

หากเราต้องการเรียงลำดับบันทึกตามช่อง Address ลำดับหมายเลขบันทึกจะแตกต่างออกไป:

5,4,1,6,2,3

การจัดเก็บดัชนีต้องใช้พื้นที่น้อยกว่าการจัดเก็บตารางเวอร์ชันที่เรียงลำดับต่างกันอย่างมาก

หากเราต้องการค้นหาข้อมูลเกี่ยวกับลูกค้าที่มี CustomerID ขึ้นต้นด้วยอักขระ "BO" เราสามารถใช้ดัชนีเพื่อค้นหาตำแหน่งของบันทึกเหล่านี้ (ใน ในกรณีนี้ 2 และ 5 (เห็นได้ชัดว่าในดัชนี ตัวเลขของบันทึกเหล่านี้ติดต่อกัน) จากนั้นอ่านบันทึกที่สองและห้าทุกประการ แทนที่จะสแกนทั้งตาราง ดังนั้นการใช้ดัชนีจึงช่วยลดเวลาในการดึงข้อมูล

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

ข้อจำกัดและกฎเกณฑ์

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

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

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

การส่งผลงาน

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

บ่อยครั้งที่วัตถุดังกล่าวถูกสร้างขึ้นเพื่อจัดเก็บแบบสอบถามที่ซับซ้อนในฐานข้อมูล อันที่จริง view เป็นการสืบค้นที่เก็บไว้

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

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

ทริกเกอร์และขั้นตอนการจัดเก็บ

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

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

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

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

ใน DBMS ส่วนใหญ่ที่รองรับทริกเกอร์ คุณสามารถกำหนดทริกเกอร์หลายตัวที่ดำเนินการเมื่อมีเหตุการณ์เดียวกันเกิดขึ้น และกำหนดลำดับของการดำเนินการได้

ออบเจ็กต์สำหรับการสร้างคีย์หลัก

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

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

DBMS บางตัวรองรับประเภทฟิลด์พิเศษสำหรับคีย์หลัก เมื่อเพิ่มบันทึก ฟิลด์ดังกล่าวจะถูกกรอกด้วยค่าตามลำดับโดยอัตโนมัติ (โดยปกติจะเป็นจำนวนเต็ม) ในกรณีของ Microsoft Access และ Microsoft SQL Server ฟิลด์ดังกล่าวจะเรียกว่าฟิลด์ Identity และในกรณีของ Corel Paradox จะเรียกว่าฟิลด์การเพิ่มอัตโนมัติ

ผู้ใช้และบทบาท

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

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

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

แบบสอบถามฐานข้อมูล

การแก้ไขและการเลือกข้อมูล การเปลี่ยนแปลงข้อมูลเมตา และการดำเนินการอื่นๆ บางอย่างดำเนินการโดยใช้แบบสอบถาม DBMS สมัยใหม่ส่วนใหญ่ (และเครื่องมือพัฒนาแอปพลิเคชันบางตัว) มีเครื่องมือสำหรับสร้างคำสั่งดังกล่าว

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

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

เคอร์เซอร์

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

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

ภาษา SQL

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

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

  • Data Definition Language (DDL) - ภาษาคำจำกัดความของข้อมูลที่ช่วยให้คุณสามารถสร้าง ลบ และเปลี่ยนแปลงอ็อบเจ็กต์ในฐานข้อมูลได้
  • Data Manipulation Language (DML) - ภาษาการจัดการข้อมูลที่ช่วยให้คุณสามารถแก้ไข เพิ่ม และลบข้อมูลในออบเจ็กต์ฐานข้อมูลที่มีอยู่
  • Data Control Languages ​​​​(DCL) - ภาษาที่ใช้ในการควบคุมสิทธิ์ของผู้ใช้
  • ภาษาควบคุมธุรกรรม (TCL) - ภาษาสำหรับจัดการการเปลี่ยนแปลงที่ทำโดยกลุ่มผู้ปฏิบัติงาน
  • Cursor Control Language (CCL) - คำสั่งสำหรับกำหนดเคอร์เซอร์ การเตรียมคำสั่ง SQL สำหรับการดำเนินการ และการดำเนินการอื่นๆ

เราจะบอกคุณเพิ่มเติมเกี่ยวกับภาษา SQL ในหนึ่งในนั้น บทความถัดไปรอบนี้

ฟังก์ชั่นที่ผู้ใช้กำหนด

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

เนื่องจากฟังก์ชันที่ผู้ใช้กำหนดมีอยู่ในไลบรารี จึงสามารถสร้างได้โดยใช้เครื่องมือการพัฒนาใดๆ ที่ช่วยให้คุณสามารถสร้างไลบรารีสำหรับแพลตฟอร์มที่ DBMS ทำงาน

การทำธุรกรรม

ธุรกรรมคือกลุ่มการดำเนินการกับข้อมูลที่ดำเนินการร่วมกันหรือยกเลิกร่วมกัน

การดำเนินการธุรกรรมหมายความว่าการดำเนินการทั้งหมดที่รวมอยู่ในธุรกรรมเสร็จสมบูรณ์แล้ว และผลงานได้รับการบันทึกลงในฐานข้อมูลแล้ว

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

ธุรกรรมอาจประกอบด้วยธุรกรรมที่ซ้อนกันหลายรายการ

DBMS บางตัวรองรับการคอมมิตแบบสองเฟส ซึ่งเป็นกระบวนการที่อนุญาตให้ทำธุรกรรมบนฐานข้อมูลหลาย ๆ อันที่เป็นของ DBMS เดียวกัน

เพื่อรองรับธุรกรรมแบบกระจาย (นั่นคือธุรกรรมบนฐานข้อมูลที่จัดการโดย DBMS ที่แตกต่างกัน) วิธีพิเศษเรียกว่าการตรวจสอบธุรกรรม

บทสรุป

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

ในบทความถัดไป เราจะแนะนำผู้อ่านของเราให้รู้จักกับ DBMS บนเดสก์ท็อปยอดนิยม: dBase, Paradox, Access, Visual FoxPro, Works และหารือเกี่ยวกับความสามารถหลักของพวกเขา

คอมพิวเตอร์กด 3"2000

ในบทนี้เราจะเน้นและกำหนดลักษณะคลาสหลักของ DBMS

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

DBMS รุ่นก่อนหน้า เช่น ลำดับชั้นและเครือข่าย มีโครงสร้างแบบต้นไม้และสร้างขึ้นบนหลักการ "บรรพบุรุษ - ผู้สืบทอด" แต่ระบบดังกล่าวล้าสมัยไปแล้วและมีการใช้งานน้อยลง

DBMS เชิงสัมพันธ์แทนที่ลำดับชั้นและเครือข่าย

ลักษณะของ DBMS เชิงสัมพันธ์

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

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

แนวทางเชิงสัมพันธ์ในการสร้าง DBMS มีข้อดีหลายประการ DBMS สมัยใหม่และการประยุกต์ในภาคพลังงาน [ทรัพยากรอิเล็กทรอนิกส์] - โหมดการเข้าถึง: http: //masters. donntu.edu.ua/2010/etf/baydak/library/article2 htm - หมวก จากหน้าจอ:

ความพร้อมใช้งาน ชุดเล็กนามธรรมที่ทำให้สามารถจำลองโดเมนปัญหาที่พบบ่อยที่สุดในวิธีที่ค่อนข้างง่ายและให้คำจำกัดความอย่างเป็นทางการที่แม่นยำในขณะที่ยังคงสัญชาตญาณ

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

ความเป็นไปได้ของการจัดการข้อมูลที่ไม่ใช่การนำทางโดยไม่จำเป็นต้องมีความรู้เฉพาะด้าน องค์กรทางกายภาพฐานข้อมูลในหน่วยความจำภายนอก

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

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

หลักการสำคัญของโมเดลเชิงสัมพันธ์คือการกำจัดฟิลด์และกลุ่มที่ซ้ำกันผ่านกระบวนการที่เรียกว่าการทำให้เป็นมาตรฐาน ตารางนอร์มัลไลซ์แบบเรียบเป็นแบบสากล เข้าใจง่าย และเพียงพอในทางทฤษฎีสำหรับการนำเสนอข้อมูลในสาขาวิชาใดๆ เหมาะอย่างยิ่งสำหรับการใช้งานที่เกี่ยวข้องกับการจัดเก็บข้อมูลและการแสดงผลในอุตสาหกรรมแบบดั้งเดิม เช่น ระบบธนาคารหรือบัญชี แต่การใช้งานในระบบที่มีพื้นฐานมากกว่า โครงสร้างที่ซับซ้อนข้อมูลมักจะเป็นเรื่องยาก สาเหตุหลักมาจากความดั้งเดิมของกลไกการจัดเก็บข้อมูลที่เป็นรากฐานของแบบจำลองเชิงสัมพันธ์ Nikitin M. ยุคของ DBMS เชิงสัมพันธ์สิ้นสุดลงแล้วหรือไม่? [ทรัพยากรอิเล็กทรอนิกส์]. - โหมดการเข้าถึง: http: //www.cnews.ru/reviews/free/marketBD/articles/articles2 shtml. - หมวก จากหน้าจอ

ปัจจุบันผู้ผลิต DBMS เชิงสัมพันธ์ที่มีชื่อเสียงมีดังต่อไปนี้ - ORACLE, Informix, IBM (DB2), Sybase, Microsoft (MS SQL Server), Progress และอื่น ๆ ในผลิตภัณฑ์ของตน ผู้ผลิต DBMS มุ่งเน้นไปที่การทำงาน ประเภทต่างๆคอมพิวเตอร์ (ตั้งแต่เมนเฟรมไปจนถึงแล็ปท็อป) และบนระบบปฏิบัติการ (OS) ต่างๆ นอกจากนี้ ผู้ผลิต DBMS ก็ไม่ได้ละเลยผลิตภัณฑ์ที่ทำงานอยู่ คอมพิวเตอร์ตั้งโต๊ะเช่น dBase, FoxPro, Access และอื่นๆ DBMS เหล่านี้ได้รับการออกแบบมาให้ทำงานบนพีซีและแก้ไขปัญหาเฉพาะที่บนพีซีเครื่องเดียวหรือพีซีกลุ่มเล็กๆ ข้อมูล DBMS มักใช้เป็น มิเรอร์ส่วนเล็กๆ ของ DBMS โดยรวมขององค์กร เพื่อลดค่าใช้จ่ายด้านฮาร์ดแวร์และทรัพยากรที่จำเป็นสำหรับการแก้ปัญหาเล็กๆ น้อยๆ

DBMS ที่แตกต่างกันทำงานภายใต้ระบบปฏิบัติการและฮาร์ดแวร์ที่แตกต่างกัน ระบบปฏิบัติการที่มีชื่อเสียงที่สุด ได้แก่ UNIX, VAX, Solaris, Windows ขึ้นอยู่กับปริมาณการจัดเก็บข้อมูล จำนวนผู้ใช้ที่ใช้งาน การเข้าถึงพร้อมกันกับข้อมูลความซับซ้อนของงาน - มีการใช้ DBMS ต่างๆบนแพลตฟอร์มต่างๆ ตัวอย่างเช่น Oracle DBMS บน Unix ที่ติดตั้งบนเซิร์ฟเวอร์แบบมัลติโปรเซสเซอร์ ช่วยให้คุณสามารถแก้ไขปัญหาในการให้ข้อมูลแก่ผู้ใช้หลายแสนคน Ponomarev I.S. ระบบการจัดการฐานข้อมูล [ทรัพยากรอิเล็กทรอนิกส์] - โหมดการเข้าถึง: http: //mathmod. aspu.ru/images/File/Ponomareva/TM10_About%20BD. pdf. - ป.2.

ปัจจุบัน DBMS ที่เน้นไปที่ระบบปฏิบัติการ Windows โดยใช้แพลตฟอร์ม Intel นั้นเป็นที่สนใจมากที่สุด

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

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

ความคิดเห็น เกี่ยวกับการเลือก DBMS การเลือก DBMS เป็นปัญหาในการเลือกหลายเกณฑ์ และไม่ได้กล่าวถึงในหลักสูตรนี้ ควรจำไว้ว่า DBMS มักจะสนับสนุนแบบจำลองข้อมูลเพียงรูปแบบเดียว: เชิงสัมพันธ์ ลำดับชั้น เครือข่าย หลายมิติ เชิงวัตถุ เชิงวัตถุเชิงสัมพันธ์ ข้อยกเว้นคือ จำนวนน้อยดีบีเอ็มเอส. ตัวอย่างเช่น ADABAS, Software AG (เครือข่ายและ โมเดลเชิงสัมพันธ์) หรือ Oracle 9i, Oracle Inc. (แบบจำลองเชิงสัมพันธ์และเชิงวัตถุสัมพันธ์) โดยปกติ เมื่อเลือก DBMS โดยความเป็นไปได้อื่นๆ ทั้งหมดเท่าเทียมกัน พวกเขาจะพยายามสร้างฐานข้อมูลบน DBMS ที่อ้างว่าเป็นมาตรฐานอุตสาหกรรม

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

จริงๆ แล้ว ระดับล่างมีวัตถุที่เล็กที่สุดที่ฐานข้อมูลเชิงสัมพันธ์ใช้งานได้ - คอลัมน์ (คอลัมน์) และแถว ในทางกลับกัน จะถูกจัดกลุ่มเป็นตารางและมุมมอง

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

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


ข้าว. 8.1.

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

ออบเจ็กต์พื้นฐานของฐานข้อมูลเชิงสัมพันธ์

คลัสเตอร์ ไดเร็กทอรี และสคีมาไม่ใช่ องค์ประกอบบังคับมาตรฐานและสภาพแวดล้อมซอฟต์แวร์สำหรับฐานข้อมูลเชิงสัมพันธ์

คลัสเตอร์คือกลุ่มของไดเร็กทอรีที่สามารถเข้าถึงได้ผ่านการเชื่อมต่อเดียวกับเซิร์ฟเวอร์ฐานข้อมูล ( ส่วนประกอบซอฟต์แวร์ดีบีเอ็มเอส)

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

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

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

ถัดไป ออบเจ็กต์ฐานข้อมูลเชิงสัมพันธ์จะถูกป้อนในบริบทของ DBMS เชิงสัมพันธ์ของ Oracle 9i แนวทางนี้ถูกนำมาใช้เพราะว่าการออกแบบ แบบจำลองทางกายภาพฐานข้อมูลเชิงสัมพันธ์ดำเนินการสำหรับสภาพแวดล้อมการใช้งานเฉพาะ

ใน Oracle 9i คำว่า Schema ใช้เพื่ออธิบายวัตถุฐานข้อมูลทั้งหมดที่สร้างขึ้นโดยผู้ใช้ สคีมาใหม่จะถูกสร้างขึ้นโดยอัตโนมัติสำหรับผู้ใช้ใหม่แต่ละคน

ออบเจ็กต์หลักในฐานข้อมูลเชิงสัมพันธ์ ได้แก่ ตาราง มุมมอง และผู้ใช้

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

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

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

เพื่อให้ง่ายต่อการระบุและตั้งชื่อออบเจ็กต์ ฐานข้อมูลสนับสนุนออบเจ็กต์ เช่น คำพ้องความหมาย ลำดับ และ

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

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

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

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

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

พื้นที่โต๊ะหรือพื้นที่ ( พื้นที่โต๊ะ)เป็นส่วนที่มีชื่อของฐานข้อมูลที่ใช้ในการจัดสรรหน่วยความจำสำหรับตารางและดัชนี ใน Oracle 9i นี่คือชื่อตรรกะของไฟล์ฟิสิคัลของระบบปฏิบัติการ ออบเจ็กต์ฐานข้อมูลทั้งหมดที่จัดเก็บข้อมูลสอดคล้องกับบางส่วน พื้นที่โต๊ะ- ออบเจ็กต์ฐานข้อมูลส่วนใหญ่ที่ไม่ได้จัดเก็บข้อมูลจะอยู่ในพจนานุกรมข้อมูล ซึ่งอยู่ในพื้นที่ตาราง SYSTEM

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

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

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

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

Stored Procedure คือออบเจ็กต์ฐานข้อมูลที่แสดงถึงชุดคำสั่ง SQL และ/หรือคำสั่งที่มีชื่อจากภาษาการเขียนโปรแกรมฐานข้อมูลเฉพาะ (เช่น SQLWindows หรือ PL/SQL)

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

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

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

ตัวจับเวลาแตกต่างจากทริกเกอร์ตรงที่เหตุการณ์ทริกเกอร์สำหรับกระบวนงานที่เก็บไว้นั้นเป็นเหตุการณ์ตัวจับเวลา

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

DBMS เชิงสัมพันธ์แบบกระจายมีออบเจ็กต์พิเศษ: สแน็ปช็อตและลิงก์ฐานข้อมูล

สแน็ปช็อต (Snapshop) คือสำเนาของตารางในฐานข้อมูลระยะไกลที่ใช้ในการจำลอง (จำลอง) ตารางหรือผลลัพธ์การสืบค้น สแนปชอตอาจสามารถแก้ไขได้หรืออ่านอย่างเดียว

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

สำหรับ การจัดการที่มีประสิทธิภาพการควบคุมการเข้าถึงข้อมูลใน Oracle ได้รับการสนับสนุนโดยอ็อบเจ็กต์บทบาท

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