slide1
Download
Skip this Video
Download Presentation
บทที่ 1 ความรู้พื้นฐาน

Loading in 2 Seconds...

play fullscreen
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
slide1

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

Database System

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

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

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

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

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

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

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

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

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

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

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

1 2 dbms
1.2 ระบบจัดการฐานข้อมูล (DBMS)
  • ระบบจัดการฐานข้อมูล (DBMS) คือ กลุ่มของข้อมูลที่เกี่ยวข้องกัน รวมกับชุดของโปรแกรมที่จัดการข้อมูลเหล่านี้ นั่นคือ
  • DBMS = กลุ่มข้อมูล + โปรแกรมจัดการข้อมูล
  • จุดประสงค์หลักของ DBMS คือ เพื่ออำนวยความสะดวกในการเก็บ และเรียกใช้ข้อมูลเหล่านี้ โดยเฉพาะอย่างยิ่งข้อมูลจำนวนมาก และมีความสัมพันธ์ที่ซับซ้อน จะต้องทนทานต่อเหตุการณ์ต่างๆ ที่อาจจะทำให้ข้อมูลเสียหาย
slide4
ระบบฐานข้อมูลมีความจำเป็นกับงานหลายชนิด เช่น
  • งานธนาคาร เพื่อใช้จัดการข้อมูลการเงิน
  • งานสายการบิน เพื่อใช้ในการจองตั๋วเครื่องบิน, จัดการเที่ยวบิน
  • งานของสถานศึกษา เพื่อใช้ในการเก็บและจัดการข้อมูลผู้เรียน, อาจารย์ และการจัดการเรียนการสอน
  • งานขายสินค้า เพื่อใช้ในการเก็บและจัดการข้อมูลสินค้า, ลูกค้า, การจัดการส่งสินค้า
  • งานอุตสาหกรรม เพื่อใช้ในการเก็บ และจัดการข้อมูลการผลิต, สินค้าคงคลัง, การสั่งซื้อ และร้านค้า
  • งานด้านบุคคล ใช้เก็บและจัดการข้อมูลพนักงาน, เงินเดือน การหักภาษี
file systems
ข้อเสียของการใช้ระบบแฟ้ม(File systems)
  • 1.ข้อมูลเกิดความซ้ำซ้อนและไม่เป็นหนึ่งเดียว
  • 2.ยุ่งยากในการเข้าใช้ข้อมูล
  • 3.การโดดเดี่ยวของข้อมูล (Data isolation) ข้อมูลมีการกระจายไปอยู่ในแฟ้มต่างๆ
  • 4.ปัญหาบูรณภาพ (Integrity problems) ไม่สะดวกในการกำหนดบูรณภาพของข้อมูล เช่น “เงินฝากของลูกค้าธนาคารจะต้องห้ามต่ำกว่า 10 บาท”
  • 5.ปัญหาสภาวะครบหน่วย คือ การทำงานบางอย่างจะต้องกระทำทั้งชุดให้เสร็จจึงจะถือว่าเสร็จสมบูรณ์ (จะทำเพียงบางส่วนไม่ได้)
  • 6.ความผิดปกติในการเข้าถึงข้อมูลพร้อมกันหลายๆคน
  • 7.ปัญหาเรื่องความปลอดภัย
slide7
จุดประสงค์หลักของระดับชั้นนามธรรม
  • คือ การจัดให้ผู้ใช้พิจารณาข้อมูลออกเป็นระดับเพื่อง่ายต่อการทำงาน (และทำความเข้าใจ) นั่นคือ ระบบจะทำการซ่อนรายละเอียดของข้อมูลที่ซับซ้อนเอาไว้อย่างเหมาะสม
  • ระดับกายภาพ(Physical level) เป็นระดับต่ำสุด ซึ่งอธิบายการเก็บข้อมูลจริงลงในสื่อบันทึก
  • ระดับตรรกะ(Logic level) เป็นระดับที่สูงขึ้นมา ซึ่งอธิบายสิ่ง (ข้อมูล) ที่เก็บและอธิบายว่ามีความสัมพันธ์กับส่วนอื่นอย่างไร
  • ระดับวิว(View level) เป็นระดับที่สูงที่สุด ซึ่งอธิบายบางส่วนของข้อมูล ในฐานข้อมูลนั้น เพื่อให้เหมาะกับผู้ใช้แต่ละกลุ่มที่เกี่ยวข้องกับข้อมูลนั้น
instance and schemas
อินสแตนท์และสคีมา (Instance and Schemas)
  • กลุ่มข้อมูลที่อยู่ ณ เวลานั้นเรียกว่า อินสแตนท์ (instance) ของฐานข้อมูล
  • ลักษณะโครงสร้างของฐานข้อมูลจะไม่มีการเปลี่ยนบ่อย เราเรียกลักษณะโครงสร้างนี้ว่า สคีมา(schema)
  • ระบบฐานข้อมูลจะประกอบด้วย สคีมาหลายชนิด (สอดคล้องกับระดับชั้นนามธรรม) ดังนี้
  • สคีมาเชิงกายภาพ (physical schema) เป็นโครงสร้างข้อมูลที่อธิบายในระดับกายภาพ
  • สคีมาเชิงตรรกะ (logical schema) เป็นโครงสร้างที่อธิบายข้อมูลในระดับตรรกะ(เชิงแนวคิด)
