คอมพิวเตอร์ Windows อินเทอร์เน็ต

ตัวอย่างโมเดลข้อมูลเชิงวัตถุ โมเดลฐานข้อมูลเชิงวัตถุ การสนับสนุนไม่เพียงพอสำหรับวัตถุที่ซับซ้อน

โมเดลข้อมูลเชิงวัตถุเป็นส่วนเสริมของข้อกำหนดของการเขียนโปรแกรมเชิงวัตถุ (ในขณะที่โมเดลเชิงสัมพันธ์เกิดขึ้นบนพื้นฐานของทฤษฎีเซต อย่างแม่นยำในฐานะแบบจำลองข้อมูล) มาตรฐาน ODMG-93 (Object DataBase Management Group) ได้รับการพัฒนาโดย Object-Oriented Database Management Group มาตรฐานนี้ยังไม่ได้รับการดำเนินการอย่างเต็มที่

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

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

"LIBRARY" - parent (บรรพบุรุษ) สำหรับ "SUBSCRIPTION", "CATALOG", "ISSUE";

"CATALOG" เป็นพาเรนต์ของ "BOOK"


"หนังสือ" - วัตถุที่แตกต่างกันสามารถมีผู้ปกครองคนเดียวกันหรือต่างกันได้ หากผู้ปกครองคนเดียวกัน (ผู้เขียนคนเดียว) หมายเลขสินค้าคงคลังจะต่างกัน แต่ isbn, UDC, ชื่อเรื่อง และผู้แต่งเหมือนกัน

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

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

มรดกในทางกลับกัน ขยายขอบเขตของคุณสมบัติไปยังทายาททั้งหมดของออบเจกต์ ดังนั้น ออบเจ็กต์ทั้งหมดของประเภท "BOOK" ที่เป็นทายาทของ "CATALOG" สามารถกำหนดคุณสมบัติของพาเรนต์ isbn, UDC, ชื่อและผู้แต่งได้

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

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

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

ในยุค 90 มีการสร้างต้นแบบของฐานข้อมูลเชิงวัตถุที่ทำงานอยู่ เหล่านี้คือ กวี (กวีซอฟท์แวร์), จัสมิน (สมาคมคอมพิวเตอร์), ไอริส, ORION, POSTGRES

หัวข้อ 5

แนวทางเชิงสัมพันธ์ในการสร้างแบบจำลองข้อมูลเชิงตรรกะ: แนวคิดพื้นฐาน

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

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

แนวคิดเชิงทฤษฎีหลักของแบบจำลองเชิงสัมพันธ์ถูกนำเสนอในงานเกี่ยวกับทฤษฎีความสัมพันธ์โดยนักตรรกวิทยาชาวอเมริกัน Charles Souders Peirce (1839-1914) และนักตรรกวิทยาชาวเยอรมัน Ernst Schroeder (1841-1902) รวมถึง Edgar Codd นักคณิตศาสตร์ชาวอเมริกัน .

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

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

แนวคิดพื้นฐานของโมเดลเชิงสัมพันธ์มีอยู่ในตาราง 3.1.

ออบเจ็กต์ของโมเดลเชิงสัมพันธ์ส่วนใหญ่เป็นตาราง (ความสัมพันธ์) รับรองความสมบูรณ์ของข้อมูลด้วยคีย์ภายนอกและคีย์หลัก (ดูหน้า "ความสมบูรณ์ของข้อมูลเชิงสัมพันธ์")

ตัวดำเนินการในโมเดลเชิงสัมพันธ์คือชุดคำสั่งที่ดึงและจัดการข้อมูล

ตารางที่ 5.1. องค์ประกอบของแบบจำลองเชิงสัมพันธ์

