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

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

รหัสวิชา 3901 – 2004 วิชาการพัฒนาระบบฐานข้อมูล

บทที่ 1

ฐานข้อมูล SQL
คำว่า “ฐานข้อมูล” เป็นการจัดเก็บและการดึงข้อมูล มาใช้ให้เกิดประโยชน์กับองค์กร

บทเรียน

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

ระบบฐานข้อมูล (Database System)
- สามารถแบ่งตามคุณลักษณะของโมเดลของข้อมูลที่จัดเก็บใน
ระบบฐานข้อมูลที่เป็นที่รู้จักกัน ได้แก่

1.โมเดลแบบลำดับชั้น (Hierarchical Model)
ลักษณะโมเดลนี้จะมีการจัดเก็บข้อมูลในโครงสร้างแบบทรี (Tree) ตัวอย่าง 1-1 โหนดลูก 1 โหนดมีโหนดพ่อแม่ 1 โหนด


2. โมเดลแบบเครือข่าย (Network Model)
จัดเก็บข้อมูลในโครงสร้างแบบกราฟ ตัวอย่าง 1-2 โหนดลูก 1 โหนด สามารถมีโหนดพ่อแม่ได้หลายโหนดเช่น TV มีโหนดพ่อแม่ 2 โหนด


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


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

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

ฐานข้อมูลเชิงสัมพันธ์ (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 การสั่งซื้อ ดังรูป รหัสลูกค้า ชื่อบริษัท ที่อยู่ 1001 Let’s Stop N Shop 87 Polk St., San Francisco 1002 B’s Beverage Fauntleroy Circus, London 1003 Chop-suey Chinese Hauptstr. 29, Bern รหัสสั่งซื้อ รหัสลูกค้า รหัสสินค้า 12010 1001 BE-203 12015 1003 ME-010 12016 1002 SE-057 12025 1003 SE-067 N 1 การสั่งซื้อ ลูกค้า
ใบสั่งซื้อแต่ละใบจะต้องมาจากลูกค้า คนเดียวเท่านั้น

แบบ M:N (Many-to-Many)

-แถวหลาย ๆ แถวใน Table หนึ่ง มีความสัมพันธ์กับอีกหลาย ๆ แถวในอีกTable หนึ่งพร้อมกัน ตัวอย่าง Table ลูกค้า และ Table การสั่งซื้อ และ สินค้า ดังรูป รหัสลูกค้า ชื่อบริษัท ที่อยู่ 1001 Let’s Stop N Shop 87 Polk St., San Francisco 1002 B’s Beverage Fauntleroy Circus, London 1003 Chop-suey Chinese Hauptstr. 29, Bern รหัสสั่งซื้อ รหัสลูกค้า รหัสสินค้า 12010 1001 BE-203 12015 1003 ME-010 12016 1002 SE-057 12025 1003 SE-067 N 1 การสั่งซื้อ ลูกค้า รหัสสั่งซื้อ ชื่อสินค้า ปริมาณ ME-010 Boston Crab Meat 120 BE-115 Ipoh Coffee 15 SE-067 Konbu 24 BE-2003 Outback Lager 30 สินค้า
ใบสั่งซื้อแต่ละใบจะต้องมาจากลูกค้า คนเดียวเท่านั้น