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

ภารกิจที่ 1 ระบบฐานข้อมูล 26 /11/12


ภารกิจที่  1

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

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

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

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

ประโยชน์ของระบบฐานข้อมูล

        1ข้อมูลในระบบฐานข้อมูลสามารถใช้ร่วมกันได้(The data can be shared ) ตัวอย่างเช่น โปรแกรมระบบเงินเดือน สามารถเรียกใช้ข้อมูลรหัสพนักงานจาฐานข้อมูลเดียวกับโปรแกรมระบบการขาย ตามภาพในตอนท้ายที่ผ่านมา เป็นต้น       
       2. ระบบฐานข้อมูลสามารถช่วยให้มีความซ้ำซ้อนน้อยลง(Redundancy can be reduced ) ที่ลดความซ้ำซ้อนได้ เพราะเก็บแบบรวม(Integrated )       
       3. ระบบฐานข้อมูลช่วยหลีกเลี่ยงหรือลดความไม่คงที่ของข้อมูล( Inconsistency can be avoided to some extent. )       
      4. ระบบฐานข้อมูลสนับสนุนการทำธุรกรรม (Transaction support can de provided ) ธุรกรรม คือ ขั้นตอนการทำงานหลายกิจกรรมย่อยมารวมกัน       
     5. ระบบฐานข้อมูลสามารถช่วยรักษาความคงสภาพหรือความถูกต้องของข้อมูลได้ ( Integrity can be maintained ) โดยผู้บริหารฐานข้อมูลเป็นผู้กำหนดข้อบังคับความคงสภาพ(DBA implement integrity constraints or business rules. ) ตามที่ผู้บริหารข้อมูล(DA ) มอบหมาย เพื่อป้องกันไม่ให้ผู้ใช้เปลี่ยนแปลงข้อมูลในฐานข้อมูลทีโดยไม่ถูกต้อง ไม่ว่าจะโดยตั้งใจหรือไม่ตั้งใจก็ตาม
      6. สามารถบังคับใช้มาตรการรักษาความปลอดภัย( Security can be enforced ) กล่าวคือ ผู้บริหารฐานข้อมูลสามารถ กำหนดข้อบังคับ เรื่องปลอดภัย( Security Constraints )        

     7. ความต้องการที่เกิดข้อโต้แย้งระหว่างฝ่าย สามารถประนีประนอมได้( conflicting requirements can be balanced. )      
    8. สามารถบังคับให้เกิดมาตรฐานได้(Standards can be enforced )     
    9. ระบบฐานข้อมูลให้เกิดความเป็นอิสระของข้อมูล( Data Independence) เป็นประโยชน์ข้อสำคัญที่สุดเพราะทำให้ข้อมูลไม่ขึ้นอยู่กับการแทนค่าข้อมูลเชิงกายภาพ(Physical Data Independence)

ตัวอย่างฐานข้อมูล การสั่งซื้อ North Wind


สิ่งที่ระบบให้ได้ (บางส่วน)
  1. รายงานการสั่งซื้อของลูกค้าแต่ละราย
  2. รายงานพนักงานที่ดูแลลูกค้าแต่ละราย
  3. รายงานสรุปการสั่งซื้อ
  4. รายงานสรุปยอดขายสินค้าแต่ละวัน เดือน ปี
  5. รายงานสรุปสถิติการจัดส่งสินค้าตามช่วงวันที่
  6. รายงานสินค้าที่อยู่ระหว่างการสั่งซื้อ
  7. รายงานสินค้าที่ไม่อยู่ในระหว่างการสั่งซื้อแต่ถึงจุดสั่งซื้อ
  8. รายงานข้อมูลลูกค้าที่ไม่ได้ใช้บริการในไม่ต่ำกว่า 3 เดือน
  9. รายงานรายละเอียดสินค้าแยกตามกลุ่มสินค้า
  10. รายงานแยกข้อมูลยอดขายสินค้าประจำเดือน แยกกลุ่มสินค้า, ผู้ผลิต
  11. รายงานข้อมูลการสั่งซื้อเลือกตามวันที่สั่งซื้อ
  12. รายงานข้อมูลการสั่งซื้อเลือกตามวันที่ต้องการสินค้า
  13. รายงานข้อมูลพนักงานเรียงตามวันที่จ้าง
  14. รายงานข้อมูลลูกค้า พิมพ์ซอง เรียงตามพื้นที่ที่อาศัย และนามสกุล
  15. รายงานข้อมูลการสั่งซื้อ แยกตามกลุ่มพนักงาน
  16. รายงานอื่น ...
