ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล
Introduction to
Database
• ระบบแฟ้มข้อมูล (File-based system) คือ ชุดของ โปรแกรมประยุกต์ที่ให้ผู้ใช้ ใช้เพื่อประมวลผลงานที่ ต้องการ โดยแต่ละโปรแกรมก็จะกําหนดและจัดการ แฟ้มข้อมูลของตนเอง • แฟ้มข้อมูลที่ใช้ในระบบไฟล์จะแยกจากกันเป็น เอกเทศ และอาจไม่มีความสัมพันธ์กัน • โดยส่วนใหญ่ข้อมูลและโปรแกรมมักรวมอยู่ด้วยกัน เป็นแฟ้มข้อมูล
ระบบแฟ้มข้อมูล
(File-based System)ฝ่ายลงทะเบียน ฝ่ายห้องสมุด » ข้อมูลนักศึกษา (รหัสชื่อ ที่อยู่) » ข้อมูลการยืม-คืนหนังสือ ฝ่ายการเงิน » ข้อมูลนักศึกษา (รหัส ชื่อ ที่อยู่) » ข้อมูลการเงิน » ข้อมูลนักศึกษา (รหัสชื่อ ที่อยู่) » ข้อมูลการลงทะเบียน ระบบแฟ้มข้อมูล (File-based System)
ข้อจํากัดของการประมวลผลแบบแฟ้มข้อมูล
• ความซํ้าซ้อนของข้อมูล (Redundancy) • ความขัดแย้งของข้อมูล (Data Inconsistency) เนื่องจากข้อมูลแยกกันโดยเป็นอิสระ เมื่อแฟ้มที่มี ข้อมูลซํ้าซ้อนกันแฟ้มใดแฟ้มหนึ่งถูกแก้ไข อีกแฟ้ม อาจไม่ถูกแก้ไขให้มีข้อมูลเหมือนกัน • ความไม่เป็นอิสระระหว่างโปรแกรมกับข้อมูล (Data Dependency) หากต้องการเปลี่ยนโครงสร้างของ ข้อมูลต้องแก้ไขโปรแกรมทั้งระบบความหมายของระบบฐานข้อมูล
• ระบบฐานข้อมูล (Database system) หมายถึง เป็น กลุ่มของข้อมูลที่สัมพันธ์กัน นํามาเก็บรวบรวมเข้า ไว้ด้วยกันอย่างมีระบบและและข้อมูลที่ประกอบกัน เป็นฐานข้อมูลนั้น ต้องตรงตามวัตถุประสงค์การใช้ งาน เพื่อให้สามารถนําข้อมูลมาประมวลเพื่อช่วยใน การตัดสินใจ ลดความซํ้าซ้อน สามารถใช้ข้อมูล ร่วมกันได้ มีการควบคุมดูแลรักษาระบบฐานข้อมูล
(Database system)
• ระบบฐานข้อมูลมีส่วนที่ทําหน้าที่ในการอธิบาย
ความหมายของรายการข้อมูลที่เก็บอยู่ในฐานข้อมูล ด้วย เรียกส่วนนี้ว่า
▫ บัญชีระบบ (System catalog) หรือ พจนานุกรม
ของข้อมูล(Data Dictionary) หรือเมตาดาต้า(Meta -data) เป็นข้อมูลของข้อมูล
• ในการจัดการข้อมูลในฐานข้อมูลจะใช้ซอฟต์แวร์
ประเภท ระบบจัดการฐานข้อมูล
(Database Management System : DBMS)
ผู้ใช้สามารถเข้าถึงข้อมูลในฐานข้อมูลโดยผ่าน DBMS
โดยที่ผู้ใช้อาจจะเขียนโปรแกรมประยุกต์หรือใช้ภาษา เรียกค้น (query Language)
• โครงสร้างของข้อมูลจะถูกแยกออกจากโปรแกรม
ประยุกต์และเก็บเอาไว้ในส่วนที่เรียกว่า “ฐานข้อมูล”
• ถ้ามีการเพิ่มหรือปรับปรุงโครงสร้างของข้อมูลก็จะไม่มี
ผลกระทบกับโปรแกรมประยุกต์
ฝ่ายลงทะเบียน ฝ่ายห้องสมุด ฝ่ายการเงิน DDBBMMSS » ข้อมูลนักศึกษา (รหัสชื่อ ที่อยู่) » ข้อมูลการการลงทะเบียน » ข้อมูลการเงิน » ข้อมูลการยืม-คืนหนังสือ
ระบบฐานข้อมูล
(Database system)
หน้าที่ของ
DBMS
• จัดการพจนานุกรมของข้อมูล (Data dictionary
management)
• จัดการการจัดเก็บข้อมูล(Data storage management) • การแปลงข้อมูลและการนําเสนอข้อมูล(Data
transformation and presentation)
• การจัดการด้านความปลอดภัย(Security management) • ควบคุมการเข้าใช้งานของผู้ใช้พร้อมกัน(Multiuser
หน้าที่ของ
DBMS
• การจัดการเรื่องการสํารองและกู้คืนข้อมูล(Backup
and recovery management)
• การจัดการความคงสภาพของข้อมูล(Data integrity
management)
• ภาษาในการเข้าถึงข้อมูลและส่วนประสานผู้ใช้ใน
โปรแกรมประยุกต์(Database access languages and application programming interfaces)
องค์ประกอบของระบบฐานข้อมูล
ฮาร์ดแวร์ Hardware ซอฟต์แวร์Software ข้อมูล Data กระบวนการ Procedure Peopleบุคลากร เครื่อง มนุษย์ สะพานฮาร์ดแวร์
(Hardware)
• หมายถึงคอมพิวเตอร์และอุปกรณ์รอบข้างซึ่ง เกี่ยวข้องกับการใช้งานฐานข้อมูลซอฟต์แวร์
(Software)
• หมายถึง ระบบปฏิบัติการ , ระบบจัดการฐานข้อมูล โปรแกรมประยุกต์ และโปรแกรมยูทิลิตี้ต่าง ๆ ที่ เกี่ยวข้องกับการใช้งานในระบบงานฐานข้อมูลข้อมูล
(Data) • หมายถึง ข้อมูลที่จัดเก็บอยู่ในฐานข้อมูล เพื่อนําไปใช้ใน การประมวลต่อไป • ส่วนที่ใช้อธิบายข้อมูลใน DBMS ซึ่งจะเป็นข้อมูลที่ บรรยายคุณลักษณะของข้อมูล(meta data)วิธีดําเนินการ
(Procedure)
หมายถึง คําสั่งและกฎต่าง ๆ ในขั้นตอนการปฏิบัติงานที่ เกี่ยวข้องกับชุดคําสั่ง กฎเกณฑ์ในการออกแบบและการใช้ งานฐานข้อมูลบุคลากร
(People)
• หมายถึงบุคคลที่เกี่ยวข้องกับระบบงานฐานข้อมูล ทั้ง
ส่วนที่เป็นการออกแบบและการใช้งาน
• ผู้บริหารฐานข้อมูล(Database Administrator :DBA) • นักออกแบบฐานข้อมูล(Database Designer)
• นักพัฒนาโปรแกรม(Application Developers)
ข้อดีของการใช้งานฐานข้อมูล
• มีความเป็นอิสระต่อกันระหว่างโปรแกรมและข้อมูล • ลดความซํ้าซ้อนของข้อมูล • เพิ่มความตรงกันของข้อมูล • สามารถใช้ข้อมูลร่วมกันได้ • บังคับให้เป็นมาตรฐานเดียวกันได้ • ป้องกันและควบคุมการเข้าถึงข้อมูลได้ง่ายขึ้น • ลดปัญหาในการบํารุงรักษาโปรแกรมแบบเดิมข้อจํากัดของระบบการจัดการฐานข้อมูล
• ซับซ้อน (Complexity)
• ขนาดใหญ่ (Size)
• ราคาของ DBMS แพง (Cost of DBMS)
• ราคาของฮาร์ดแวร์แพงตามไปด้วย(Additional hardware cost) • ค่าใช้จ่ายในการแปลงระบบ(Cost of conversion)
สถาปัตยกรรมฐานข้อมูล 3 ระดับ
ANSI/SPARC
(The tree-level ANSI/SPARC architecture)
แบ่งออกเป็น 3 ระดับ
• ระดับภายนอก(External level)
• ระดับแนวคิด(Conceptual level)
View 1 View 2 View 3 Conceptual Schema Internal Schema Database
User 1 User 2 User 3
External level Conceptual level Internal level
สถาปัตยกรรมฐานข้อมูล
3
ระดับ
ANSI/SPARCระดับภายนอก
(External level)
• เป็นระดับที่ติดต่อกับผู้ใช้
• ผู้ใช้แต่ละคนอาจจะมีมุมมองข้อมูลแตกต่างกันหรือเหมือนกัน
ก็ได้
• รูปแบบข้อมูลที่เห็นในระดับภายนอก เรียกว่า เค้าร่าง
ภายนอก(External schema)หรือ วิว(View) ซึ่งอาจนําเสนอได้ หลายรูปแบบ
ระดับภายนอก
(External level)
รหัส ชื่อ ที่อยู่ โทรศัพท์ 001 สินสมุทร 48/7 ถ.อุดรดุษฎี 0-4221-1040 002 สุดสาคร 64 ถ.ทหาร 0-4224-4505 รหัสวิชา ชื่อวิชา หน่วยกิต DB01 ระบบฐานข้อมูล 3 PR01 หลักการเขียนโปรแกรม 3 NW01 เครือข่ายและโทรคมนาคม 3 ชื่อ โทรศัพท์ สินสมุทร 0-4221-1040 สุดสาคร 0-4224-4505 รหัส ชื่อ ที่อยู่ โทรศัพท์ 001 สินสมุทร 48/7 ถ.อุดรดุษฎี 0-4221-1040 รหัสวิชา ชื่อวิชา หน่วยกิต DB01 ระบบฐานข้อมูล 3 PR01 หลักการเขียนโปรแกรม 3 NW01 เครือข่ายและ โทรคมนาคม 3 External schema Conceptual schemaระดับแนวคิด
(Conceptual level)
• เป็นโครงสร้างหลักของฐานข้อมูลโดยรวม • โครงสร้างข้อมูลในระดับนี้มุ่งเน้นความสัมพันธ์(Relationship) ระหว่าง ข้อมูลเป็นหลักสําคัญ หรือเรียกว่าแบบจําลองข้อมูล(Data Model) • เป็นระดับที่อธิบายถึงว่า ข้อมูลอะไร(What) ที่จะจัดเก็บลงในฐานข้อมูล และมีความสัมพันธ์ระหว่างอย่างไร • ระดับแนวคิดมีความเกี่ยวข้องกับสิ่งต่อไปนี้ ▫ จํานวนเอนติตี้ทั้งหมด ซึ่งประกอบด้วย แอตทริบิวต์ และความสัมพันธ์ ระหว่างเอนติตี้ ▫ กฏเกณฑ์ของข้อมูล ▫ ความปลอดภัย และความคงสภาพของข้อมูลระดับแนวคิด
(Conceptual level)
001 สินสมุทร 48/7 ถ.อุดรดุษฎี 0-4221-1040 002 สุดสาคร 64 ถ.ทหาร 0-4224-4505 003 ก้านกล้วย 55/2 ถ.ศรีชมชื่น 0-4225-5142 001 สินสมุทร 48/7 ถ.อุดรดุษฎี 0-4221-1040 002 สุดสาคร 64 ถ.ทหาร 0-4224-4505 003 ก้านกล้วย 55/2 ถ.ศรีชมชื่น 0-4225-5142 รหัส 003 001 002 Conceptual schema Internal schemaระดับภายใน
(Internal level)
• เป็นระดับที่จัดเก็บข้อมูลด้วยโครงสร้างที่เหมาะสม ซึ่งมีผลต่อความเร็ว และประสิทธิภาพในการเข้าถึงข้อมูลที่ต้องการ
• โครงสร้างข้อมูลที่ใช้เก็บ เช่น Tree , B-Tree หรือ Index ขึ้นอยู่กับการ กําหนดโดย DBA • รูปแบบข้อมูลที่เห็นในระดับภายในเรียกว่า เค้าร่างภายใน(Internal schema) • เป็นระดับที่มีการทํางานประสานกับระบบปฏิบัติการ (OS) • ข้อมูลในระดับภายในยังไม่ใช่รูปแบบการจัดเก็บข้อมูลจริงๆที่เก็บในดิสก์ • การอ่านและเขียนข้อมูลเป็นหน้าที่ของระบบปฏิบัติการ(OS)
ระดับภายใน
(Internal level
)
001 สินสมุทร 48/7 ถ.อุดรดุษฎี 0-4221-1040 002 สุดสาคร 64 ถ.ทหาร 0-4224-4505 003 ก้านกล้วย 55/2 ถ.ศรีชมชื่น 0-4225-5142 003 001 002 Internal schema Physical Disk 1 2 3 4 5 6 7 8 9 10 11 12 001 สินสมุทร.. 002 สุดสาคร.. 003 ก้านกล้วย... 4 11 Xเค้าร่างฐานข้อมูล
(schema)
ประกอบด้วย
• เค้าร่างภายนอก(External schema หรือ subschema)
• เค้าร่างแนวคิด(Conceptual schema)
ความเป็นอิสระของข้อมูล
(Data Independence) External schema External schema External schema Conceptual Schema Internal Schema External/Conceptual Mapping Conceptual/Internal MappingLogical data independence
แบบจําลองข้อมูล
(Data Model)
• แบบจําลองข้อมูล(Data Model) หมายถึง แบบจําลองที่ใช้
อธิบายและจัดการข้อมูล , ความสัมพันธ์ระหว่างข้อมูล และข้อบังคับของข้อมูลในระบบ
แบบจําลองข้อมูลในระดับแนวคิด
(Conceptual data model)
• ใช้หลักการเกี่ยวกับ เอนติตี้(Entity) , แอททริบิวท์
(Attribute) และความสัมพันธ์(Relationship)
• ตัวอย่างของแบบจําลองนี้ได้แก่ Entity-Relationship , Functional , Object-Oriented
Implementation or
Representational data
model
• แบบจําลองที่ประกอบด้วยรายการข้อมูลที่แตกต่างกัน • ตัวอย่างแบบจําลองแบบนี้ได้แก่
▫ Hierarchical data model ▫ Network data model
แบบจําลองข้อมูลเชิงสัมพันธ์
(Relational data model) รห ัสสาขา ที่อยู่ จ ังหว ัด รห ัสไปรษณีย์ B003 44/3 ถ.อุดรดุษฎี อุดรธานี 41000 B005 55/5 ถ.นิตโย อุดรธานี 41000 B007 16 ถ.โพนพิสัย หนองคาย 44000 B002 30 ถ.ชยางกูร อุบลราชธานี 34000 B004 88/10 ถ.ราชสีมา นครราชสีมา 43000 รห ัสพน ักงาน ชื่อ นามสกุล ตําแหน่ง เพศ ว ันเกิด เงินเดือน รห ัสสาขา SUD21 สมชาย ผู ้จัดการ ช 1 ตค. 2516 30000 B005 SNK37 แอน ทองประสม พนักงาน ญ 10 พย. 2519 12000 B007 SNK14 เจม พิทักษ์ หัวหน ้าแผนก ช 24 มีค. 2517 20000 B007 SUB09 สุนันท์ ยิ่งเจริญ พนักงาน ญ 19 กพ. 2521 9000 B002 SUD04 ปนัดดา วงศ์ไท ผู ้จัดการ ญ 3 กค. 2518 25000 B003 SNR41 เจนจิรา ประสพ พนักงาน ญ 13 มิย. 2520 9000 B004แบบจําลองข้อมูลในระดับกายภาพ