คำศัพท์แบบจำลองเชิงสัมพันธ์ คำอธิบาย
ฐานข้อมูล (DB) ชุดของตารางและวัตถุอื่น ๆ ที่จำเป็นสำหรับการแสดงหัวข้อที่เลือกอย่างเป็นนามธรรม
DB schema ชุดของส่วนหัวของตารางที่เกี่ยวข้องกัน
ทัศนคติ ตาราง - ชุดของวัตถุในโลกแห่งความเป็นจริงซึ่งมีคุณสมบัติและลักษณะทั่วไป (เขตข้อมูลตาราง)
ส่วนหัวของความสัมพันธ์ ส่วนหัวของตาราง - ชื่อของเขตข้อมูล (คอลัมน์) ของตาราง
ความสัมพันธ์ของร่างกาย เนื้อหาตาราง - ชุดของค่าสำหรับวัตถุทั้งหมดในโลกแห่งความเป็นจริงซึ่งสามารถแสดงเป็นระเบียนของตาราง (แถวของตาราง)
แผนภาพความสัมพันธ์ แถวของส่วนหัวของคอลัมน์ของตาราง (ตาราง "ส่วนหัว")
คุณลักษณะความสัมพันธ์ ชื่อคอลัมน์ของตาราง (ช่องตาราง)
ความสัมพันธ์ tuple Table Row (Record) - การแสดงวัตถุในโลกแห่งความเป็นจริงที่สร้างขึ้นโดยใช้ค่าของเขตข้อมูลตาราง
โดเมน ค่าแอตทริบิวต์ที่ถูกต้องจำนวนมาก
ค่าแอตทริบิวต์ ค่าฟิลด์ในบันทึก (ทูเพิล)
คีย์หลัก แอตทริบิวต์อย่างน้อยหนึ่งรายการ (ในกรณีของคีย์ผสม) ที่กำหนดค่าของทูเพิลอย่างเฉพาะเจาะจง (ค่าของแถวตาราง)
คีย์ภายนอก แอตทริบิวต์ของตารางที่มีค่าสอดคล้องกับค่าของคีย์หลักในตารางอื่นที่เกี่ยวข้อง (หลัก, หลัก) คีย์นอกสามารถประกอบด้วยแอตทริบิวต์หนึ่งหรือหลายรายการ (คีย์ต่างประเทศแบบรวม) หากจำนวนของแอททริบิวต์คีย์นอกน้อยกว่าจำนวนของแอ็ตทริบิวต์ของคีย์หลักที่สอดคล้องกัน จะเรียกว่าคีย์นอกแบบตัดทอน (บางส่วน)
ระดับ (arity) ของความสัมพันธ์ จำนวนคอลัมน์ตาราง
พลังแห่งความสัมพันธ์ จำนวนแถว (ทูเพิล) ของตาราง
ตัวอย่างความสัมพันธ์ ชุดระเบียน (ทูเพิล) สำหรับตารางที่กำหนด (ความสัมพันธ์) อินสแตนซ์อาจเปลี่ยนแปลงเมื่อเวลาผ่านไป เนื่องจากฐานข้อมูลทั่วไปในปัจจุบันทำงานกับความสัมพันธ์เพียงเวอร์ชันเดียว อินสแตนซ์ของความสัมพันธ์ดังกล่าวจึงเรียกว่าเวอร์ชันปัจจุบัน
ประเภทข้อมูล ประเภทค่าขององค์ประกอบตาราง
ความสัมพันธ์พื้นฐาน ความสัมพันธ์ที่มีคอลัมน์อย่างน้อยหนึ่งคอลัมน์ที่แสดงคุณสมบัติของออบเจกต์ ตลอดจนคีย์หลัก
อัตราส่วนที่ได้รับ ไม่ใช่ความสัมพันธ์พื้นฐาน กล่าวคือ ไม่ได้ระบุคุณสมบัติของวัตถุและใช้เพื่อจัดเตรียมลิงก์ระหว่างตารางอื่นๆ อาจไม่มีคีย์หลัก หากระบุคีย์หลัก จะประกอบด้วยคีย์ต่างประเทศที่เกี่ยวข้องกับคีย์หลักของความสัมพันธ์พื้นฐาน
การเชื่อมต่อ สร้างความสัมพันธ์ระหว่างค่าที่ตรงกันในฟิลด์คีย์ - คีย์หลักของตารางหนึ่งและคีย์นอกของคีย์อื่น
ความสัมพันธ์แบบตัวต่อตัว (1: 1) เมื่อใช้ความสัมพันธ์ประเภทนี้ ระเบียนในตารางหนึ่งสามารถมีระเบียนที่เกี่ยวข้องได้ไม่เกินหนึ่งระเบียนในอีกตารางหนึ่ง ในทั้งสองตาราง ฟิลด์คีย์ต้องเป็นฟิลด์หลัก ใช้สำหรับแบ่งตารางที่มีหลายฟิลด์หรือการปกป้องข้อมูลตามความต้องการ
ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (1: M) เมื่อใช้ความสัมพันธ์ประเภทนี้ แต่ละระเบียนของตารางหนึ่งสามารถสัมพันธ์กับระเบียนที่สองได้หลายระเบียน แต่แต่ละระเบียนของตารางที่สองจะสอดคล้องกับระเบียนของตารางแรกเพียงระเบียนเดียว ต้องระบุคีย์หลักในตารางแรก และคีย์ภายนอกในตารางที่สอง
ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (N: M) ด้วยความสัมพันธ์ประเภทนี้ หนึ่งระเบียนในตารางแรกสามารถสัมพันธ์กับหลายระเบียนของตารางที่สอง แต่ระเบียนหนึ่งของตารางที่สองสามารถสัมพันธ์กับหลายระเบียนของตารางแรกได้ ไม่จำเป็นต้องมีเอกลักษณ์ของคีย์สำหรับตารางดังกล่าว ในกระบวนการออกแบบสคีมาฐานข้อมูล ลิงก์ดังกล่าวจะถูกแปลง ในการทำเช่นนี้ คุณต้องแนะนำความสัมพันธ์เสริมที่อนุญาตให้คุณแทนที่ความสัมพันธ์แบบกลุ่มต่อกลุ่มด้วยความสัมพันธ์แบบหนึ่งต่อกลุ่มสองความสัมพันธ์

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

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

ตารางที่เชื่อมต่อถึงกันจำนวนมาก db schema.

ดังนั้นทัศนคติ NSเป็นตารางสองมิติที่มีข้อมูลบางส่วน

ทางคณิตศาสตร์ NS-ความสัมพันธ์อารี NSเป็นชุดผลิตภัณฑ์คาร์ทีเซียน ง 1 × ล 2 ×… × ลึก นชุด (โดเมน) D 1, D 2, ..., D n(NS≥1) ไม่จำเป็นต้องแตกต่างกัน:

R D 1 × D 2 ×… × D n,

