บทที่ 1
Download
1 / 24

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


  • 94 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' บทที่ 1 ความรู้พื้นฐาน' - maggie-thomas


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

Database System

อ.วรรธนะ พงษ์เสนา


วัตถุประสงค์

ในบทนี้ เมื่อเรียนจบแล้ว นักศึกษาสามารถที่จะ

1.เข้าใจวัตถุประสงค์ของระบบฐานข้อมูล

2.เข้าใจความแตกต่างระหว่าง DBMS และระบบแฟ้ม

3.เข้าใจวิวของข้อมูล

4.เข้าใจโมเดลของข้อมูล

5.อธิบาย ภาษาที่ใช้กับข้อมูลคือ ภาษานิยามข้อมูลและภาษาจัดการข้อมูล

6.อธิบายความหมาย ผู้ใช้งานและผู้บริหารฐานข้อมูล

7.อธิบายสถาปัตยกรรมของโปรแกรมประยุกต์

8.อธิบายความหมาย และประวัติความเป็นมาของระบบฐานข้อมูล


1 2 dbms
1.2 ระบบจัดการฐานข้อมูล (DBMS)

  • ระบบจัดการฐานข้อมูล (DBMS) คือ กลุ่มของข้อมูลที่เกี่ยวข้องกัน รวมกับชุดของโปรแกรมที่จัดการข้อมูลเหล่านี้ นั่นคือ

  • DBMS = กลุ่มข้อมูล + โปรแกรมจัดการข้อมูล

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


ระบบฐานข้อมูลมีความจำเป็นกับงานหลายชนิด เช่น

  • งานธนาคาร เพื่อใช้จัดการข้อมูลการเงิน

  • งานสายการบิน เพื่อใช้ในการจองตั๋วเครื่องบิน, จัดการเที่ยวบิน

  • งานของสถานศึกษา เพื่อใช้ในการเก็บและจัดการข้อมูลผู้เรียน, อาจารย์ และการจัดการเรียนการสอน

  • งานขายสินค้า เพื่อใช้ในการเก็บและจัดการข้อมูลสินค้า, ลูกค้า, การจัดการส่งสินค้า

  • งานอุตสาหกรรม เพื่อใช้ในการเก็บ และจัดการข้อมูลการผลิต, สินค้าคงคลัง, การสั่งซื้อ และร้านค้า

  • งานด้านบุคคล ใช้เก็บและจัดการข้อมูลพนักงาน, เงินเดือน การหักภาษี


File systems
ข้อเสียของการใช้ระบบแฟ้มข้อเสียของการใช้ระบบแฟ้ม(File systems)

  • 1.ข้อมูลเกิดความซ้ำซ้อนและไม่เป็นหนึ่งเดียว

  • 2.ยุ่งยากในการเข้าใช้ข้อมูล

  • 3.การโดดเดี่ยวของข้อมูล (Data isolation) ข้อมูลมีการกระจายไปอยู่ในแฟ้มต่างๆ

  • 4.ปัญหาบูรณภาพ (Integrity problems) ไม่สะดวกในการกำหนดบูรณภาพของข้อมูล เช่น “เงินฝากของลูกค้าธนาคารจะต้องห้ามต่ำกว่า 10 บาท”

  • 5.ปัญหาสภาวะครบหน่วย คือ การทำงานบางอย่างจะต้องกระทำทั้งชุดให้เสร็จจึงจะถือว่าเสร็จสมบูรณ์ (จะทำเพียงบางส่วนไม่ได้)

  • 6.ความผิดปกติในการเข้าถึงข้อมูลพร้อมกันหลายๆคน

  • 7.ปัญหาเรื่องความปลอดภัย



จุดประสงค์หลักของ Abstraction)ระดับชั้นนามธรรม

  • คือ การจัดให้ผู้ใช้พิจารณาข้อมูลออกเป็นระดับเพื่อง่ายต่อการทำงาน (และทำความเข้าใจ) นั่นคือ ระบบจะทำการซ่อนรายละเอียดของข้อมูลที่ซับซ้อนเอาไว้อย่างเหมาะสม

  • ระดับกายภาพ(Physical level) เป็นระดับต่ำสุด ซึ่งอธิบายการเก็บข้อมูลจริงลงในสื่อบันทึก

  • ระดับตรรกะ(Logic level) เป็นระดับที่สูงขึ้นมา ซึ่งอธิบายสิ่ง (ข้อมูล) ที่เก็บและอธิบายว่ามีความสัมพันธ์กับส่วนอื่นอย่างไร

  • ระดับวิว(View level) เป็นระดับที่สูงที่สุด ซึ่งอธิบายบางส่วนของข้อมูล ในฐานข้อมูลนั้น เพื่อให้เหมาะกับผู้ใช้แต่ละกลุ่มที่เกี่ยวข้องกับข้อมูลนั้น


