วันอังคารที่ 4 พฤศจิกายน พ.ศ. 2557

กฎที่เกี่ยวข้องกับคีย์ในฐานข้อมูลเชิงสัมพันธ์

1. กฎความบูรณภาพของเอนทิตี้ (The Entity Intergrity Rule)
กฎนี้ระบุไว้ว่าแอททริบิวต์ใดที่เป็นคีย์หลัก ข้อมูลในแอททริบิวต์นั้นจะเป็นค่าว่าง(Null) ไม่ได้ ความหมายของการเป็นค่าว่างไม่ได้(Not Null) หมายความถึง ข้อมูลของแอททริบิวต์ที่เป็นคีย์หลักจะไม่ทราบค่าที่แน่นอนหรือไม่มีค่าไม่ได้
2. กฎความบูรณภาพของการอ้างอิง (The Referential IntegrityRule)
การอ้างอิงข้อมูลระหว่างรีเลชั่นในฐานข้อมูลเชิงสัมพันธ์จะใช้คีย์นอกของรีเลชั่นหนึ่งไปตรวจสอบกับค่าของแอททริบิวต์ที่เป็นคีย์หลักของอีกรีเลชั่นหนึ่งเพื่อเรียกดูข้อมูลอื่นๆที่เกี่ยวข้องหรือค่าของคีย์นอกจะต้องอ้างอิงให้ตรงกับค่าของคีย์หลักได้จึงจะสามารถเชื่อมโยงข้อมูลระหว่างสองรีเลชั่นได้สำหรับคีย์นอกจะมีค่าว่างได้หรือไม่ขึ้นอยู่กับกฎเกณฑ์การออกแบบฐานข้อมูล เช่น ในกรณีที่รีเลชั่นพนักงานมี Depnoเป็นคีย์นอกอาจจะถูกระบุว่าต้องทราบค่าแต่ในกรณีพนักงานทดลองงานอาจยังไม่มีค่า Depno เพราะยังไม่ได้ถูกบรรจุในกรณีที่มีการลบหรือแก้ใขข้อมูลของแอททริบิวต์ที่เป็นคีย์หลักซึ่งมีคีย์นอก จากอีกรีเลชั่นหนึ่งอ้างอิงถึง จะทำการลบหรือแก้ใขข้อมูลได้หรือไม่ ขึ้นอยู่กับการออกแบบฐานข้อมูล ว่าได้ระบุให้แอททริบิวต์มีคุณสมบัติอย่างไร ซึ่งมีโอกาสเป็นไปได้ 4 ทางเลือก
1.      การลบหรือแก้ใขข้อมูลแบบมีข้อจำกัด (Restrict) การลบหรือแก้ไขข้อมูลจะกระทำได้ เมื่อข้อมูลของคีย์หลักในรีเลชั่นหนึ่งไม่มีข้อมูลที่ถูกอ้างอิง โดยคีย์นอกของอีกรีเลชั่นหนึ่งเช่น รหัสแผนก Depno ในรีเลชั่นDepจะถูกแก้ใขหรือลบทิ้งต่อเมื่อไม่มีพนักงานคนใดสังกัดอยู่ในแผนกนั้น
2.      การลบหรือแก้ไขข้อมูลแบบต่อเรียง (Cascade) การลบหรือการแก้ใขข้อมูล จะทำแบบเป็นลูกโซ่ คือ หากมีการแก้ไขหรือลบข้อมูลของคีย์หลักในรีเลชั่นหนึ่งระบบจะทำการลบหรือแก้ใขข้อมูลของคีย์นอกในอีกรีเลชั่นหนึ่งที่อ้างอิงถึงข้อมูลของคีย์หลักที่ถูกลบให้ด้วย เช่น ในกรณีที่ยกเลิกแผนก 9 ในEntityแผนก ข้อมูลของพนักงานที่อยู่แผนก 10 ในEntityพนักงานจะถูกลบออกไปด้วย
3.      การลบหรือแก้ไขข้อมูลโดยเปลี่ยนเป็นค่าว่าง (Nullify) การลบหรือแก้ใขข้อมูลจะทำได้เมื่อมีการเปลี่ยนค่าของคีย์นอกในข้อมูลที่ถูกอ้างอิงให้เป็นค่าว่างเสียก่อน เช่น พนักงานที่อยู่ในแผนกที่ 9 จะถูกเปลี่ยนค่าเป็นค่าว่างก่อนหลังจากนั้น การลบข้อมูลของแผนกที่มีรหัส 9 จะถูกลบทิ้งหรือแก้ไขทันที ภายใน Entity แผนก