ที่ไหน ง 1 × ล 2 ×… × ลึก น- ผลิตภัณฑ์คาร์ทีเซียนที่สมบูรณ์เช่น ชุดของการรวมที่เป็นไปได้ทั้งหมดขององค์ประกอบ n แต่ละองค์ประกอบ โดยที่องค์ประกอบแต่ละอย่างถูกพรากไปจากโดเมนของตัวเอง

โดเมนเป็นแนวคิดเชิงความหมายที่มองว่าเป็นส่วนย่อยของค่าของข้อมูลบางประเภทที่มีความหมายเฉพาะ

คุณสมบัติโดเมน:

โดเมนมีชื่อเฉพาะ (ภายในฐานข้อมูล)

กำหนดไว้ในประเภทข้อมูลอย่างง่ายหรือในโดเมนอื่น

อาจมีเงื่อนไขบูลีนเพื่ออธิบายชุดย่อยของข้อมูลที่อนุญาตสำหรับโดเมนนี้

ดำเนินการโหลดความหมายบางอย่าง

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

คุณลักษณะความสัมพันธ์เป็นคู่ของรูปแบบ

<Имя_атрибута: Имя_домена>(หรือ<A: ดิ>).

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

R ซึ่งกำหนดไว้ในหลายโดเมน มีสองส่วน: ส่วนหัวและส่วนเนื้อหา

ส่วนหัวของความสัมพันธ์- จำนวนแอตทริบิวต์ความสัมพันธ์คงที่ซึ่งอธิบายผลิตภัณฑ์คาร์ทีเซียนของโดเมนที่ระบุความสัมพันธ์:

(<A 1: D 1>, <A 2: D 2 >, …, <น : ด น>).

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

ร่างกายความสัมพันธ์ประกอบด้วยสิ่งอันดับความสัมพันธ์มากมาย

แต่ละ คอร์เทจเป็นชุดของคู่ของรูปแบบ:

<Имя_атрибута: Значение атрибута>:

NS(<A 1: วาล 1>, <A 2: วาล 2 >, …, <A n: วาล น>).

ว่าค่า วาล อีคุณลักษณะ ฉันเป็นของโดเมน ดี.

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

ความสัมพันธ์มักจะเขียนเป็น:

NS(<A 1: D 1>, <A 2: D 2 >, …, <น : ด น>),

หรือตัวย่อ: NS(A 1, A 2, …, หนึ่ง) หรือ NS.

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

เอสอาร์ =(A 1, A 2, …, หนึ่ง), เอ ไอ ดี ไอ, ผม = 1, ..., น.

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

ตัวอย่างเช่น หากโดเมนมีข้อมูลตัวเลข การดำเนินการเปรียบเทียบทั้งหมดจะถูกต้องสำหรับโดเมนนั้น: θ == (=,<>,>=,<=,<,>). อย่างไรก็ตาม แม้แต่สำหรับโดเมนที่มีข้อมูลอักขระ ไม่เพียงแต่สามารถระบุการดำเนินการเปรียบเทียบความเท่าเทียมกันและความไม่เท่าเทียมกันได้ หากมีการระบุการเรียงลำดับพจนานุกรมสำหรับโดเมนที่กำหนด โดเมนนั้นก็มีชุดการดำเนินการเปรียบเทียบที่สมบูรณ์

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

ดังนั้น เงื่อนไขต่อไปนี้จึงสำเร็จสำหรับความสัมพันธ์ที่เท่าเทียมกัน:

การมีอยู่ของแอตทริบิวต์จำนวนเท่ากัน

การปรากฏตัวของแอตทริบิวต์ที่มีชื่อเดียวกัน

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

ความสัมพันธ์ประเภทนี้เป็นภาพที่ต่างกันในความสัมพันธ์เดียวกัน

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

เอกลักษณ์ของชื่อความสัมพันธ์ ชื่อของความสัมพันธ์หนึ่งต้องแตกต่างจากชื่อของความสัมพันธ์อื่นๆ

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

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

ความผิดปกติของแอตทริบิวต์ แอตทริบิวต์ไม่เรียงลำดับ (ซ้ายไปขวา)

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

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

ความคิดเห็น:

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

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

แนวคิดพื้นฐาน

คำจำกัดความ 1

แบบจำลองเชิงวัตถุการนำเสนอข้อมูลทำให้สามารถระบุบันทึกแต่ละรายการของฐานข้อมูลได้

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

คำจำกัดความ 2

การแสดงกราฟิกโครงสร้างฐานข้อมูลเชิงวัตถุเป็นต้นไม้ที่มีโหนดเป็นตัวแทนของวัตถุ

ชนิดมาตรฐาน (เช่น สตริง - สตริง) หรือประเภทที่ผู้ใช้สร้างขึ้น ( ระดับ) อธิบาย คุณสมบัติของวัตถุ.

ในรูปที่ 1 อ็อบเจ็กต์ LIBRARY เป็นพาเรนต์ของอ็อบเจ็กต์อินสแตนซ์ DIRECT, SUBSCRIBER และ REFERENCE ออบเจ็กต์ที่แตกต่างกันของประเภท BOOK สามารถมีพาเรนต์หนึ่งรายการหรือต่างกันได้ ออบเจ็กต์ประเภท BOOK ที่มีพาเรนต์เดียวกันอย่างน้อยต้องมีหมายเลขสินค้าคงคลังต่างกัน (ไม่ซ้ำกันสำหรับหนังสือแต่ละเล่ม) แต่มีค่าคุณสมบัติเท่ากัน ผู้เขียน, ชื่อ, udkและ isbn.

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

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

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

