ระบบฐานข้อมูล ( database...

25

Upload: others

Post on 01-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์
Page 2: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

ระบบฐานข้อมูล (Database System) หมายถึง โครงสร้างสารสนเทศที่ประกอบด้วยรายละเอียดของข้อมูลที่มีความสัมพันธ์และเกี่ยวข้องกัน ที่จะน ามาใช้ในระบบงานต่างๆ ร่วมกัน ระบบฐานข้อมูลจึงนับเป็นการจัดเก็บข้อมูลอย่างเป็นระบบ โดยผู้ใช้สามารถจัดการกับข้อมูลได้ในลักษณะต่างๆ ทั้งการเพิ่มข้อมูล การแก้ไข การลบ การค้นหา ตลอดจนการเรียกดูข้อมูลในรูปแบบต่างๆ ซึ่งส่วนใหญ่จะเป็นการประยุกต์น าเอาระบบคอมพิวเตอร์เข้ามาช่วยในการจัดการฐานข้อมูล และน าฐานข้อมูลผ่านกระบวนการประมวลผลและแสดงผลลัพธ์ในรูปแบบต่างๆ ที่ต้องการ

Page 3: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

บิต (Bit) หมายถึง หน่วยของข้อมูลที่มีขนาดเล็กที่สุด เป็นข้อมูลที่มีการจัดเก็บในลักษณะ ของเลขฐานสองคือ 0 กับ 1 ไบต์ (Byte) หมายถึงหน่วยของข้อมูลที่เกิดจากการน าบิตมารวมเป็นตัวอักขระหรือตัวอักษร (Character) ฟิลด์ (Field) หมายถึง เขตข้อมูลหรือหน่วยของข้อมูลที่ประกอบขึ้นจากไบต์หรือตัวอักขระตั้งแต่หนึ่งตัวขึ้นไป มารวมกันแล้วได้ความหมายเป็นค า เป็นข้อความ หรือของสิ่งใดสิ่งหนึ่ง เช่น ชื่อบุคคล ต าแหน่ง อายุ เป็นต้น

Page 4: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

เรคคอรด์ (Record) หมายถึง ระเบียนหรือหน่วยของข้อมลูท่ีเกิดจากการน าเอาฟิลดห์รือเขตข้อมลูหลายๆเขตข้อมลูท่ีเก่ียวข้องมารวมกนั เพ่ือเกิดเป็นรายการข้อมลูเร่ืองใดเร่ืองหน่ึง เช่น ข้อมลูของพนักงาน 1 ระเบียน (1 คน) จะประกอบด้วย รหสัพนักงาน ช่ือ – สกลุ ท่ีอยู่ ต าแหน่งเงินเดือน เป็นต้น ไฟล ์(File) หมายถึง แฟ้มข้อมลูหรือหน่วยของข้อมลูหลายๆ ข้อมลู ท่ีเป็นเรื่องเดียวกนัมาร่วมกนั เช่น แฟ้มข้อมลูพนักงาน แฟ้มข้อมลูลกูค้า แฟ้มข้อมลูสินค้า ฯลฯ

รหสั ชื่อ-สกุล ต าแหน่ง เงนิเดอืน 1001 โชคชยั บลูกุล การบญัช ี 8,500 1002 ชยัชาญ อลงกต วศิวกร 25,000 1003 ชดิชม พานิชสกุล ประชาสมัพนัธ ์ 8,100

ฟิลด ์

เรคคอรด์

ไฟลพ์นักงาน

Page 5: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

เอนทิตี้ (Entty) หมายถึง ชื่อของสิ่งใดสิ่งหนึ่ง เปรียบเสมือนค านาม อาจได้แก่ คน สถานที่ สิ่งของ การกระท า ซึ่งต้องการจัดเก็บข้อมูลไว้ เช่น เอนทิตี้พนักงาน เอนทิตี้นักเรียน เป็นต้น แอททริบิวต์ (Attribute) หมายถึง รายละเอียดข้อมูลที่แสดงลักษณะและคุณสมบัติของ แอททริบิวต์หนึ่งๆ เช่น เอนทิตี้สินค้า ประกอบด้วย แอททริบิวต์รหัสสินค้า ประเภทสินค้า ชื่อสินค้า ราคาต่อหน่วย เป็นต้น ความสัมพันธ์ (Relationships) หมายถึง ความสัมพันธ์ระหว่างเอนทิตี้ เช่น ความสัมพันธ์ระหว่างแอนทิตี้นักศึกษา และแอนทิตี้คณะวิชา เช่น นักศึกษาแต่ละคนเรียนอยู่ คณะวิชาใด คณะวิชาหนึ่ง เป็นต้น

รหัส ชื่อ-สกุล ต าแหน่ง เงินเดือน 1001 โชคชัย บูลกุล การบัญช ี 8,500 1002 ชัยชาญ อลงกต วิศวกร 25,000 1003 ชิดชม พานิชสกุล ประชาสัมพันธ ์ 8,100

แอททริบิวต์ เอนทิตี้

Page 6: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

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

ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) เป็นการเก็บข้อมูลในรูปแบบที่เป็นตาราง(Table) หรือเรียกว่า รีเลชัน(Relation) มีลักษณะ 2 มิติ คือ เป็นแถว(Row) และเป็นคอลัมน์ (Column) การเชื่อมโยงข้อมูลระหว่างตารางจะเชื่อมโยง โดยใช้แอททริบิวต์ (Attribute) หรือคอลัมน์ที่เหมือนกันทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล ตัวอย่างเช่น ตารางลงทะเบียน ถ้าต้องการทราบว่านักเรียนรหัส 1001 ลงทะเบียนวิชาอะไร กี่หน่วยกิต ก็สามารถ น ารหัสวิชาในตารางนักเรียนไปตรวจสอบกับรหัสวิชาซึ่งเป็นคีย์หลักในตารางหลักสูตร เพื่อน าชื่อวิชา และจ านวนหน่วยกิตมาใช้

