วันพุธที่ 7 ตุลาคม พ.ศ. 2552

การพัฒนาระบบฐานข้อมูล

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

2.โมเดลแบบเครือข่าย (Network Model)
จัดเก็บข้อมูลในโครงสร้างแบบกราฟ

3.โมเดลแบบเชิงสัมพันธ์ (Relation Model)
เป็นโมเดลที่นิยมใช้กันอย่างแพร่หลาย จัดเก็บข้อมูลในรูปแบบของเซ็ตของวิชาคณิตศาสตร์ เช่น (name, value),(tel, value) char(10) และ char(12)เป็นโดเมนแอตทริบิวต์

เซ็ตของความสัมพันธ์ สามารถแสดงการจัดเก็บข้อมูลเป็นเทเบิล
หรือตารางข้อมูลที่ประกอบด้วยแถว (rows หรือ tuples) และ คอลัมน์ (columns หรือ Attributes) โดยการตัดกันของแต่ละแถวกับแต่ละคอลัมน์ จะแทนด้วยค่าของข้อมูล (พูดถึงการเข้าถึงข้อมูล)(tel, value)char(10)และ char(12) เป็นโดเมนแอตทริบิวต์

ฐานข้อมูลเชิงสัมพันธ์

ฐานข้อมูลเชิงสัมพันธ์ (Relational database) จะอยู่ในรูปของตาราง 2 มิติ คือ ประกอบด้วยแถว (Row) และ คอลัมน์ (Column)เปรียบเทียบฐานข้อมูลเชิงสัมพันธ์กับระบบการประมวลผลแบบแฟ้มข้อมูล DBMS ทำงานอยู่บนพื้นฐานของโมเดลข้อมูลเชิงสัมพันธ์เรียกว่า “ระบบจัดการฐานข้อมูลเชิงสัมพันธ์” (Relational Database Management System: RDBMS) โดยข้อมูลแต่ละ Table ในฐานข้อมูลเชิงสัมพันธ์ เรียกว่า รีเลชั่น คือ ไฟล์ในระบบการประมวลผลข้อมูลแบบแฟ้มข้อมูล (File Processing System)

เปรียบเทียบฐานข้อมูลเชิงสัมพันธ์กับระบบการประมวลผลแบบแฟ้มข้อมูล
เทเบิล หรือ รีเลชั่น Table = Relation ไฟล์ (File)
คอลัมน์ หรือ แอตทริบิวต์ Column = Attribute ฟิลด์ (Field)
แถว หรือ ทูเปิล Row = Tuple เรคคอร์ด (Record)

ความสัมพันธ์ (Relationship)
หัวใจสำคัญในการออกแบบเทเบิล (Table) ที่มีโครงสร้างเชิงสัมพันธ์ เพื่อเก็บข้อมูลกลุ่มต่าง ๆ โดยจะต้องสามารถกำหนดความสัมพันธ์ระหว่าง กลุ่มข้อมูลเหล่านั้นได้ ต้องวิเคราะห์ให้ได้ว่าข้อมูลเหล่านั้นมีความสัมพันธ์ กันอย่างไร ซึ่งความสัมพันธ์ระหว่างเทเบิลมีทั้งหมด 3 ลักษณะ คือ แบบ 1:1 (One-to-One) แบบ 1:N (One-to-Many) แบบ M:N (Many-to-Many)

แบบ 1:1 (One-to-One)

แถว 1 แถวใน Table ใด ๆ สามารถจับคู่กับแถวในอีก Table หนึ่งได้ เพียงแถวเดียวเท่านั้น ตัวอย่าง ใช้รหัสพนักงานเป็นตัวเชื่อมเนื่องจากเป็นคอลัมน์ร่วม (Common Field) ของทั้ง 2 Table

แบบ 1:N (One-to-Many)

แถว 1 แถวใน Table ใด ๆ สามารถจับคู่กับแถวในอีก Table หนึ่งได้ หลายแถว ตัวอย่าง Table ลูกค้า และ Table การสั่งซื้อ

แบบ M:N (Many-to-Many)
แถวหลาย ๆ แถวใน Table หนึ่ง มีความสัมพันธ์กับอีกหลาย ๆ แถวในอีกTable หนึ่งพร้อมกัน ตัวอย่าง Table ลูกค้า และ Table การสั่งซื้อ และ สินค้า