คำจำกัดความ 3

เป้า ห่อหุ้ม- จำกัดขอบเขตของชื่อคุณสมบัติตามขอบเขตของอ็อบเจ็กต์ที่กำหนดไว้

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

คำจำกัดความ 4

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

ตัวอย่างเช่น วัตถุ BOOK ทั้งหมดที่สืบทอดมาจากวัตถุ DIRECTORY สามารถกำหนดคุณสมบัติของวัตถุหลักได้: ผู้เขียน, ชื่อ, udkและ isbn.

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

ดังนั้นคุณสมบัติ ห้องและ ตั๋วในอ็อบเจ็กต์ LIBRARY จะสืบทอดโดยอ็อบเจ็กต์ย่อยทั้งหมด REFERENCE, BOOK และ SUBSCRIBER นั่นคือเหตุผลที่ค่าของคุณสมบัติของคลาส SUBSCRIBER และ OUTPUT นี้เหมือนกัน - 00015 (รูปที่ 1)

คำจำกัดความ 5

ความหลากหลายอนุญาตให้รหัสโปรแกรมเดียวกันทำงานกับข้อมูลประเภทต่างๆ

กล่าวอีกนัยหนึ่ง อนุญาตให้วัตถุประเภทต่างๆ มีเมธอด (ฟังก์ชันหรือโพรซีเดอร์) ที่มีชื่อเหมือนกันได้

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

ข้อดีและข้อเสียของแบบจำลองเชิงวัตถุ

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

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

วันนี้ระบบดังกล่าวค่อนข้างแพร่หลาย ซึ่งรวมถึง DBMS:

  • โพสเกรส
  • กลุ่มดาวนายพราน
  • ไอริส,
  • โอดีบียูพิเตอร์,
  • เก่งกาจ
  • วัตถุประสงค์ / DB,
  • ObjectStore,
  • สเตติส
  • พลอยสโตน
  • จี-เบส.

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

Standard OOM ได้อธิบายไว้ในคำแนะนำของมาตรฐาน ODMG-93 (Object Database Management Group) คำแนะนำ ODMG-93 ยังไม่ได้ดำเนินการอย่างสมบูรณ์ เพื่อแสดงแนวคิดหลัก ให้พิจารณาแบบจำลองที่ค่อนข้างง่ายของฐานข้อมูลเชิงวัตถุ

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

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

ตัวอย่างของโครงสร้างเชิงตรรกะของ OO DB ของความเป็นบรรณารักษ์แสดงไว้ในรูปที่ 3.14. ที่นี่ อ็อบเจ็กต์ประเภท LIBRARY เป็นพาเรนต์สำหรับอ็อบเจ็กต์อินสแตนซ์ของคลาส SUBSCRIBER, DIRECTORY และ OUTPUT วัตถุประเภท BOOK ที่แตกต่างกันซึ่งมีพาเรนต์เดียวกันต้องต่างกันอย่างน้อยในหมายเลขสินค้าคงคลัง (ไม่ซ้ำกันสำหรับหนังสือแต่ละเล่ม) แต่มีค่าคุณสมบัติเหมือนกัน isbn, udk, ชื่อและ ผู้เขียน.


รูปที่ 3.14.โครงสร้างเชิงตรรกะของฐานข้อมูลห้องสมุด

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

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

มาพิจารณาสั้น ๆ เกี่ยวกับแนวคิดของการห่อหุ้ม การสืบทอด และความหลากหลายที่สัมพันธ์กับฐานข้อมูล OOM

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

มรดกในทางตรงกันข้าม มันขยายขอบเขตของทรัพย์สินไปยังทายาททั้งหมดของวัตถุ ดังนั้น วัตถุทั้งหมดของประเภท BOOK ซึ่งเป็นลูกหลานของวัตถุประเภท DIRECTORY สามารถกำหนดคุณสมบัติของวัตถุหลักได้: isbn, udk, ชื่อและ ผู้เขียน.หากจำเป็นต้องขยายผลกระทบของกลไกการสืบทอดไปยังวัตถุที่ไม่ใช่ญาติโดยตรง (เช่น ระหว่างลูกหลานสองคนของผู้ปกครองคนเดียวกัน) คุณสมบัตินามธรรมของประเภท abs จะถูกกำหนดในบรรพบุรุษร่วมกัน ดังนั้น นิยามคุณสมบัตินามธรรม ตั๋วและ ห้องในวัตถุ LIBRARY ทำให้คุณสมบัติเหล่านี้สืบทอดโดยออบเจ็กต์ SUBSCRIBER, BOOK และ REFERENCE ย่อยทั้งหมด ไม่ใช่เรื่องบังเอิญที่คุณค่าของทรัพย์สิน ตั๋วของคลาส SUBSCRIBER และ ISSUE ที่แสดงในรูปจะเหมือนกัน - 00015

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

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

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

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


รูปที่ 3.15.ส่วนของฐานข้อมูลที่มีวัตถุเป้าหมาย