Page 7: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

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

รูปที่ 1.4 แสดงตารางที่มีความสัมพันธ์เชิงสัมพันธ์

รหสั นักเรียน

ช่ือ สกลุ แผนกวิชา

รหสั วิชา

1001 1002 1003

สมชาย สมพล สมสมร

มีสขุ สขุสม

สขุสวสัด์ิ

บญัชี การขาย คอมฯ

001 003 002

รหสั วิชา

ช่ือวิชา หน่วย กิต

001 002 003

ประมวลผลค า ตารางงาน การน าเสนอ

3 3 3

ตารางลงทะเบียน ตารางหลักสูตร

Page 8: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

2. ฐานข้อมูลแบบเครือข่าย (Network Database)

ฐานข้อมูลแบบเครือข่าย (Network Database) ฐานข้อมูลแบบเครือข่ายจะเป็นการรวมระเบียนต่างๆ และความสัมพันธ์ระหว่างระเบียน แต่จะต่างกับฐานข้อมูลเชิงสัมพันธ์ คือ ในฐานข้อมูลเชิงสัมพันธ์จะแฝงความสัมพันธ์เอาไว้ โดยระเบียนที่มีความสัมพันธ์กัน จะต้องมีค่าของข้อมูลในแอททริบิวต์หนึ่งเหมือนกัน แต่ในฐานข้อมูลแบบเครือข่าย จะแสดงความสัมพันธ์อย่างชัดเจน โดยแสดงไว้ในโครงสร้างตัวอย่างเช่น

Page 9: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

2. ฐานข้อมลูแบบเครือข่าย (Network Database)

จากรูป จะเห็นได้ว่า กรอบสี่เหลี่ยมแสดงถึงชนิดของระเบียนในฐานข้อมูล ลูกศรเป็นการแสดงความสัมพันธ์ จากรูปเป็นการแสดงความสัมพันธ์แบบหนึ่งต่อกลุ่ม การค้นหาข้อมูลที่ต้องการ เช่นถ้าต้องการค้นหารายชื่อนักเรียนที่เรียนอยู่แผนกที่ 5 ก็ท าโดยออกค าสั่งบอก DBMS ให้ค้นหาแผนกที่ 5 จากระเบียนของทะเบียน แล้ววิ่งตามลูกศร ซึ่งจะเชื่อมข้อมูลของแผนกที่ 5 เข้ากับข้อมูลของนักเรียนซึ่งได้แก่ระเบียนของนักเรียนที่เรียนในแผนกที่ 5 เป็นการค้นโดยใช้ลูกศรเชื่อมโยงไปถึงความสัมพันธ์จึงไม่จ าเป็นต้องเก็บ แอททริบิวตร์หัสแผนกไว้ในระเบียนของทะเบียน เช่นที่ท าในฐานข้อมูลเชิงสัมพันธ์

