1 / 24

บทที่ 1 ความรู้พื้นฐาน

บทที่ 1 ความรู้พื้นฐาน. Database System. อ.วรรธนะ พงษ์ เสนา. วัตถุประสงค์. ในบทนี้ เมื่อเรียนจบแล้ว นักศึกษาสามารถที่จะ 1.เข้าใจวัตถุประสงค์ของระบบฐานข้อมูล 2.เข้าใจความแตกต่างระหว่าง DBMS และระบบแฟ้ม 3.เข้าใจวิวของข้อมูล 4.เข้าใจโมเดลของข้อมูล

Télécharger la présentation

บทที่ 1 ความรู้พื้นฐาน

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 1ความรู้พื้นฐาน Database System อ.วรรธนะ พงษ์เสนา

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

  3. 1.2 ระบบจัดการฐานข้อมูล (DBMS) • ระบบจัดการฐานข้อมูล (DBMS) คือ กลุ่มของข้อมูลที่เกี่ยวข้องกัน รวมกับชุดของโปรแกรมที่จัดการข้อมูลเหล่านี้ นั่นคือ • DBMS = กลุ่มข้อมูล + โปรแกรมจัดการข้อมูล • จุดประสงค์หลักของ DBMS คือ เพื่ออำนวยความสะดวกในการเก็บ และเรียกใช้ข้อมูลเหล่านี้ โดยเฉพาะอย่างยิ่งข้อมูลจำนวนมาก และมีความสัมพันธ์ที่ซับซ้อน จะต้องทนทานต่อเหตุการณ์ต่างๆ ที่อาจจะทำให้ข้อมูลเสียหาย

  4. ระบบฐานข้อมูลมีความจำเป็นกับงานหลายชนิด เช่น • งานธนาคาร เพื่อใช้จัดการข้อมูลการเงิน • งานสายการบิน เพื่อใช้ในการจองตั๋วเครื่องบิน, จัดการเที่ยวบิน • งานของสถานศึกษา เพื่อใช้ในการเก็บและจัดการข้อมูลผู้เรียน, อาจารย์ และการจัดการเรียนการสอน • งานขายสินค้า เพื่อใช้ในการเก็บและจัดการข้อมูลสินค้า, ลูกค้า, การจัดการส่งสินค้า • งานอุตสาหกรรม เพื่อใช้ในการเก็บ และจัดการข้อมูลการผลิต, สินค้าคงคลัง, การสั่งซื้อ และร้านค้า • งานด้านบุคคล ใช้เก็บและจัดการข้อมูลพนักงาน, เงินเดือน การหักภาษี

  5. ข้อเสียของการใช้ระบบแฟ้ม(File systems) • 1.ข้อมูลเกิดความซ้ำซ้อนและไม่เป็นหนึ่งเดียว • 2.ยุ่งยากในการเข้าใช้ข้อมูล • 3.การโดดเดี่ยวของข้อมูล (Data isolation) ข้อมูลมีการกระจายไปอยู่ในแฟ้มต่างๆ • 4.ปัญหาบูรณภาพ (Integrity problems) ไม่สะดวกในการกำหนดบูรณภาพของข้อมูล เช่น “เงินฝากของลูกค้าธนาคารจะต้องห้ามต่ำกว่า 10 บาท” • 5.ปัญหาสภาวะครบหน่วย คือ การทำงานบางอย่างจะต้องกระทำทั้งชุดให้เสร็จจึงจะถือว่าเสร็จสมบูรณ์ (จะทำเพียงบางส่วนไม่ได้) • 6.ความผิดปกติในการเข้าถึงข้อมูลพร้อมกันหลายๆคน • 7.ปัญหาเรื่องความปลอดภัย

  6. ระดับชั้นนามธรรม (Level of Abstraction)

  7. จุดประสงค์หลักของระดับชั้นนามธรรม • คือ การจัดให้ผู้ใช้พิจารณาข้อมูลออกเป็นระดับเพื่อง่ายต่อการทำงาน (และทำความเข้าใจ) นั่นคือ ระบบจะทำการซ่อนรายละเอียดของข้อมูลที่ซับซ้อนเอาไว้อย่างเหมาะสม • ระดับกายภาพ(Physical level) เป็นระดับต่ำสุด ซึ่งอธิบายการเก็บข้อมูลจริงลงในสื่อบันทึก • ระดับตรรกะ(Logic level) เป็นระดับที่สูงขึ้นมา ซึ่งอธิบายสิ่ง (ข้อมูล) ที่เก็บและอธิบายว่ามีความสัมพันธ์กับส่วนอื่นอย่างไร • ระดับวิว(View level) เป็นระดับที่สูงที่สุด ซึ่งอธิบายบางส่วนของข้อมูล ในฐานข้อมูลนั้น เพื่อให้เหมาะกับผู้ใช้แต่ละกลุ่มที่เกี่ยวข้องกับข้อมูลนั้น

  8. อินสแตนท์และสคีมา (Instance and Schemas) • กลุ่มข้อมูลที่อยู่ ณ เวลานั้นเรียกว่า อินสแตนท์ (instance) ของฐานข้อมูล • ลักษณะโครงสร้างของฐานข้อมูลจะไม่มีการเปลี่ยนบ่อย เราเรียกลักษณะโครงสร้างนี้ว่า สคีมา(schema) • ระบบฐานข้อมูลจะประกอบด้วย สคีมาหลายชนิด (สอดคล้องกับระดับชั้นนามธรรม) ดังนี้ • สคีมาเชิงกายภาพ (physical schema) เป็นโครงสร้างข้อมูลที่อธิบายในระดับกายภาพ • สคีมาเชิงตรรกะ (logical schema) เป็นโครงสร้างที่อธิบายข้อมูลในระดับตรรกะ(เชิงแนวคิด)

  9. ประโยชน์ที่ได้จากการแบ่งสคีมาออกเป็นชั้นๆประโยชน์ที่ได้จากการแบ่งสคีมาออกเป็นชั้นๆ • คือ คุณสมบัติความเป็นอิสระของข้อมูลเชิงกายภาพ(Physical data independence) นั่นคือเมื่อมีการเปลี่ยนแปลงโครงสร้าง ข้อมูลในระดับกายภาพ แล้วจะไม่มีผลกระทบกับ โครงสร้างข้อมูลในระดับตรรกะ เช่น เมื่อมีการเปลี่ยนอุปกรณ์บันทึกข้อมูล ก็ยังสามารถใช้โปรแกรมที่จัดการข้อมูลของเดิม

  10. โมเดลของข้อมูล (Data Models) • โมเดลของข้อมูล (data model) เป็นรูปแบบ (เชิงแนวคิด) ที่ใช้อธิบายข้อมูล , ความสัมพันธ์ของข้อมูล, ความหมายของข้อมูล และเงื่อนไขความคงสภาพของข้อมูล (consistency constraints) • โมเดลข้อมูลมีหลายชนิด แต่ที่นิยมศึกษา คือ • 1.โมเดล ER (Entity-Relationship model) • 2. โมเดลเชิงสัมพันธ์ (Relation model)

  11. ตัวอย่างของโมเดล ER ที่ใช้อธิบายสคีมาของข้อมูล

  12. หลักการของ โมเดล ER • คือ จำลองความสัมพันธ์ที่พบเห็นจริง (real world) ซึ่งประกอบด้วย • 1.เอนทิที (entity) คือ กลุ่มของสิ่งที่สนใจ เช่น ลูกค้า, บัญชีเงินฝาก, สาขาของธนาคาร • 2.รีเลชันชิพ (relationships,ความสัมพันธ์) คือ ความสัมพันธ์ของเอนทิที เช่น การฝากเงินแสดงความสัมพันธ์ระหว่าง ลูกค้า กับ บัญชีเงินฝาก ที่เราสนใจ

  13. โมเดล ER ได้รับความนิยมอย่างสูง • เพราะง่ายในการทำความเข้าใจ และ สามารถแปลงไปเป็น โมเดลเชิงสัมพันธ์ได้ง่าย • (โมเดลเชิงสัมพันธ์ ใช้อธิบายข้อมูลทุกอย่างในรูปตาราง ทำให้ง่ายในการจัดการ ซึ่งนิยมใช้ในการใช้งานจริงในการเก็บข้อมูล และเข้าถึงข้อมูล)

  14. โมเดลเชิงสัมพันธ์ (Relational Model) • เก็บข้อมูลทุกตัวไว้ในรูปของตาราง โดยเก็บข้อมูลแต่ละตัวใส่ลงในแถวและรายละเอียดข้อมูล (แอททริบิวต์) อยู่ในคอลัมน์

  15. ภาษาสำหรับฐานข้อมูล • ภาษาสำหรับฐานข้อมูลมี 2 ชนิด คือ 1.ภาษานิยามข้อมูล (Data Definition Language, DDL) เช่น CREATE, ALTER, DROP 2.ภาษาการจัดการข้อมูล (Data Manipulation Language, DML) เช่น INSERT, UPDATE, DELETE (อาจจะมีเพิ่ม อีก 2 ชนิดคือ 3. Data Control Language เช่น grant 4 Transaction Control Language เช่น commit )

  16. ภาษานิยามข้อมูล (Data Definition Language, DDL) • มีหน้าที่ในการกำหนดรูปแบบของข้อมูลที่จะเก็บนั่นคือ กำหนดสคีมาของฐานข้อมูล เช่น create table account ( account-number char(10), balance integer )

  17. ภาษาจัดการข้อมูล (DML, Data Manipulation Language) • DML เป็นภาษาที่ใช้จัดการข้อมูล เช่น เพิ่ม, แก้ไข, ปรับปรุง ข้อมูล • ภาษา DML ถูกแบ่งออกเป็น 2 ประเภท คือ 1.โพรซีเดอรอล (Procedural) เป็นภาษาที่ผู้ใช้ต้องระบุว่าต้องทำอย่างไร (ขั้นตอนวิธี) เพื่อให้ได้ข้อมูล (ผลลัพธ์) ที่ต้องการ 2.นอนโพรซีเดอรอล (Nonprocedural) เป็นภาษาที่ผู้ใช้ระบุเพียงข้อมูล (ผลลัพธ์) ที่ต้องการเท่านั้น ไม่ต้องระบุวิธีที่จะได้ผลลัพธ์นั้น

  18. SQL • ภาษา DML (ภาษาสอบถาม, query language) ที่นิยมใช้ในปัจจุบันคือ ภาษา SQL (Structured Query Language) ซึ่งเป็นชนิด นอนโพรซีเดอรอล • เช่น “ต้องการหาชื่อของลูกค้า (customer) ซึ่งมีรหัสลูกค้า (customer-id) เป็น 192-83-7465”

  19. กลุ่มผู้ใช้ฐานข้อมูล(Database Users) • 1.นักเขียนโปรแกรมประยุกต์ (Application programmers) เป็นผู้เขียนโปรแกรมการติดต่อกับฐานข้อมูลด้วยคำสั่ง DML • 2.ผู้ใช้ขั้นสูง (Sophisticated users) เป็นผู้ติดต่อกับฐานข้อมูลด้วยคำสั่ง DML เพื่อให้ได้ผลลัพธ์ ตามต้องการทันที • 3.ผู้ใช้เฉพาะทาง (Specialized users) คือ ผู้ใช้ขั้นสูงที่เขียนโปรแกรมประยุกต์เฉพาะทางที่ใช้กับฐานข้อมูล เช่น งานทางด้านระบบฐานความรู้, งานระบบผู้เชี่ยวชาญ • 4.ผู้ใช้ทั่วไป (naïve users) เป็นผู้เรียกใช้โปรแกรมหรือชุดคำสั่งที่ได้สร้างไว้แล้ว (โดยผู้ใช้กลุ่ม 1-3) เช่น ผู้ใช้ที่เข้าถึงฐานข้อมูลผ่าน web, เลขานุการ

  20. ผู้บริหารฐานข้อมูล (Database Administrator) • เป็นผู้ที่รับผิดชอบฐานข้อมูลทั้งหมด นั่นคือ มีหน้าที่ดังนี้ 1.เป็นผู้กำหนดสคีมา (โครงสร้างฐานข้อมูล) 2.เป็นผู้กำหนดโครงสร้างสื่อบันทึกข้อมูล และ วิธีการเข้าถึงข้อมูลเชิงกายภาพ 3.เป็นผู้ปรับเปลี่ยนสคีมา และ โครงสร้างการบันทึกข้อมูลเชิงกายภาพ ตามความเหมาะสม 4.เป็นผู้กำหนดสิทธิการเข้าถึงข้อมูลให้กับผู้ใช้แต่ละคน 5.เป็นผู้กำหนด เงื่อนไขความคงสภาพของฐานข้อมูล 6.เป็นผู้ติดต่อกับผู้ใช้เพื่อจัดการกับฐานข้อมูลตามความต้องการในกรณีเฉพาะเช่น ปรับปรุงฐานข้อมูล 7.ตรวจสอบและปรับปรุงฐานข้อมูลเพื่อให้มีประสิทธิภาพ

  21. การจัดการทรานแซคชัน(Transaction Management) • ทรานแซคชัน คือ ชุดของการกระทำ ซึ่ง หนึ่งทรานแซคชันจะทำหนึ่งงานซึ่งจะต้องมีคุณสมบัติ atomicity และ consistency (ความต้องกัน) ซึ่งมีความหมายดังนี้ • 1.atomicity คือ การทำงานเล็กที่สุดซึ่งมีผลการทำสองประการคือ ทำเสร็จ หรือ ไม่ทำอะไรเลย เช่น การโอนเงินบัญชี A ไป B • 2.consisteny (ความต้องกัน) คือ คุณสมบัติที่รับประกันความถูกต้องของการทำงาน เช่น เมื่อโอนเงินจากบัญชี A ไป B แล้ว ยอดเงินในบัญชีจะถูกต้องทั้งสองบัญชี

  22. โครงสร้างของระบบ

  23. โครงสร้างของโปรแกรมประยุกต์โครงสร้างของโปรแกรมประยุกต์

  24. โครงสร้างของโปรแกรมประยุกต์ • Two – tier architecture: ส่วน client (ประกอบด้วย user และ application) จะติดต่อทางเนตเวิร์ค(ผ่านมาตรฐาน ODBC/JDBC) ไปที่ระบบฐานข้อมูล • Three – tier architecture : ส่วน client จะเปรียบเสมือนเบื้องหน้า(front end) และไม่มีการเรียกใช้ฐานข้อมูลโดยตรง

More Related