กลับไปที่งาน Orders อีกครั้งซึ่งนำเสนอในรูปแบบของแบบจำลองข้อมูลเชิงสัมพันธ์ในรูปที่ 3.8 และพิจารณาในแง่ของฐานข้อมูลเชิงวัตถุ มีทั้งหมดสามคลาส: " ลูกค้า», « คำสั่งซื้อ" และ " สินค้า". วัตถุของชั้นเรียน " ลูกค้า»เป็นลูกค้าเฉพาะ คุณสมบัติคลาส - หมายเลขลูกค้า ชื่อลูกค้า เมือง สถานะ ฯลฯ วิธีการเรียน - " สร้างคำสั่งซื้อ», « จ่ายใบแจ้งหนี้" เป็นต้น วิธีการคือการดำเนินการบางอย่างที่สามารถนำไปใช้กับวัตถุได้ วิธีการคือสิ่งที่วัตถุควรทำ คลาสที่สอดคล้องกับตาราง " รายละเอียดการสั่งซื้อ", ไม่ต้องการ. ข้อมูลตารางสามารถเป็นส่วนหนึ่งของชั้นเรียน " คำสั่งซื้อ". การแสดงตนในชั้นเรียน " ลูกค้า"วิธี" สร้างคำสั่งซื้อ"นำไปสู่การมีปฏิสัมพันธ์กับวัตถุของชั้นเรียน" คำสั่งซื้อ" และ " สินค้า". ในกรณีนี้ ผู้ใช้ไม่จำเป็นต้องรู้เกี่ยวกับการโต้ตอบของวัตถุ ผู้ใช้อ้างถึงวัตถุเท่านั้น " คำสั่งซื้อ“และใช้วิธี” สร้างคำสั่งซื้อ". ผลกระทบต่อฐานข้อมูลอื่นสามารถซ่อนจากผู้ใช้ได้ ถ้าวิธีการ " สร้างคำสั่งซื้อ"ในทางกลับกันหมายถึงวิธีการ" ตรวจสอบความน่าเชื่อถือของลูกค้า” ความจริงข้อนี้ยังสามารถซ่อนจากผู้ใช้ได้ ในฐานข้อมูลเชิงสัมพันธ์ การดำเนินการฟังก์ชันเดียวกันนั้นจำเป็นต้องมีขั้นตอนการเขียนใน Visual Basic for Application (VBA)

ในยุค 90 มีต้นแบบทดลองของระบบจัดการฐานข้อมูล OO ปัจจุบันระบบดังกล่าวแพร่หลาย โดยเฉพาะอย่างยิ่ง สิ่งเหล่านี้รวมถึง DBMS ต่อไปนี้: POET (ซอฟต์แวร์ POET), จัสมิน (ผู้ช่วยคอมพิวเตอร์), Versant (เทคโนโลยี Versant), O2 (ซอฟต์แวร์ Ardent), ODB-Jupiter (ศูนย์วิจัยและผลิต Inteltek Plus) และ Iris , Orion และ โพสเกรส

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

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

มะเดื่อ 3. โมเดลข้อมูลเชิงวัตถุ

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

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

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

ฐานข้อมูลเชิงวัตถุมักใช้กันอย่างแพร่หลายในด้านต่างๆ เช่น ระบบการออกแบบ/การผลิตโดยใช้คอมพิวเตอร์ช่วย (CAD / CAM) ระบบการพัฒนาซอฟต์แวร์โดยใช้คอมพิวเตอร์ช่วย (CASE) ระบบการจัดการเอกสารแบบผสม เช่น ในพื้นที่ที่ไม่ใช่แบบดั้งเดิมสำหรับฐานข้อมูล ตัวอย่างของ DBMS เชิงวัตถุ ได้แก่ POET, Jasmine, Versant, Iris, Orion

2.2.4 โมเดลข้อมูลเชิงสัมพันธ์

ในปี 1970 นักคณิตศาสตร์ชาวอเมริกัน E.F. ตีพิมพ์บทความที่ปฏิวัติเนื้อหา โดยเสนอให้ใช้ทฤษฎีเซตในการประมวลผลข้อมูล เขาแย้งว่าข้อมูลควรผูกมัดตามความสัมพันธ์เชิงตรรกะ (เช่น การรวม ทางแยก) ไม่ใช่ตัวชี้ทางกายภาพ เขาเสนอแบบจำลองข้อมูลอย่างง่ายซึ่งข้อมูลทั้งหมดถูกจัดตารางด้วยแถวและคอลัมน์ที่มีชื่อเฉพาะ ตารางเหล่านี้เรียกว่าความสัมพันธ์ (relatio - ความสัมพันธ์) และแบบจำลองนี้เป็นแบบจำลองข้อมูลเชิงสัมพันธ์ที่สร้างขึ้นบนแนวคิดของความสัมพันธ์ทางคณิตศาสตร์และบางครั้งก็เรียกว่าแบบจำลอง Codd ข้อเสนอของ Codd มีประสิทธิภาพมากสำหรับระบบฐานข้อมูล ซึ่งสำหรับโมเดลนี้ เขาได้รับรางวัล Turing Prize อันทรงเกียรติสำหรับพื้นฐานทางทฤษฎีของคอมพิวเตอร์

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

มะเดื่อ 4. ตารางฐานข้อมูลเชิงสัมพันธ์