slide9
ประโยชน์ที่ได้จากการแบ่งสคีมาออกเป็นชั้นๆประโยชน์ที่ได้จากการแบ่งสคีมาออกเป็นชั้นๆ
  • คือ คุณสมบัติความเป็นอิสระของข้อมูลเชิงกายภาพ(Physical data independence) นั่นคือเมื่อมีการเปลี่ยนแปลงโครงสร้าง ข้อมูลในระดับกายภาพ แล้วจะไม่มีผลกระทบกับ โครงสร้างข้อมูลในระดับตรรกะ เช่น เมื่อมีการเปลี่ยนอุปกรณ์บันทึกข้อมูล ก็ยังสามารถใช้โปรแกรมที่จัดการข้อมูลของเดิม
data models
โมเดลของข้อมูล (Data Models)
  • โมเดลของข้อมูล (data model) เป็นรูปแบบ (เชิงแนวคิด) ที่ใช้อธิบายข้อมูล , ความสัมพันธ์ของข้อมูล, ความหมายของข้อมูล และเงื่อนไขความคงสภาพของข้อมูล (consistency constraints)
  • โมเดลข้อมูลมีหลายชนิด แต่ที่นิยมศึกษา คือ
  • 1.โมเดล ER (Entity-Relationship model)
  • 2. โมเดลเชิงสัมพันธ์ (Relation model)
slide11
ตัวอย่างของโมเดล ER ที่ใช้อธิบายสคีมาของข้อมูล
slide12
หลักการของ โมเดล ER
  • คือ จำลองความสัมพันธ์ที่พบเห็นจริง (real world) ซึ่งประกอบด้วย
  • 1.เอนทิที (entity) คือ กลุ่มของสิ่งที่สนใจ เช่น ลูกค้า, บัญชีเงินฝาก, สาขาของธนาคาร
  • 2.รีเลชันชิพ (relationships,ความสัมพันธ์) คือ ความสัมพันธ์ของเอนทิที เช่น การฝากเงินแสดงความสัมพันธ์ระหว่าง ลูกค้า กับ บัญชีเงินฝาก ที่เราสนใจ
slide13
โมเดล ER ได้รับความนิยมอย่างสูง
  • เพราะง่ายในการทำความเข้าใจ และ สามารถแปลงไปเป็น โมเดลเชิงสัมพันธ์ได้ง่าย
  • (โมเดลเชิงสัมพันธ์ ใช้อธิบายข้อมูลทุกอย่างในรูปตาราง ทำให้ง่ายในการจัดการ ซึ่งนิยมใช้ในการใช้งานจริงในการเก็บข้อมูล และเข้าถึงข้อมูล)
relational model
โมเดลเชิงสัมพันธ์ (Relational Model)
  • เก็บข้อมูลทุกตัวไว้ในรูปของตาราง โดยเก็บข้อมูลแต่ละตัวใส่ลงในแถวและรายละเอียดข้อมูล (แอททริบิวต์) อยู่ในคอลัมน์
slide15
ภาษาสำหรับฐานข้อมูล
  • ภาษาสำหรับฐานข้อมูลมี 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) เป็นภาษาที่ผู้ใช้ระบุเพียงข้อมูล (ผลลัพธ์) ที่ต้องการเท่านั้น ไม่ต้องระบุวิธีที่จะได้ผลลัพธ์นั้น

slide18
SQL
  • ภาษา DML (ภาษาสอบถาม, query language) ที่นิยมใช้ในปัจจุบันคือ ภาษา SQL (Structured Query Language) ซึ่งเป็นชนิด นอนโพรซีเดอรอล
  • เช่น “ต้องการหาชื่อของลูกค้า (customer) ซึ่งมีรหัสลูกค้า (customer-id) เป็น 192-83-7465”
database users
กลุ่มผู้ใช้ฐานข้อมูล(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 แล้ว ยอดเงินในบัญชีจะถูกต้องทั้งสองบัญชี
slide23
โครงสร้างของโปรแกรมประยุกต์โครงสร้างของโปรแกรมประยุกต์
slide24
โครงสร้างของโปรแกรมประยุกต์
  • Two – tier architecture: ส่วน client (ประกอบด้วย user และ application) จะติดต่อทางเนตเวิร์ค(ผ่านมาตรฐาน ODBC/JDBC) ไปที่ระบบฐานข้อมูล
  • Three – tier architecture : ส่วน client จะเปรียบเสมือนเบื้องหน้า(front end) และไม่มีการเรียกใช้ฐานข้อมูลโดยตรง
ad