ภารกิจที่ 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)
สิ่งที่ระบบให้ได้ (บางส่วน)
| สิ่งที่ระบบให้ ไม่ได้ (บางส่วน)
|
โครงสร้างแฟ้ม (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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น