แต่ละคอลัมน์มีชื่อของตัวเอง ตัวอย่างเช่น ในตาราง "สินค้าในสต็อก" (รูปที่ 5.) ชื่อฟิลด์จะเป็นดังนี้: ตัวระบุ, ผลิตภัณฑ์, ชื่อกลุ่ม, กลุ่ม, หน่วยวัด, ราคาซื้อ, ราคาขาย, สต๊อกสินค้า.

ข้าว. 5. ตาราง "สินค้าในสต็อก »

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

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

คีย์หลักเป็นฟิลด์อย่างน้อยหนึ่งฟิลด์ที่ระบุเรกคอร์ดโดยเฉพาะ หากคีย์หลักประกอบด้วยฟิลด์เดียว จะเรียกว่าคีย์แบบง่าย หากคีย์หลักประกอบด้วยฟิลด์หลายฟิลด์ จะเรียกว่าคีย์ผสม

กุญแจรองเป็นฟิลด์ค่าที่สามารถทำซ้ำได้ในหลายเร็กคอร์ดของไฟล์นั่นคือไม่ซ้ำกัน

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

มะเดื่อ 6. ตัวอย่างการใช้คีย์นอก

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

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

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

· ตัวดำเนินการนิยามข้อมูล

ตัวดำเนินการจัดการข้อมูล (Insert, Select, Update, Delete);

· ตัวดำเนินการคำจำกัดความของการเข้าถึงข้อมูล

ในปี 1986 SQL ถูกนำมาใช้เป็นมาตรฐาน ANSI (American National Standards Institute) สำหรับภาษาฐานข้อมูลเชิงสัมพันธ์ ปัจจุบันฐานข้อมูลนี้ถือเป็นมาตรฐานของระบบสารสนเทศสมัยใหม่

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

ข้อดีของโมเดลเชิงสัมพันธ์คือ:

เรียบง่ายและเข้าใจง่ายโดยผู้ใช้ - โครงสร้างข้อมูลเพียงอย่างเดียวคือตาราง

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

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

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

ข้อเสียของโมเดลเชิงสัมพันธ์คือ:

ความเร็วในการเข้าถึงค่อนข้างต่ำและหน่วยความจำภายนอกจำนวนมาก

ความยากลำบากในการทำความเข้าใจโครงสร้างข้อมูลเนื่องจากการปรากฏตัวของตารางจำนวนมากอันเป็นผลมาจากการออกแบบเชิงตรรกะ

ไม่สามารถแสดงหัวข้อในรูปแบบของชุดตารางได้เสมอไป

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

แบบจำลองเชิงวัตถุ

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

โมเดลเชิงวัตถุที่ได้มาตรฐานได้อธิบายไว้ในคำแนะนำของมาตรฐาน ODMG-93 (Object Database Management Group)

ลองพิจารณาแบบจำลองอย่างง่ายของฐานข้อมูลเชิงวัตถุ โครงสร้างของฐานข้อมูลเชิงวัตถุจะแสดงแบบกราฟิกในรูปแบบของต้นไม้ โดยโหนดที่เป็นวัตถุ คุณสมบัติของอ็อบเจ็กต์ถูกอธิบายโดยมาตรฐานหรือประเภทที่ผู้ใช้สร้างขึ้น (กำหนดเป็นคลาส) ค่าของคุณสมบัติของคลาสประเภทคืออ็อบเจ็กต์ที่เป็นตัวอย่างของคลาสที่สอดคล้องกัน แต่ละอินสแตนซ์ของคลาสถือเป็นทายาทของอ็อบเจ็กต์ที่กำหนดให้เป็นคุณสมบัติ ออบเจ็กต์อินสแตนซ์ของคลาสเป็นของคลาสและมีพาเรนต์เดียว ความสัมพันธ์ทั่วไปในฐานข้อมูลก่อให้เกิดลำดับชั้นของวัตถุที่เชื่อมโยงกัน ตัวอย่างของโครงสร้างเชิงตรรกะของฐานข้อมูลบรรณารักษ์เชิงวัตถุแสดงในรูปที่ 2.9. ในที่นี้ อ็อบเจ็กต์ประเภท Library เป็นพาเรนต์สำหรับอ็อบเจ็กต์ของคลาส Subscriber, Directory และ Issuance วัตถุ Book ที่แตกต่างกันสามารถมีผู้ปกครองที่เหมือนกันหรือต่างกันได้ วัตถุประเภท Book ที่มีพาเรนต์เดียวกันต้องแตกต่างกันอย่างน้อยตามหมายเลขสินค้าคงคลัง (ไม่ซ้ำกันสำหรับหนังสือแต่ละเล่ม) แต่มีค่าคุณสมบัติเหมือนกันคือ isbn, udc, ชื่อและผู้แต่ง

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

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

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