Instance and schemas
อินสแตนท์และสคีมา Abstraction)(Instance and Schemas)

  • กลุ่มข้อมูลที่อยู่ ณ เวลานั้นเรียกว่า อินสแตนท์ (instance) ของฐานข้อมูล

  • ลักษณะโครงสร้างของฐานข้อมูลจะไม่มีการเปลี่ยนบ่อย เราเรียกลักษณะโครงสร้างนี้ว่า สคีมา(schema)

  • ระบบฐานข้อมูลจะประกอบด้วย สคีมาหลายชนิด (สอดคล้องกับระดับชั้นนามธรรม) ดังนี้

  • สคีมาเชิงกายภาพ (physical schema) เป็นโครงสร้างข้อมูลที่อธิบายในระดับกายภาพ

  • สคีมาเชิงตรรกะ (logical schema) เป็นโครงสร้างที่อธิบายข้อมูลในระดับตรรกะ(เชิงแนวคิด)


ประโยชน์ที่ได้จากการแบ่งสคีมาออกเป็นชั้นๆประโยชน์ที่ได้จากการแบ่งสคีมาออกเป็นชั้นๆ

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


Data models
โมเดลของข้อมูล (Data Models)ประโยชน์ที่ได้จากการแบ่งสคีมาออกเป็นชั้นๆ

  • โมเดลของข้อมูล (data model) เป็นรูปแบบ (เชิงแนวคิด) ที่ใช้อธิบายข้อมูล , ความสัมพันธ์ของข้อมูล, ความหมายของข้อมูล และเงื่อนไขความคงสภาพของข้อมูล (consistency constraints)

  • โมเดลข้อมูลมีหลายชนิด แต่ที่นิยมศึกษา คือ

  • 1.โมเดล ER (Entity-Relationship model)

  • 2. โมเดลเชิงสัมพันธ์ (Relation model)


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


หลักการของ โมเดล ER ที่ใช้อธิบายสคีมาของข้อมูล

  • คือ จำลองความสัมพันธ์ที่พบเห็นจริง (real world) ซึ่งประกอบด้วย

  • 1.เอนทิที (entity) คือ กลุ่มของสิ่งที่สนใจ เช่น ลูกค้า, บัญชีเงินฝาก, สาขาของธนาคาร

  • 2.รีเลชันชิพ (relationships,ความสัมพันธ์) คือ ความสัมพันธ์ของเอนทิที เช่น การฝากเงินแสดงความสัมพันธ์ระหว่าง ลูกค้า กับ บัญชีเงินฝาก ที่เราสนใจ


โมเดล ER ได้รับความนิยมอย่างสูง

  • เพราะง่ายในการทำความเข้าใจ และ สามารถแปลงไปเป็น โมเดลเชิงสัมพันธ์ได้ง่าย

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


Relational model
โมเดลเชิงสัมพันธ์ (Relational Model)

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


ภาษาสำหรับฐานข้อมูล (Relational Model)

  • ภาษาสำหรับฐานข้อมูลมี 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

    )


Data definition language ddl
ภาษานิยามข้อมูล (Data Definition Language, DDL)

  • มีหน้าที่ในการกำหนดรูปแบบของข้อมูลที่จะเก็บนั่นคือ กำหนดสคีมาของฐานข้อมูล เช่น

    create table account (

    account-number char(10),

    balance integer

    )