รูปที่ 1.5 แสดงตารางที่มีความสัมพันธ์ แบบเครือข่าย

Page 10: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

3. ฐานข้อมูลแบบล าดับ (Hierarchical Databas)

ฐานข้อมูลแบบล าดับ (Hierarchical Databas) ฐานข้อมูลแบบล าดับชั้น เป็นโครงสร้างที่จัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบ (Parent-Child Relationship Type) หรือเป็นโครงสร้างรูปแบบต้นไม้ (Tree) ข้อมูลที่จัดเก็บในที่นี้ คือ ระเบียน (Record) ซึ่งประกอบด้วยค่าของเขตข้อมูล (Field) ของแอนทิตี้หนึ่งๆ นี่เอง

Page 11: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

3. ฐานข้อมูลแบบล าดับ (Hierarchical Databas)

รปูท่ี 1.6 ตวัอย่างฐานข้อมลูแบบล าดบัชัน้

แผนก ชื่อแผนก รหัสแผนก ที่ตั้ง

นักเรียน ชื่อ

นักเรียน

รหัส

นักเรียน

ที่อยู ่

หลักสูตร ชื่อวิชา รหัสวิชา หน่วย

เรียน

Page 12: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

โปรแกรมฐานข้อมูล เป็นโปรแกรมซอฟแวร์ที่ช่วยจัดการข้อมูลหรือรายการต่างๆที่อยู่ในฐานข้อมูล ไม่ว่าจะเป็นการจัดเก็บ การเรียกใช้ การปรับปรุงข้อมูล โปรแกรมฐานข้อมูล จะช่วยให้ผู้ใช้สามารถค้นหาข้อมูลได้อย่างรวดเร็ว ซึ่งโปรแกรมฐานข้อมูลที่นิยมใช้มีอยู่ด้วยกันหลายตัว เช่น Access, FoxPro, Oracle, SQL เป็นต้น ส าหรับโปรแกรม Microsoft Access นี้จะกล่าวถึงวิธีการใช้เบื้องต้น โดยสังเขปไว้ในหน่วยถัดไป

Page 13: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์
Page 14: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์
Page 15: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์
Page 16: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์
Page 17: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

1. คีย์หลัก (Primary Key)

Primary Key หมายถึง คีย์หลักที่ก าหนดจากฟิลด์ที่ไม่มีข้อมูลซ้ าซ้อน (Unique) ใน Table เดียวกันโดยเด็ดขาดและจะต้องมีค่าเสมอจะเป็นค่าว่าง (Null) ไม่ได้สามารถน ามาจัดเรียงล าดับและแยกแยะข้อมูลแต่ละรายการออกจากกันได้เป็นอย่างดี ตัวอย่างของข้อมูลที่น ามาก าหนดเป็นคีย์หลัก ได้แก่ รหัสนักเรียน รหัสสินค้า หมายเลขห้องพัก รหัสวิชา ฯลฯ

Page 18: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

1. คีย์หลัก (Primary Key)

รหัส ชื่อ-สกุล ต าแหน่ง เงินเดือน 1001 โชคชัย บูลกุล การบัญช ี 8,500 1002 ชัยชาญ อลงกต วิศวกร 25,000 1003 ชิดชม พานิชสกุล ประชาสัมพันธ์ 8,100

รูปที่ 1.8 แสดงตัวอย่างการก าหนดคีย์หลัก ( Primary Key)

Page 19: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

2. คีย์นอก (Foreign Key)

.Foreign Key หมายถึง คีย์นอก เป็นคีย์ที่เชื่อม Table ที่เกี่ยวข้องหรือมีความสัมพันธ์กัน เช่น ใน Table หลักสูตร ก าหนดให้รหัสวิชาเป็น Primary Key และท าการเชื่อมโยงไปยัง Table ลงทะเบียนเพื่อต้องการทราบชื่อวิชาและหน่วยกิตที่นักเรียนลงทะเบียน โดยก าหนดฟิลด์ รหัสวิชา ใน Table ลงทะเบียนเป็น Foreign Key ในลักษณะความสัมพันธ์ One to May หมายความว่า รหัสวิชา 1 วิชาสามารถให้นักเรียนลงทะเบียนได้มากกว่า 1 คน ดังนั้นจึงมีรหัสวิชาซ้ ากันได้ใน Table ลงทะเบียนเป็น Foreign Key ในลักษณะความสัมพันธ์ One to Many หมายความว่า รหัสวิชา 1 วิชาสามารถให้นักเรียนลงทะเบยีนได้มากกว่า 1 คน ดังนั้นจึงมีรหัสซ้ ากันได้ใน Table ลงทะเบียน