ในทางกลับกัน การสืบทอดจะขยายขอบเขตของคุณสมบัติไปยังทายาททั้งหมดของออบเจกต์ ดังนั้น ออบเจ็กต์ทั้งหมดของประเภทหนังสือที่เป็นทายาทของอ็อบเจ็กต์ประเภทแค็ตตาล็อกสามารถกำหนดคุณสมบัติของอ็อบเจ็กต์หลักได้: isbn, udk, title และผู้แต่ง หากจำเป็นต้องขยายผลกระทบของกลไกการสืบทอดไปยังวัตถุที่ไม่ใช่ญาติโดยตรง (เช่น ระหว่างลูกหลานสองคนของผู้ปกครองคนเดียวกัน) คุณสมบัตินามธรรมของประเภท abs จะถูกกำหนดในบรรพบุรุษร่วมกัน ดังนั้น คำจำกัดความของตั๋วคุณสมบัตินามธรรมและหมายเลขในออบเจกต์ Library นำไปสู่การสืบทอดคุณสมบัติเหล่านี้โดยออบเจกต์ย่อยทั้งหมด Subscriber, Book และ Issue ดังนั้นจึงไม่ใช่เรื่องบังเอิญที่ค่าของคุณสมบัติตั๋วของคลาสสมาชิกและการออกแสดงในรูปที่ 2.9 เหมือนกัน - 00015

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

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

ข้าว. 2.9 โครงสร้างทางตรรกะของฐานข้อมูลบรรณารักษ์

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

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

DBMS เชิงวัตถุ ได้แก่ POET, Jasmine, Versant, O2, ODB-Jupiter, Iris, Orion, Postgres

Databanks โดยรวมมักจะจำแนกตามลักษณะทางเศรษฐกิจและกฎหมาย

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

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

การจำแนกประเภทอื่น ๆ เกี่ยวข้องกับองค์ประกอบแต่ละส่วนของ BnD

1. การพัฒนาธนาคารข้อมูลประกอบด้วย 4 ขั้นตอน:

ขั้นตอนที่ 1 การสร้างและวิเคราะห์ข้อกำหนดของระบบ:

มีการร่างข้อมูลจำเพาะของระบบ รวมถึงรายการงานที่จะแก้ไขโดย BND

รายชื่อผู้ใช้ปลายทางและหน้าที่การใช้งาน

รายการข้อกำหนดสำหรับฐานข้อมูล

ไดอะแกรมโฟลว์เอกสารในองค์กรถูกวาดขึ้น

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

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

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

2. งานหลักที่แก้ไขโดยบุคลากรของธนาคารข้อมูล

เจ้าหน้าที่ของ BND ประกอบด้วยผู้เชี่ยวชาญหลายคน: ผู้ดูแลระบบ BND นักวิเคราะห์ระบบ โปรแกรมเมอร์ระบบและแอปพลิเคชัน ผู้ปฏิบัติงาน ผู้เชี่ยวชาญในวิธีการทางเทคนิค การตลาด ฯลฯ

มาดูรายการหน้าที่หลักและงานที่บุคลากรแก้ไขระหว่างการพัฒนาและการทำงานของฐานข้อมูล:

1) การวิเคราะห์หัวข้อ (การกำหนดความต้องการของผู้ใช้, การสร้างแบบจำลองข้อมูลของสาขาวิชา, การระบุข้อจำกัดด้านความสมบูรณ์);

2) การออกแบบโครงสร้างของฐานข้อมูล (การกำหนดองค์ประกอบและโครงสร้างของไฟล์ฐานข้อมูล อธิบายสคีมาในภาษาคำอธิบายข้อมูล)

3) การตั้งค่าข้อจำกัดความสมบูรณ์ของฐานข้อมูล

4) การโหลดและบำรุงรักษาฐานข้อมูล (การบำรุงรักษาฐานข้อมูลรวมถึงการเปลี่ยนแปลง การลบ และเพิ่มบันทึก) การพัฒนาเทคโนโลยีการบรรจุและบำรุงรักษา การพัฒนารูปแบบการป้อนข้อมูล การป้อนข้อมูลและการควบคุม

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

6) รับรองการกู้คืนฐานข้อมูล;

7) การวิเคราะห์ประสิทธิภาพ BnD และการพัฒนาระบบ

8) ทำงานกับผู้ใช้ (รวบรวมการตอบสนอง การฝึกอบรม);

9) การบำรุงรักษาซอฟต์แวร์ระบบ (การจัดหา การติดตั้งและการพัฒนา)

10) งานขององค์กรและระเบียบวิธี (การเลือกวิธีการออกแบบและความทันสมัย, การวางแผนการพัฒนา BND, การพัฒนาเอกสาร)

3. ผู้ใช้ดาต้าแบงค์

เช่นเดียวกับซอฟต์แวร์-องค์กร-เทคนิคที่ซับซ้อน คลังข้อมูลมีอยู่ในเวลาและพื้นที่ มีขั้นตอนการพัฒนาเฉพาะ:

ออกแบบ,

การดำเนินการ

สนับสนุน,

ปรับปรุงและพัฒนา

การปรับโครงสร้างองค์กรให้สมบูรณ์

ในแต่ละขั้นตอนของการดำรงอยู่ ผู้บริโภคประเภทต่างๆ จะเชื่อมต่อกับคลังข้อมูล

ผู้ใช้ปลายทาง

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

ผู้ดูแลระบบธนาคารข้อมูล

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

นักพัฒนาแอปพลิเคชันและผู้ดูแลระบบ

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

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

ลองพิจารณารายละเอียดเพิ่มเติม

ส่วนหนึ่งของกลุ่มผู้ดูแลระบบ BnD ควรเป็น:

นักวิจารณ์ระบบ

ผู้พัฒนาโครงสร้างข้อมูลและลักษณะที่ปรากฏเกี่ยวกับ databank รองรับข้อมูล

ผู้พัฒนากระบวนการประมวลผลข้อมูลทางเทคโนโลยี

