ระบบการจัดการฐานข้อมูลหรือ DBMS โดยพื้นฐานแล้วประกอบด้วยชุดโปรแกรมแอปพลิเคชันที่ครอบคลุมซึ่งสามารถใช้ประโยชน์ในการเข้าถึง จัดการ และอัปเดตข้อมูล โดยที่ข้อมูลมีความสัมพันธ์กันและคงอยู่อย่างลึกซึ้ง เช่นเดียวกับระบบการจัดการอื่นๆ เป้าหมายของ DBMS คือการจัดเตรียมสภาพแวดล้อมที่มีประสิทธิภาพและสะดวกสบาย ซึ่งง่ายต่อการดึงและจัดเก็บข้อมูลลงในฐานข้อมูล โดยไม่ต้องพูดถึงว่าฐานข้อมูลใช้เพื่อจัดเก็บและจัดการข้อมูลจำนวนมาก
เพื่อให้บรรลุสิ่งนี้ สิ่งต่อไปนี้คือสิ่งที่ต้องมี:
- การสร้างแบบจำลองข้อมูล - มันคือทั้งหมดที่เกี่ยวกับการกำหนดโครงสร้างสำหรับการจัดเก็บข้อมูล
- การจัดเตรียมกลไก − ในการจัดการข้อมูลที่ประมวลผลและแก้ไขไฟล์และโครงสร้างระบบ จำเป็นต้องมีกลไกการประมวลผลการสืบค้น
- การกู้คืนข้อขัดข้องและความปลอดภัย - เพื่อหลีกเลี่ยงความคลาดเคลื่อนและให้แน่ใจว่าข้อมูลมีความปลอดภัย ต้องมีการกู้คืนข้อขัดข้องและกลไกการรักษาความปลอดภัย
- การควบคุมการทำงานพร้อมกัน - หากผู้ใช้หลายรายใช้ระบบร่วมกัน การควบคุมการทำงานพร้อมกันเป็นสิ่งจำเป็นสำหรับชั่วโมง
ดร.เอ็ดการ์ เอฟ คอดด์
Dr E.F.Codd หรือที่รู้จักกันทั่วโลกในชื่อ 'บิดาแห่งระบบการจัดการฐานข้อมูล' ได้เสนอกฎ 12 ข้อซึ่งในความเป็นจริงแล้วมี 13 ข้อ กฎมีตัวเลขตั้งแต่ศูนย์ถึงสิบสอง ตามที่เขาพูด DBMS มีความสัมพันธ์อย่างสมบูรณ์หากปฏิบัติตามกฎทั้งสิบสองของเขา จนถึงขณะนี้ มีฐานข้อมูลเพียงไม่กี่แห่งที่ปฏิบัติตามกฎสิบเอ็ดข้อทั้งหมด กฎสิบสองข้อของเขาเรียกว่า 'บัญญัติสิบสองประการของ E.F.Codd' ด้วยความรัก เอกสารการวิจัยที่ยอดเยี่ยมและน่าสนใจของเขา 'แบบจำลองเชิงสัมพันธ์ของข้อมูลสำหรับธนาคารข้อมูลที่ใช้ร่วมกันขนาดใหญ่' อย่างครบถ้วนเป็นภาพที่มองเห็นได้
ระบบจัดการฐานข้อมูลเชิงสัมพันธ์
มีกฎที่ไม่ได้พูดในศัพท์แสงของระบบจัดการฐานข้อมูล เนื่องจากฐานข้อมูลที่ใช้กฎของ E.F.Codd ทั้งหมดนั้นน่าหวาดกลัว กฎที่ไม่ได้พูดจึงได้รับความสนใจ
- หากระบบการจัดการหรือซอฟต์แวร์ปฏิบัติตามกฎ 5-6 ข้อที่ E.F.Codd เสนอ ถือว่ามีคุณสมบัติที่จะเป็นระบบการจัดการฐานข้อมูล (DBMS)
- หากระบบการจัดการหรือซอฟต์แวร์ปฏิบัติตามกฎ 7-9 ข้อใดๆ ที่ E.F.Codd เสนอ ถือว่ามีคุณสมบัติที่จะเป็นระบบจัดการฐานข้อมูลแบบกึ่งสัมพันธ์ (กึ่ง RDBMS)
- หากระบบการจัดการหรือซอฟต์แวร์ปฏิบัติตามกฎ 9-12 ข้อที่ E.F. Codd เสนอ ถือว่ามีคุณสมบัติที่จะเป็นระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ที่สมบูรณ์ (RDBMS)
บัญญัติสิบสองประการของ Dr Edgar F Codd
นี่คือหมายเหตุสั้นๆ เกี่ยวกับกฎสิบสองข้อของ E.F Codd:
กฎ 0 – กฎพื้นฐาน
ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ใดๆ ที่เสนอให้เป็น RDBMS หรือสนับสนุนให้เป็น RDBMS ควรจะสามารถจัดการข้อมูลที่จัดเก็บไว้อย่างครบถ้วนผ่านความสามารถเชิงสัมพันธ์
กฎ 1 - กฎของข้อมูล
ฐานข้อมูลเชิงสัมพันธ์ควรจัดเก็บข้อมูลในรูปแบบของความสัมพันธ์ ตารางคือความสัมพันธ์ในระบบจัดการฐานข้อมูลเชิงสัมพันธ์ ไม่ว่าจะเป็นข้อมูลที่ผู้ใช้กำหนดหรือข้อมูลเมตา การจัดเก็บค่าเป็นเอนทิตีในเซลล์ตารางเป็นสิ่งสำคัญ
กฎ 2 – กฎของการรับประกันการเข้าถึง
การใช้พอยน์เตอร์เพื่อเข้าถึงข้อมูลอย่างมีเหตุผลเป็นสิ่งต้องห้ามโดยเด็ดขาด ทุกเอนทิตีข้อมูลซึ่งมีลักษณะเป็นอะตอมมิกควรเข้าถึงได้อย่างเหมาะสมโดยใช้ชื่อตารางร่วมกัน คีย์หลักที่แสดงโดยค่าแถวที่เฉพาะเจาะจง และชื่อคอลัมน์ที่แสดงด้วยค่าแอตทริบิวต์
กฎข้อที่ 3 – กฎของการสนับสนุนค่า Null อย่างเป็นระบบ
ค่า Null ได้รับการสนับสนุนอย่างสมบูรณ์ในฐานข้อมูลเชิงสัมพันธ์ พวกเขาควรได้รับการพิจารณาอย่างสม่ำเสมอว่าเป็น 'ข้อมูลที่ขาดหายไป' ค่า Null ไม่ขึ้นกับประเภทข้อมูลใดๆ ไม่ควรเข้าใจผิดว่าเป็นช่องว่างหรือศูนย์หรือสตริงว่าง ค่า Null ยังสามารถตีความได้ว่าเป็น 'ข้อมูลที่ไม่เหมาะสม' หรือ 'ข้อมูลที่ไม่รู้จัก'
กฎ 4 – กฎของแค็ตตาล็อกเชิงสัมพันธ์ที่ใช้งานอยู่และออนไลน์
ในพจนานุกรมระบบจัดการฐานข้อมูล 'ข้อมูลเมตา' คือข้อมูลเกี่ยวกับฐานข้อมูลหรือข้อมูลเกี่ยวกับข้อมูล แค็ตตาล็อกออนไลน์ที่ใช้งานอยู่ซึ่งเก็บข้อมูลเมตาเรียกว่า 'พจนานุกรมข้อมูล' พจนานุกรมข้อมูลที่เรียกว่าสามารถเข้าถึงได้โดยผู้ใช้ที่มีสิทธิ์ที่จำเป็นเท่านั้นและควรใช้ภาษาที่ใช้ในการสืบค้นสำหรับการเข้าถึงฐานข้อมูลเพื่อเข้าถึงข้อมูลของพจนานุกรมข้อมูล
กฎข้อ 5 – ภาษาย่อยของข้อมูลที่ครอบคลุม
ภาษาที่มีประสิทธิภาพเพียงภาษาเดียวควรสามารถกำหนดข้อจำกัดความสมบูรณ์ มุมมอง การจัดการข้อมูล ธุรกรรม และการอนุญาต หากฐานข้อมูลอนุญาตให้เข้าถึงสิ่งที่กล่าวมา แสดงว่ากำลังละเมิดกฎนี้
กฎข้อ 6 – กฎของการอัปเดตการดู
มุมมองควรสะท้อนถึงการอัปเดตของตารางฐานที่เกี่ยวข้องและในทางกลับกัน มุมมองคือตารางตรรกะที่แสดงข้อมูลที่ถูกจำกัด มุมมองโดยทั่วไปทำให้ข้อมูลสามารถอ่านได้ แต่ไม่สามารถแก้ไขได้ ดูช่วยในการแยกข้อมูล
กฎข้อ 7 – กฎของการแทรก อัปเดต และลบระดับการตั้งค่า
การดำเนินการครั้งเดียวควรเพียงพอที่จะดึง แทรก อัปเดต และลบข้อมูล
กฎข้อ 8 – กฎความเป็นอิสระของข้อมูลทางกายภาพ
การดำเนินการแบบกลุ่มและผู้ใช้ปลายทางถูกแยกออกจากที่จัดเก็บข้อมูลจริงและวิธีการเข้าถึงที่เกี่ยวข้อง
กฎข้อ 9 – กฎความเป็นอิสระของข้อมูลเชิงตรรกะ
ผู้ใช้แบบกลุ่มและปลายทางสามารถเปลี่ยนสคีมาฐานข้อมูลได้โดยไม่ต้องสร้างใหม่หรือสร้างแอปพลิเคชันที่สร้างขึ้นใหม่
กฎข้อที่ 10 – กฎแห่งความเป็นอิสระในความซื่อสัตย์สุจริต
ข้อจำกัดด้านความสมบูรณ์ควรมีให้ใช้งานได้และจัดเก็บเป็นข้อมูลเมตาในพจนานุกรมข้อมูล ไม่ใช่ในโปรแกรมแอปพลิเคชัน
กฎข้อที่ 11 – กฎความเป็นอิสระในการจัดจำหน่าย
ภาษาการจัดการข้อมูลของระบบเชิงสัมพันธ์ไม่ควรกังวลเกี่ยวกับการจัดเก็บข้อมูลทางกายภาพ และไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ หากข้อมูลทางกายภาพถูกรวมศูนย์หรือกระจาย
กฎข้อที่ 12 – กฎของการไม่โค่นล้ม
แถวใดๆ ควรปฏิบัติตามข้อจำกัดด้านความปลอดภัยและความสมบูรณ์ที่กำหนดไว้ ไม่มีสิทธิพิเศษใดๆ
DBMS แบบเต็มเกือบทั้งหมดเป็น RDMS Oracle ใช้กฎ 11+ ข้อและ Sybase ก็เช่นกัน SQL Server ยังใช้กฎ 11+ ในขณะที่ FoxPro ใช้กฎ 7+