สิ่งที่ระบบให้ ไม่ได้ (บางส่วน)
  1. รายงานการคืนสินค้า
  2. รายงานการจัดซื้อสินค้าเข้า stock
  3. รายงานการส่งสินค้า
  4. รายงานการขึ้นเงินเดือนพนักงาน
  5. รายงานประเภทสมาชิก
  6. รายงานการรับส่วนลดของสมาชิก แยกตามประเภท
  7. รายงานการรับสินค้า
  8. รายงานการส่งคืนสินค้า
  9. รายงานการทำงานของพนักงาน
  10. รายงานการขาด ลา สายของพนักงาน
  11. รายงานวันที่ลูกค้าสมัครสมาชิก
  12. รายงานลูกหนี้
  13. รายงานการชำระหนี้
  14. รายงานจดหมายทวงหนี้ ตามระยะค้างส่ง
  15. รายงานเจ้าหนี้
  16. รายงานอื่น ...



โครงสร้างแฟ้ม (File Structure)
1. Products
productidรหัสสินค้า
productnameชื่อสินค้า
supplieridรหัสผู้จำหน่าย
categoryidรหัสกลุ่มสินค้า
quantityperunitปริมาณต่อหน่วย
unitpriceราคาต่อหน่วย
unitsinstockปริมาณในคลัง
unitsonorderประมาณที่กำลังสั่งซื้อ
reorderlevelจุดสั่งซื้อ
discontinuedสถานภาพเลิกขาย
2. Categorys
categoryidรหัสกลุ่มสินค้า
categorynameชื่อกลุ่มสินค้า
descriptionคำอธิบาย
pictureภาพ
3. Employees
employeeidรหัสพนักงาน
lastnameสกุล
firstnameชื่อ
titleตำแหน่ง
birthdateวันเกิด
hiredateวันจ้าง
addressที่อยู่
cityเมือง
regionภูมิภาค
postalcodeรหัสไปรษณีย์
countryประเทศ
homephoneโทรบ้าน
extensionเลอร์ต่อ
reportstoประวัติการทำงาน
4. Customers
customeridรหัสลูกค้า
companynameชื่อบริษัท
contactnameชื่อผู้ติดต่อ
contacttitleตำแหน่งผู้ติดต่อ
addressที่อยู่
cityเมือง
regionภูมิภาค
postalcodeรหัสไปรษณีย์
countryประเทศ
phoneโทรศัพท์
faxแฟกซ์
5. Suppliers
supplieridรหัสผู้จำหน่าย
companynameชื่อบริษัทผู้จำหน่าย
contactnameชื่อผู้ติดต่อ
contacttitleตำแหน่งผู้ติดต่อ
addressที่อยู่
cityเมือง
regionภูมิภาค
postalcodeรหัสไปรษณีย์
countryประเทศ
phoneโทรศัพท์
faxแฟกซ์
6. Shippers
shipperidรหัสผู้ขนส่ง
companynameชื่อบริษัทผู้ขนส่ง
phoneโทรศัพท์
7. Orders
orderidรหัสใบสั่งซื้อ
customeridรหัสลูกค้า
employeeidรหัสพนักงาน
orderdateวันที่สั่งซื้อ
requireddateวันที่ต้องการ
shippeddateวันที่ส่ง
shipviaทางที่ส่ง
freightค่าขนส่ง
shipnameชื่อผู้รับ
shipaddressที่อยู่ผู้รับ
shipcityเมื่อที่รับ
shipregionภูมิภาคที่รับ
shippostalcodeรหัสไปรษณีย์
shipcountryประเทศ
8. Orderdetails
orderidรหัสใบสั่งซื้อ
productidรหัสสินค้า
unitpriceราคาต่อหน่วย
quantityปริมาณ
discountส่วนลด
หมายเหตุ







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




เเหล่งข้อมูล


http://www.thaiall.com/project/projectdbnwind.htm






ไม่มีความคิดเห็น:

แสดงความคิดเห็น