Dml data manipulation language
ภาษาจัดการข้อมูล (DML, Data Manipulation Language)

  • DML เป็นภาษาที่ใช้จัดการข้อมูล เช่น เพิ่ม, แก้ไข, ปรับปรุง ข้อมูล

  • ภาษา DML ถูกแบ่งออกเป็น 2 ประเภท คือ

    1.โพรซีเดอรอล (Procedural) เป็นภาษาที่ผู้ใช้ต้องระบุว่าต้องทำอย่างไร (ขั้นตอนวิธี) เพื่อให้ได้ข้อมูล (ผลลัพธ์) ที่ต้องการ

    2.นอนโพรซีเดอรอล (Nonprocedural) เป็นภาษาที่ผู้ใช้ระบุเพียงข้อมูล (ผลลัพธ์) ที่ต้องการเท่านั้น ไม่ต้องระบุวิธีที่จะได้ผลลัพธ์นั้น


SQL Manipulation Language)

  • ภาษา DML (ภาษาสอบถาม, query language) ที่นิยมใช้ในปัจจุบันคือ ภาษา SQL (Structured Query Language) ซึ่งเป็นชนิด นอนโพรซีเดอรอล

  • เช่น “ต้องการหาชื่อของลูกค้า (customer) ซึ่งมีรหัสลูกค้า (customer-id) เป็น 192-83-7465”


Database users
กลุ่มผู้ใช้ฐานข้อมูล Manipulation Language)(Database Users)

  • 1.นักเขียนโปรแกรมประยุกต์ (Application programmers) เป็นผู้เขียนโปรแกรมการติดต่อกับฐานข้อมูลด้วยคำสั่ง DML

  • 2.ผู้ใช้ขั้นสูง (Sophisticated users) เป็นผู้ติดต่อกับฐานข้อมูลด้วยคำสั่ง DML เพื่อให้ได้ผลลัพธ์ ตามต้องการทันที

  • 3.ผู้ใช้เฉพาะทาง (Specialized users) คือ ผู้ใช้ขั้นสูงที่เขียนโปรแกรมประยุกต์เฉพาะทางที่ใช้กับฐานข้อมูล เช่น งานทางด้านระบบฐานความรู้, งานระบบผู้เชี่ยวชาญ

  • 4.ผู้ใช้ทั่วไป (naïve users) เป็นผู้เรียกใช้โปรแกรมหรือชุดคำสั่งที่ได้สร้างไว้แล้ว (โดยผู้ใช้กลุ่ม 1-3) เช่น ผู้ใช้ที่เข้าถึงฐานข้อมูลผ่าน web, เลขานุการ


Database administrator
ผู้บริหารฐานข้อมูล (Database Administrator)

  • เป็นผู้ที่รับผิดชอบฐานข้อมูลทั้งหมด นั่นคือ มีหน้าที่ดังนี้

    1.เป็นผู้กำหนดสคีมา (โครงสร้างฐานข้อมูล)

    2.เป็นผู้กำหนดโครงสร้างสื่อบันทึกข้อมูล และ วิธีการเข้าถึงข้อมูลเชิงกายภาพ

    3.เป็นผู้ปรับเปลี่ยนสคีมา และ โครงสร้างการบันทึกข้อมูลเชิงกายภาพ ตามความเหมาะสม

    4.เป็นผู้กำหนดสิทธิการเข้าถึงข้อมูลให้กับผู้ใช้แต่ละคน

    5.เป็นผู้กำหนด เงื่อนไขความคงสภาพของฐานข้อมูล

    6.เป็นผู้ติดต่อกับผู้ใช้เพื่อจัดการกับฐานข้อมูลตามความต้องการในกรณีเฉพาะเช่น ปรับปรุงฐานข้อมูล

    7.ตรวจสอบและปรับปรุงฐานข้อมูลเพื่อให้มีประสิทธิภาพ


Transaction management
การจัดการทรานแซคชัน(Transaction Management)

  • ทรานแซคชัน คือ ชุดของการกระทำ ซึ่ง หนึ่งทรานแซคชันจะทำหนึ่งงานซึ่งจะต้องมีคุณสมบัติ atomicity และ consistency (ความต้องกัน) ซึ่งมีความหมายดังนี้

  • 1.atomicity คือ การทำงานเล็กที่สุดซึ่งมีผลการทำสองประการคือ ทำเสร็จ หรือ ไม่ทำอะไรเลย เช่น การโอนเงินบัญชี A ไป B

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



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


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

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

  • Three – tier architecture : ส่วน client จะเปรียบเสมือนเบื้องหน้า(front end) และไม่มีการเรียกใช้ฐานข้อมูลโดยตรง


ad