วันอาทิตย์ที่ 23 ธันวาคม พ.ศ. 2555

การสืบค้นหนังสือ


การสืบค้นหนังสือมหาวิทยาลัยรามคำแหง
      ฐานข้อมูล Digital Collection รวบรวมวิทยานิพนธ์ งานวิจัย บทความวารสาร และหนังสือหายากฉบับเต็ม รวบรวมจากมหาวิทยาลัยต่างๆ ทั่วประเทศไทย บุคคลทั่วไปต้องสมัครสมาชิกเพื่อรับสิทธิในการเข้าใช้งานฟรี สนับสนุนโดย สำนักงานบริหารเทคโนโลยีสารสนเทศเพื่อพัฒนาการศึกษา สำนักงานคณะกรรมการการอุดมศึกษา กระทรวงศึกษาธิการ
วิทยานิพนธ์ และงานวิจัย มหาวิทยาลัยรามคำแหง เดิมสืบค้นได้จาก ฐานข้อมูลวิทยานิพนธ์ และงานวิจัย มหาวิทยาลัยรามคำแหง (DCMS) ซึ่งให้ข้อมูลถึงปี พ.ศ. 2549 ส่วนข้อมูลตั้งแต่ปี พ.ศ. 2550-ปัจจุบัน สามารถสืบค้นได้จากฐานข้อมูล Digital Collection สำหรับการสืบค้นวิทยานิพนธ์ และงานวิจัย มหาวิทยาลัยรามคำแหง จากฐานข้อมูล Digital Collection ในแบบ Basic Search มีวิธีดังนี้