โปรแกรมเมอร์ระบบและแอปพลิเคชัน

บริษัทปฏิบัติการและผู้เชี่ยวชาญในการบริการซ่อม

ปัญหาธนาคารข้อมูลเชิงพาณิชย์มีบทบาทสำคัญในการขายผู้เชี่ยวชาญ

หน้าที่หลักของกลุ่มผู้ดูแลระบบฐานข้อมูล

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

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

3. การตั้งค่าข้อจำกัดความสมบูรณ์ในคำอธิบายโครงสร้างฐานข้อมูลและขั้นตอนการประมวลผลฐานข้อมูล:

การตั้งค่าข้อจำกัดความสมบูรณ์ของการประกาศที่มีอยู่ในพื้นที่ข้อมูล

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

คำจำกัดความของข้อจำกัดความสมบูรณ์ถูกเรียกโดยโครงสร้างของฐานข้อมูล

การพัฒนาขั้นตอนการรักษาความสมบูรณ์ของฐานข้อมูลเมื่อป้อนและแก้ไขข้อมูล

การกำหนดข้อจำกัดด้านความสมบูรณ์โดยการทำงานแบบคู่ขนานของผู้บริโภคในโหมดผู้ใช้หลายคน

4. เริ่มการดาวน์โหลดและแนะนำฐานข้อมูล

การพัฒนาเทคนิคในการเริ่มโหลดฐานข้อมูล ซึ่งจะแตกต่างจากขั้นตอนการเปลี่ยนแปลงและเพิ่มข้อมูลโดยใช้ฐานข้อมูลเป็นประจำ

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

ตามเทคนิคที่พัฒนาขึ้นเพื่อเริ่มต้นการโหลดการออกแบบระบบ อาจจำเป็นต้องเริ่มการป้อนข้อมูล

5. การปกป้องข้อมูล

การกำหนดระบบรหัสผ่าน หลักการกำหนดเป้าหมายผู้บริโภค การสร้างกลุ่มผู้บริโภคที่มีสิทธิ์การเข้าถึงข้อมูลเหมือนกัน

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

การพัฒนาวิธีการแก้ไขการเข้าถึงข้อมูลและการพยายามละเมิดระบบรักษาความปลอดภัย

การทดสอบระบบป้องกัน

การสืบสวนกรณีการละเมิดระบบป้องกันและการพัฒนาวิธีการแบบไดนามิกในการปกป้องข้อมูลในฐานข้อมูล

6. รองรับการกู้คืนฐานข้อมูล

การพัฒนาวิธีการเก็บถาวรขององค์กรและหลักการกู้คืนฐานข้อมูล

การพัฒนาซอฟต์แวร์และกระบวนการทางเทคโนโลยีเพิ่มเติมสำหรับการกู้คืนฐานข้อมูลหลังเกิดความล้มเหลว

7. การตรวจสอบการโทรไปยังผู้ใช้ฐานข้อมูล: ชุดของสถิติเกี่ยวกับสัญลักษณ์ของคำขอ, เวลาในการเปิดใช้งานของพวกเขา, ตามเอกสารผลลัพธ์ที่ต้องการ

8. การตรวจสอบประสิทธิภาพของการทำงานของ BnD:

การตรวจสอบดัชนีการทำงานของ BnD

การปรับโครงสร้างการวางแผน (การเปลี่ยนแปลงโครงสร้าง) ของฐานข้อมูลและการปรับโครงสร้างองค์กรของ BND

9. การทำงานกับผู้ใช้ปลายทาง:

การรวบรวมข้อมูลเกี่ยวกับการเปลี่ยนแปลงพื้นที่ข้อมูล

การรวบรวมข้อมูลเกี่ยวกับการประเมินงาน BnD

การฝึกอบรมผู้บริโภค การให้คำปรึกษาผู้บริโภค

การพัฒนาเอกสารที่เป็นระบบและการศึกษาที่จำเป็นเกี่ยวกับงานของผู้ใช้ปลายทาง

10. การเตรียมและบำรุงรักษาเครื่องมือระบบ:

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

การพัฒนาโปรแกรมการเคลื่อนไหวขององค์กรและทางเทคนิคที่จำเป็นสำหรับการพัฒนา BND

ตรวจสอบประสิทธิภาพของซอฟต์แวร์ที่แลกใช้ก่อนเชื่อมต่อกับ BND

ควบคุมการเชื่อมต่อซอฟต์แวร์ใหม่กับ BND

11. งานองค์กรและเป็นระบบในการพัฒนา BND:

การเลือกหรือการสร้างวิธีการพัฒนาฐานข้อมูล

การกำหนดเป้าหมายและทิศทางการพัฒนาระบบโดยรวม

การวางแผนขั้นตอนของการพัฒนา BnD

การพัฒนาหนังสืออ้างอิงสำหรับพจนานุกรมทั่วไปของโครงการ BND และแบบจำลองแนวคิด

การติดตั้งโมเดลภายนอกของแอพพลิเคชั่นที่พัฒนาแล้ว

ควบคุมการเชื่อมต่อแอปพลิเคชันใหม่กับงานของ BND

ความเป็นไปได้ของการแก้ไขปัญหาที่ซับซ้อนของชุดแอปพลิเคชันที่โต้ตอบจากฐานข้อมูลเดียว