การออกแบบฐานข้อมูล
การออกแบบฐานข้อมูลเพื่อใช้งานฐานข้อมูลได้อย่างมีประสิทธิ์ภาพ ผู้ออกแบบต้องสามารถจำแนกกลุ่มข้อมูลได้อย่างชัดเจนและครบถ้วน โดยกำหนดคุณลักษณะหรือแอตทริบิวต์ของแต่ละเอนทิตี้ได้อย่างถูกต้องและเหมาะสม รวมทั้งจะต้องสามารถสร้างความสัมพันธ์ระหว่างกลุ่มข้อมูลได้ จะมีขั้นตอน ดังนี้
ขั้นที่ 1 เก็บรวบรวมข้อมูลรายละเอียดทั้งหมด
การเก็บรวบรวมข้อมูลและรายละเอียดต่างๆของงาน รวมทั้งความต้องการของผู้ใช้ เช่น
มีข้อมูลใดบ้างที่เป็นเรื่องเดียวกัน ให้จัดกลุ่มข้อมูลนั้นเป็นเอนทิตี้
ชนิดของข้อมูลแบบใด (ตัวอักษร ตัวเลข หรืออื่นๆ) มีเงื่อนไขหรือข้อกำหนดอย่างไร เช่นรหัสพนักงานจะต้องเป็นเลข 6 หลัก อายุพนักงานต้องไม่เกิน 55 ปี วุฒิการศึกษาของพนักงานต้องไม่ต่ำกว่าระดับ ปวส.
มีข้อมูลอะไรบ้างที่จะต้องนำมาค้นหาหรือประมวลผล ผลที่ได้ต้องส่งออกระบบภายนอกหรือไม่
มีใครบ้างที่เป็นผู้ใช้ฐานข้อมูลนี้ ใช้บ่อยแค่ไหน มีความสำคัญอย่างไร
ลักษณะของรายงาน ประกอบด้วยรายงานอะไรบ้าง ระยะเวลาในการออกรายงาน
ข้อมูลอื่นๆที่สามารถรวบรวมได้ โดยพยายามก็บรายละเอียดให้มากที่สุด
ขั้นที่ 2 กำหนดโครงสร้างของ Table
จากกลุ่มข้อมูลหรือเอนทิตี้ที่รวบรวมได้จากเอกสารต่างๆในขั้นที่ 1 เราจะนำมากำหนดแอตทริบิวต์ของข้อมูล เพื่อจะได้ทราบว่าในเอนทิตี้นั้นจะนำข้อมูลอะไรมาใช้บ้าง หลังจากนั้นให้นำแอตทริบิวต์มากำหนดโครงสร้างเบื้องต้นของ Table โดยแปลงแอตทริบิวต์เป็นฟิลด์ พร้อมกำหนดชนิดและขนาดข้อมูลในแต่ละขนาดข้อมูลในแต่ละฟีลด์ รวมทั้งเงื่อนไขหรือกฏเกณฑ์ที่ใช้กำหนดลักษณะของข้อมูล
ขั้นที่ 3 กำหนดคีย์
ขั้นตอนนี้จะพิจารณาว่าฟีดล์ใดบ้างใน Table นั้นที่มีคุณสมบัติเหมาะสมจะใช้เป็นคีย์ ถ้าไม่มีฟีลด์ใดเลยที่เหมาะสม ก็จะต้องกำหนดฟีลด์ใหม่เพื่อใช้เป้นคีย์โดยเฉพาะ
ขั้นที่ 4 การทำ Normalization
ถ้า Table ที่ได้จากขั้นที่ 2 ยังมีความซ้ำซ้อนกันของข้อมูล หรือข้อมูลบางฟีลด์ไม่เกี่ยวข้องโดยตรงกับเนื้อหาใน Table นั้นจะต้องนำมาปรับปรุงแก้ให้มีดครงสร้างหรือรูปแบบที่เหมาะสมก่อนนำไปประมวลผล ถ้านำโครงสร้างไปใช้เลยโดยไม่ทำ Normalization ก่อนอาจเกิดปัญหาได้ เช่นปัญหาสิ้นเปลืองเนื้อที่จัดเก็บข้อมูลที่ซ้ำซ้อนกัน ปัญหาความผิดปกติ (Anomaly) ของข้อมูลเมือมีการแก้ไขเพิ่ม หรือลบเรคอร์ด รวมทั้งปัญหาในการกำหนดความสัมพันธ์ในขั้นที่ 5 จะทำได้ยาก
ขั้นที่ 5 กำหนดความสัมพันธ์
นำ Table ทั้งหมดที่ได้หลังจากทำ Normalization มาสร้างความสัมพันธ์โดยใช้คีย์กำหนดในชั้นที่ 3 หรือคีย์ที่เกิดขึ้นใหม่จากการทำ Normalization เป็นตัวเชื่อม ซึ่งอาจเป็นแบบ One - to - One , One -to - Many หรือ Many - to - Many ขึ้นกับลักษณะของข้อมูลการกำหนดความสัมพันธ์ระหว่าง Table นี้มีความสำคัญมาก ผู้ออกแบบจะต้องมีการวิเคราะห์ให้ได้ว่าข้อมูลใน Table ต่างๆนั้นมีความสัมพันธ์กันในลักษณะใด
รูปแบบของระบบฐานข้อมูล
รูปแบบของระบบฐานข้อมูล มีอยู่ด้วยกัน 3 ประเภท คือ
1. ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
เป็นการเก็บข้อมูลในรูปแบบที่เป็นตาราง (Table) หรือเรียกว่า รีเลชั่น (Relation) มีลักษณะเป็น 2 มิติ คือเป็นแถว (row) และเป็นคอลัมน์ (column) การเชื่อมโยงข้อมูลระหว่างตาราง จะเชื่อมโยงโดยใช้แอททริบิวต์ (attribute) หรือคอลัมน์ที่เหมือนกันทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล ฐานข้อมูลเชิงสัมพันธ์นี้จะเป็นรูปแบบของฐานข้อมูลที่นิยมใช้ในปัจจุบัน
2. ฐานข้อมูลแบบเครือข่าย (Network Database)
ฐานข้อมูลแบบเครือข่ายจะเป็นการรวมระเบียนต่าง ๆ และความสัมพันธ์ระหว่างระเบียนแต่จะต่างกับฐานข้อมูลเชิงสัมพันธ์ คือ ในฐานข้อมูลเชิงสัมพันธ์จะแฝงความสัมพันธ์เอาไว้ โดยระเบียนที่มีความสัมพันธ์กันจะต้องมีค่าของข้อมูลในแอททริบิวต์ใดแอททริบิวต์หนึ่งเหมือนกัน แต่ฐานข้อมูลแบบเครือข่าย จะแสดงความสัมพันธ์อย่างชัดเจน ตัวอย่างเช่น
3. ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database)
ฐานข้อมูลแบบลำดับชั้น เป็นโครงสร้างที่จัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบพ่อ-ลูก (Parent-Child Relationship Type : PCR Type) หรือเป็นโครงสร้างรูปแบบต้นไม้ (Tree) ข้อมูลที่จัดเก็บในที่นี้ คือ ระเบียน (Record) ซึ่งประกอบด้วยค่าของเขตข้อมูล (Field) ของเอนทิตี้หนึ่ง ๆ ฐานข้อมูลแบบลำดับชั้นนี้คล้ายคลึงกับฐานข้อมูลแบบเครือข่าย แต่ต่างกันที่ฐานข้อมูลแบบลำดับชั้น มีกฎเพิ่มขึ้นมาอีกหนึ่งประการ คือ ในแต่ละกรอบจะมีลูกศรวิ่งเข้าหาได้ไม่เกิน 1 หัวลูกศร
ตัวอย่างการใช้งาน E-nail
ลิ้ง
http://kongpob1.blogspot.com/
ตัวอย่างการสั่งอาหาร
ลิ้ง
http://kongpob2.blogspot.com/
อ้างอิง
http://www.diarysguru.com/knowledge/%E0%B8%82%E0%B8%B1%E0%B9%89%E0%B8%99%E0%B8%95%E0%B8%AD%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AD%E0%B8%AD%E0%B8%81%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B8%90%E0%B8%B2%E0%B8%99%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5.html
http://irrigation.rid.go.th/rid15/ppn/Knowledge/Database/database4.htm