4.      การลบหรือแก้ไขข้อมูลแบบใช้ค่าโดยปริยาย ( Default) การลบหรือแก้ไขข้อมูลของคีย์หลัก สามารถทำได้โดยถ้าหากมีคีย์นอกที่อ้างอิงถึงคีย์หลักที่ถูกลบหรือแก้ไข ก็จะทำการปรับค่าของคีย์นอกนั้นโดยปริยาย (Default Value) ที่ถูกกำหนดขึ้นเช่น ในกรณีที่ยกเลิกแผนก 9 ในEntity แผนก ข้อมูลของพนักงานที่อยู่แผนก 9 ใน Entity พนักงานจะถูกเปลี่ยนค่าเป็น 00 ซึ่งเป็นค่าโดยปริยาย ที่หมายความว่า ไม่ได้สังกัดแผนกใด

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

ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)
เป็นรูปแบบของฐานข้อมูลที่นิยมใช้ในปัจจุบัน โดยถูกคิดค้นและพัฒนาโดย E.F. Codd เป็นรูปแบบที่เข้าใจง่ายสำหรับผู้ใช้ ไม่ซับซ้อนมีเครื่องมือที่ช่วยในการเรียกดูข้อมูล โดยใช้คำสั่งง่าย เช่น SQL
โมเดลนี้ใช้ relation หรือตาราง 2 มิติ แทน entity
ศัพท์ที่เกี่ยวข้อง

  • Relation = Table
  • Tuple = Row or Record
  • Attribute = Column or Field
  • Cardinality = Number of Rows
  • Primary = Unique Identifier
  • Domain = ขอบข่ายของค่าข้อมูล เช่น วันที่เริ่มทำงาน
ให้แต่ละ column ของตารางแทน attribute ให้แต่ละ row แทนค่าจริงของ 1 record (เรียก tuple)ฐานข้อมูลเชิงสัมพันธ์ เป็นการจัดเก็บรวบรวมข้อมูลเป็นแถวและคอลัมน์ในลักษณะตารางสองมิติ ที่ประกอบด้วย attribute ที่แสดงคุณสมบัติที่แสดงคุณสมบัติของ Relationship โดยผ่านกระบวนการทำให้เป็นบรรทัดฐาน (Normalized) ในระหว่างการออกแบบ เพื่อลดความซ้ำซ้อน และการจัดฐานข้อมูลอย่างมีประสิทธิภาพ
เป็นฐานข้อมูลซึ่งให้ภาพของข้อมูล ทั้งในระดับภายนอก(External Level) และ ระดับแนวคิด (Conceptual Level) แก่ผู้ใช้ฐานข้อมูลได้เป็นอย่างดี

คุณลักษณะในการจัดเก็บข้อมูล
ในแต่ละ Relation ประกอบด้วยข้อมูลของ Attribyte ต่างๆที่จัดเก็บในรูปตาราง 2 มิติ คือ Row, Column
1.      ข้อมูลในแต่ละแถวจะไม่ซ้ำกัน
2.      การจัดเรียงลำดับของข้อมูลในแต่ละแถวไม่เป็นสาระสำคัญ
3.      การจัดเรียงลำดับของ Attribute จะเรียงลำดับก่อนหลังอย่างไรก็ได้
4.      ค่าของข้อมูลในแต่ละ Attribute ของ Tuple หนึ่งๆ จะบรรจุได้เพียงค่าเดียว
ค่าของข้อมูลในแต่ละ Attribute จะบรรจุค่าของข้อมูลประเภทเดียวกัน

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

ระบบฐานข้อมูล คือ ระบบจัดเก็บข้อมูลด้วยคอมพิวเตอร์โดยมีวัตถุประสงค์เพื่อบำรุงรักษาข้อสนเทศ (Maintain information) และสามารถนำข้อสนเทศเหล่านั้นมาใช้ได้ทุกเมื่อที่ต้องการ
ระบบฐานข้อมูลประกอบส่วนประกอบหลัก4 ส่วนได้แก่
1. ข้อมูล (Data) ข้อมูลในฐานข้อมูลจะต้องมีคุณสมบัติ 2 ประการ คือ
  • เบ็ดเสร็จ (Integrate) ฐานข้อมูลเป็นแหล่งรวบรวมข้อมูลจากแฟ้มต่าง ๆ ไว้ครบถ้วนสมบูรณ์ เพื่อลดข้อมูลซ้ำซ้อนระหว่างแฟ้ม
  • ใช้ร่วมกันได้ (Share) ข้อมูลแต่ละชิ้นในฐานข้อมูลสามารถนำมาแบ่งใช้กันได้ระหว่างผู้ใช้ต่าง ๆ ในระบบ
2. ฮาร์ดแวร์ (Hardware) ประกอบด้วย อุปกรณ์บันทึกข้อมูลเช่น จานแม่เหล็ก , I/O device , Device controller , I/O channels , หน่วยประมวลผล และหน่วยความจำหลัก
3. ซอฟต์แวร์ (Sorftware) ตัวกลางเชื่อมระหว่างฐานข้อมูลและผู้ใช้คือ DBMS เป็นซอฟต์แวร์ที่สำคัญที่สุดของระบบฐานข้อมูล นอกจากนี้ยังมี Utility , Application Develoment tool , Desisn aids , Report writers , ect.
4. ผู้ใช้ (Users) มี 3 กลุ่มใหญ่ ๆ คือ
  • Application Programmer เขียนโปรแกรมประยุกต์
  • End Users ผู้ใช้ที่อยู่กับ Online terminal เข้าถึงข้อมูลโดยผ่านโปรแกรมประยุกต์ หรือผ่านภาษาเรียกค้น (Query Language)
  • Data Addministrator & Database Administrator
DA ผู้บริหารอาวุโส เป็นผู้ตัดสินใจว่าจะเก็บข้อมูลใดในฐานข้อมูลก่อน และกำหนดนโยบายการรักษาความปลอดภัยของข้อมูล

DBA ผู้เชี่ยวชาญระดับมืออาชีพ เป็นผู้สร้างฐานข้อมูลและนำมาใช้งานจริง โดยควบคุมทางด้านเทคนิคที่จำเป็นในการดำเนินนโยบายที่กำหนดโดย DA