Page 20: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

2. คียน์อก (Foreign Key)

รหสัวิชา ช่ือวิชา หน่วยกิต 001 002 003

ประมวลผลค า ตารางงาน การน าเสนอ

3 3 2

รหสั นักเรียน

ช่ือ สกลุ แผนกวิชา รหสัวิชา

1001 1002 1003

สมชาย สมพร สมสมร

มีสขุ สขุสม

สขุสวสัด์ิ

บญัชี การขาย คอมฯ

001 003 001

รปูท่ี 1.9. แสดงตวัอย่างการก าหนดคียน์อก ( Foreign Key)

ตารางหลกัสตูร

ตารางลงทะเบียน

Page 21: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

3. คีย์คู่แข่ง Candidate Key

Candidate Key หมายถึง คีย์มีคุณสมบัติใกล้เคียงกับคีย์หลัก ( Primary Key) หรือสามารถน ามาแทนคีย์หลักได้ เช่น ในตารางพนักงานก าหนดให้รหัสพนักงานเป็นคีย์หลักที่มีคา่ไม่ซ้ ากัน แต่พบว่าหมายเลขบัตรประชาชนของพนักงานก็มีค่าไมซ้ ากัน ดังนั้น หมายเลขบัตรประชาชนมีลักษณะเป็น Candidate Key ซึ่งสามารถน ามาเป็นคีย์ส ารองแทนคีย์หลักได้

Page 22: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

3. คีย์คู่แข่ง Candidate Key

รูปที่ 1.10 แสดงตัวอย่างการก าหนดคีย์ส ารองคีย์หลัก ( Candidate Key)

รหัส

พนักงาน ชื่อ สกุล หมายเลขบัตร การศึกษา

001

002

003

สมชาย

สิริวิมล

สมควร

มีสกุล

ชาญฉลาด

ชนะชาติ

1-1299-00123-25-8

1-3205-12001-32-4

3-2022-15444-77-9

ปวส.

ปริญญาตรี

ปวช.

Page 23: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

4. คีย์รวม (Compound Key)

Compound Key หมายถึง คีย์ที่เกิดจากการรวมข้อมูลหลายฟิลด์ให้มีคุณสมบัติเหมือนคีย์หลัก ( มีค่าไม่ซ้ ากันและไม่มีค่าว่าง หรือ null value) เช่น การน าฟิลด์ชื่อนักเรียน มารวมกับฟิลด์สกุลของนักเรียน ท าให้เกิดเป็นฟิลด์ข้อมูลที่ไม่มีค่าไม่ซ้ าซ้อนกัน เราเรียกคีย์ที่เกิดจากการรวมชื่อนักเรียนและสกุลว่า Compound key หรือคีย์รวม

Page 24: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

4. คียร์วม (Compound Key)

รปูท่ี 1.11. แสดงตวัอย่างการก าหนดคียร์วม ( compound Key)

รหสั พนักงาน

ช่ือ-สกลุ สกลุ หมายเลขบตัร การศึกษา

001 002 003

สมชาย สิริวิมล สมควร

มีสกลุ ชาญฉลาด ชนะชาติ

1-1299-00123-25-8 1-3205-12001-32-4 3-2022-15444-77-9

ปวส. ปริญญาตรี

ปวช.

Page 25: ระบบฐานข้อมูล ( Database System...1.ฐานข้อมูลเชิงสัมพันธ์ ( Relational Database) ฐานข้อมูลเชิงสัมพันธ์

เนื้อหาจบแล้ว ต่อไปให้นักเรียนท าแบบฝึกหัดหน่วยที่ 1 เมื่อท าแบบฝึกหัดหน่วยที ่1 เสร็จแล้ว

ให้นักเรียนศึกษา หน่วยที่ 2 ต่อไป