1. เข้าสู่เว็บไซต์ ฐานข้อมูล Digital Collection (http://tdc.thailis.or.th/tdc/)

2. เลือกเมนู Basic Search ที่ด้านบน
3. เมื่อเข้าสู่หน้าจอ Basic Search ให้เลือกมหาวิทยาลัย/สถาบัน เป็น "มหาวิทยาลัยรามคำแหง" 
และเลือกชนิดเอกสารเป็น "วิทยานิพนธ์/Thesis" จะเป็นการกำหนดให้สืบค้นเฉพาะ วิทยานิพนธ์/Thesis ของมหาวิทยาลัยรามคำแหง

4. เลือกเขตข้อมูลเป็น "ชื่อเรื่อง" แล้วใส่คำที่ต้องการสืบค้นลงในช่อง จากนั้นเลือก "ส่วนใดส่วนหนึ่ง" 
ในที่นี้ใส่คำว่า "เว็บไซต์" เพื่อให้สืบค้นชื่อเรื่องที่มีคำว่า "เว็บไซต์" อยู่ในส่วนใดส่วนหนึ่งของชื่อเรื่อง

5. คลิกที่ปุ่ม "ค้นหา"


6. ใช้เวลาสักครู่ ระบบจะแสดงผลการสืบค้นออกมาทางหน้าจอ


แหล่งที่มา 
http://www.lib.ru.ac.th/service/lib_thesis-search.html



วันอาทิตย์ที่ 2 ธันวาคม พ.ศ. 2555

การออกแบบฐานข้อมูล



การออกแบบฐานข้อมูล

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

ขั้นที่ 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

วันอาทิตย์ที่ 25 พฤศจิกายน พ.ศ. 2555

ระบบฐานข้อมูล


ระบบฐานข้อมูล


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

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

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


องค์ประกอบของระบบฐานข้อมูล
องค์ประกอบของระบบฐานข้อมูลประกอบด้วย 5 องค์ประกอบ
 1.ฮาร์ดแวร์ เครื่องคอมพิวเตอร์หรืออุปกรณ์ต่อพ่วงต่างๆ
 2.ซอฟต์แวร์ ชุดคำสั่งที่สามารถทำให้คอมพิวเตอร์สามารถทำงานได้ แบ่งออกเป็น 2 ประเภทคือ
2.1ซอฟต์แวร์ระบบ
2.2ซอฟต์แวร์ประยุกต์  
 3.ข้อมูล ข้อมูลที่ใช้บนระบบฐานข้อมูล
 4.บุคลากร บุคลากรที่เกี่ยวข้องกับฐานข้อมูลแบ่งได้ 3 กลุ่ม คือ
4.1ผู้บริหารและผู้จัดการฐานข้อมูล มีหน้าที่สำคัญคือการจัดการกับฐานข้อมูลควบคุมระบบรักษาความปลอดภัยของฐานข้อมูลวางแผนป้องกันความผิดพลาดอันอาจจะก่อให้เกิดความเสียหายกับระบบฐานข้อมูล
4.2 ผู้ออกแบบฐานข้อมูล มีหน้าที่ในการรับผิดชอบเกี่ยวกับการออกแบบฐานข้อมูลให้ทำงานได้อย่างมีประสิทธิภาพ
4.3นักวิเคราะห์ระบบ ออกแบบวิเคราะห์ระบบและออกแบบโปรแกรมประยุกต์ที่แสดงถึงขั้นตอนในการทำงานของโปรแกรมประยุกต์การออกแบบอินเตอร์เฟช เพื่อติดต่อกับผู้ใช้งาน
4.4นักเขียนโปรแกรม ทำหน้าที่เขียนโปรแกรมประยุกต์ด้วยภาษาคอมพิวเตอร์ตามที่นักวิเคราะห์ระบบได้ออกแบบไว้ให้สามารถติดต่อและเข้าใช้ฐานข้อมูลได้
 5.ผู้ใช้งาน แบ่งออกเป็น 2 กลุ่มคือ
5.1 ผู้ใช้งานระดับปฏิบัติการ เป็นกลุ่มผู้ใช้งานที่มีความเกี่ยวข้องกับการเพิ่มแก้ไขลบข้อมูลที่จะป้อนเข้าสู่ระบบฐานข้อมูล
5.2ผู้ใช้งานระดับบริหาร เป็นกลุ่มที่ใช้ข้อมูลของระบบฐานข้อมูลเพื่อไปใช้เป็นแนวทางในการตัดสินใจเชิงธุรกิจหรือตามวัตถุประสงค์ของหน่วยงานอาจไม่มีส่วนเกี่ยวข้องกับการบันทึกเพิ่มแก้ไขข้อมูลโดยตรง

ชนิดของฐานข้อมูล
แบ่งได้ 3 แบบ
1.ฐานข้อมูลเชิงชั้น
2.ฐานข้อมูลแบบเครื่อข่าย
3.ฐานข้อมูลแบบสัมพัมธ์

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


ประโยชน์ของฐานข้อมูล
1.  สามารถลดความซ้ำซ้อนของข้อมูล  โดยไม่จำเป็นต้องจัดเก็บข้อมูลที่ซ้ำซ้อนกันไว้ในระบบแฟ้มข้อมูลของแต่ละหน่วยงานเหมือนเช่นเดิม  แต่สามารถนำข้อมูลมาใช้ร่วมกันได้
เช่น เมื่อต้องการติดต่อขอต่อภาษีรถยนต์ทางสำนักงานขนส่งก็สามารถใช้ข้อมูลในบัตรประชาชนของเราได้เพื่อลดความซ้ำซ้อนของข้อมูล
2.  สามารถหลีกเลี่ยงความขัดแย้งของข้อมูล  เนื่องจากไม่ต้องจัดเก็บข้อมูลที่ซ้ำซ้อนกันในหลายแฟ้มข้อมูล  ดังนั้นการแก้ไขข้อมูลในแต่ละชุดจะไม่ก่อให้เกิดค่าที่แตกต่างกันได้
เช่น สามารถนำข้อมูลที่มีอยู่ในฐานข้อมูลมาใช้ได้โดยไม่ขัดแย้งกับแฟ้มอื่นเพราะข้อมูลจะถูกรวบรวมไว้แล้ว
3.  แต่ละหน่วยงานในองค์กรสามารถใช้ข้อมูลร่วมกันได้
เช่น เมื่อเราไปทำธุระกรรมทางการเงินของธนาคารอีกสาขาหนึ่ง  ธนาคารก็สามารถถึงข้อมูลจากสาขาใหญ่ได้
4.  สามารถกำหนดให้ข้อมูลมีรูปแบบที่เป็นมาตรฐานเดียวกันได้  เพื่อให้ผู้ใช้ข้อมูลในฐานข้อมูลชุดเดียวกัน  สามารถเข้าใจและสื่อสารถึงความหมายเดียวกัน
เช่น เมื่อบริษัทลูกต้องการข้อมูลของราคาสินค้าก็สามารถตรวจสอบจากบริษัทแม่ได้เพื่อให้ราคาเป็นมาตราฐานเดี่ยวกัน
5.  สามารถกำหนดระบบความปลอดภัยให้กับข้อมูลได้  โดยกำหนดระดับความสามารถในการเรียกใช้ฐานข้อมูลของผู้ใช้แต่ละคน ให้แตกต่างกันตามความรับผิดชอบ
เช่น  เพื่อไม่ให้บุคคลภายนอกได้ข้อมูลที่เป็นความลับของบริษัท
6.  สามารถรักษาความถูกต้องของข้อมูลได้  โดยระบุกฎเกณฑ์ในการควบคุมความผิดพลาดที่อาจเกิดขึ้นจากการป้องข้อมูลผิด
เช่น เมื่อมีฐานข้อมูลเพียงแห่งเดียวก็ง่ายต่อการตรวจสอบข้อมูลให้มีความถูกต้อง
7.  สามารถตอบสนองต่อความต้องการใช้ข้อมูลในหลายรูปแบบ
เช่น ข้อมูลแต่ละแฟ้มจะสนับสนุนการทำงานขององค์กรหรือบริษัทอยุ่แล้ว
8.  ทำให้ข้อมูลเป็นอิสระจากโปรแกรมที่ใช้งานข้อมูลนั้น ซึ่งส่งผลให้ผู้พัฒนาโปรแกรมสามารถแก้ไขโครงสร้างของข้อมูล โดยไม่กระทบต่อโปรแกรมที่เรียกใช้งานข้อมูลนั้น
เช่น ผู้ดูแลสามารถแก้ไขอับเดทข้อมูลได้โดยไม่กระทบต่อฐานข้อมูล

ตัวอย่าง


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

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

การใช้



ตัวอย่างโครงสร้างตารางของฐานข้อมูล   BookForSales
CREATE TABLE BookType(
BTypeID CHAR(5) NOT NULL,
BTypeName VARCHAR(30),
PRIMARY KEY (BTypeID));

CREATE TABLE Customer(
CID CHAR(5) NOT NULL,
CName VARCHAR(30),
CEmail VARCHAR(50),
CUser VARCHAR(12),
CPwd VARCHAR(12),
CPhone VARCHAR(10),
CAddr VARCHAR(40),
CStreet VARCHAR(30),
CTumbon VARCHAR(30),
CAmpher VARCHAR(30),
CProvince VARCHAR(30),
CZipcode INT,
PRIMARY KEY (CID));

CREATE TABLE ORDERS(
OID CHAR(10) NOT NULL,
ODate DATE,
CSend DATE,
CID CHAR(5) NOT NULL,
FOREIGN KEY (CID) REFERENCES Customer (CID),
PRIMARY KEY (OID));

CREATE TABLE Publisher(
PubID CHAR(5) NOT NULL,
PubName VARCHAR(30),
PubEmail VARCHAR(50),
PubWeb VARCHAR(50),
PubAddr VARCHAR(60),
PubTel VARCHAR(10),
PRIMARY KEY (PubID));

CREATE TABLE Book(
ISBN CHAR(15) NOT NULL,
BName VARCHAR(50),
Price FLOAT,
Edition INT,
Published INT,
Picture VARCHAR(35),
BTypeID CHAR(5) NOT NULL,
PubID CHAR(5) NOT NULL,
FOREIGN KEY (BTypeID) REFERENCES BookType (BTypeID),
FOREIGN KEY (PubID) REFERENCES Publisher (PubID),
PRIMARY KEY (ISBN));

CREATE TABLE ORDERS_Book(
ISBN CHAR(15) NOT NULL,
OID CHAR(10) NOT NULL,
Qty INT,
Sum FLOAT,
FOREIGN KEY (ISBN) REFERENCES Book (ISBN),
FOREIGN KEY (OID) REFERENCES ORDERS (OID),
PRIMARY KEY (ISBN,OID));

CREATE TABLE Author(
AuID CHAR(3) NOT NULL,
AuName VARCHAR(40),
AuEmail VARCHAR(50),
PRIMARY KEY (AuID));

CREATE TABLE Author_Book(
ISBN CHAR(15) NOT NULL,
AuID CHAR(3) NOT NULL,
FOREIGN KEY (AuID) REFERENCES Author (AuID),
FOREIGN KEY (ISBN) REFERENCES Book (ISBN),
PRIMARY KEY (ISBN,AuID));




ตัวอย่างข้อมูล









การแสดงข้อมูล

คำสั่งภาษา SQL
SELECT  book.ISBNbook.BNamebook.Pricebook.BTypeID,
  booktype.BTypeNamebook.PubIDpublisher.PubName
FROM
  booktype INNER JOIN  book ON book.BTypeID = booktype.BTypeID INNER JOIN
  publisher ON book.PubID = publisher.PubID;



ผลลัพธ์
เขียนโปรแกรมด้วย PHP + MySQL
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=windows-874">
<title> php 
ติดต่อฐานข้อมูล Mysql </title>
</head>
<?  
  
    $host="localhost";
      $user="root";    //  คือ..............................................................................
       $password="naravit";  //  คือ ..............................................................................
       $db="BookForSales";
       $conn=mysql_connect($host,$user,$password);  // ติดต่อเครื่อง Server
       mysql_db_query($db,'set names tis620');  // ติดต่อฐานข้อมูล
     // mysql_select_db("dataemployee",$conn);   
         $sql = SELECT  book.ISBNbook.BNamebook.Pricebook.BTypeID,
  booktype.BTypeNamebook.PubIDpublisher.PubName
FROM
  booktype INNER JOIN  book ON book.BTypeID = booktype.BTypeID INNER JOIN
  publisher ON book.PubID = publisher.PubID ";
       $result = mysql_query($sql,$conn);
     while($row = mysql_fetch_array($result))
       {

        
echo $row['ISBN'] , " &nbsp &nbsp" , $row['Bname'] , " " , $row['Price'], " " , $row['BTypeID'] ," " , $row['BTypeName'] , " " , $row['PubID'] , " " , $row['PubName'] ;
        echo "<br>";
       }
 ?>
</body>
</html>

อ้างอิง
http://www.chandra.ac.th/office/ict/document/it/it04/page01.html
http://www.sirikitdam.egat.com/WEB_MIS/103_116/01.html
http://www.getdd.net/basiccom/48-databaseorg.html
http://mpnn2551.net46.net/Subjects/DBMS32042014/dataBaseIntro.html