1-1
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย
บทที่ 1* ฐานขอมูลเบื้องตนและแบบจําลองเชิงแนวคิด Introduction and Conceptual Modeling วัตถุประสงค 1. เพื่อใหมีความเขาใจในฐานขอมูลเบื้องตน 2. เพื่อใหมีความเขาใจในแบบจําลองเชิงแนวคิด 3. เพื่อใหมีความเขาใจในเรื่องกลยุทธฐานขอมูล และ สามารถนําไปประยุกตใชในการออกแบบฐานขอมูลตอไปได 4. เพื่อใหมีความเขาใจในการเขาใชขอมูลและสามารถแยกประเภทของผูใชขอมูลได 5. เพื่อใหมีความเขาใจในเรื่องของวิวัฒนาการฐานขอมูล
1.1
ชนิดของฐานขอมูลและแอปพลิเคชันของฐานขอมูล ในชีวิตประจําวันเรามักจะพบหรือตองใชฐานขอมูลอยูเสมอและอาจทําไปโดยไมรูตัว เชน การถอนเงินผานเอทีเอ็ม การจองตั๋วเครื่องบิน การยืมหนังสือจากหองสมุด เปนตน โดยทั่วไปแลัวขอมูลในฐานขอมูลนั้นอาจเปนขอความ (Text) หรือตัวเลข (Numeric) แตก็มีฐานขอมูลชนิดพิเศษอีกหลายชนิดที่ควรรูจัก เชน • ฐานขอมูลมัลติมีเดีย (Multimedia Database) ที่สามารถรองรับรูปภาพ คลิปวีดิทัศน (Video Clips) รวมทั้งขอความเสียงดวย • ฐานขอมูลทางภูมิศาสตร (Geographical Database) ที่สามารถจัดเก็บขอมูลแผนที่ ขอมูลภูมิอากาศ หรือภาพถายดาวเทียม • คลังขอมูล (Data Warehouse) มีความสามารถในการสกัด (Extract) ขอมูลจากขอมูลจํานวนมาก และมีเครื่องมือที่ชวยในการวิเคราะหขอมูลเพื่อใชในการตัดสินใจ • ฐานขอมูลแบบทันกาลเชิงรุก (Real-time and Active Database) ซึ่งมีความสามารถพิเศษในการ ควบคุมกระบวนงานในงานอุตสาหกรรมและการผลิต
1.1.1 ฐานขอมูล (Database) ฐานขอมูล (Database) คือกลุมของขอมูลที่เกี่ยวของกัน และขอมูล (Data) คือขอเท็จจริงที่สามารถบันทึกไดและมี ความหมายโดยปริยาย คุณสมบัติของฐานขอมูล ซึ่งสามารถเรียกไดวา มินิเวิรลด • สามารถเปนตัวแทนเหตุการณหรือเปนแบบจําลองของปญหาจริง (Mini-world) มินิเวิรลดคือแบบจําลองปญหาจริง หรือสวนหนึ่งของปญหาจริงที่ขอมูลในฐานขอมูลนั้น เกี่ยวของ เชน ฐานขอมูลการลงทะเบียนของนิสิตในมหาวิทยาลัย • ขอมูลที่เก็บไวในฐานขอมูลเดียวกันควรมีความเกี่ยวของกันและมีความหมายในตัวเอง • ไดถูกออกแบบ สราง และบรรจุขอมูลลงในฐานขอมูลเพื่อวัตถุประสงคอันใดอันหนึ่งที่แนชัด
1.1.2 ระบบฐานขอมูล (Database System) ระบบการจัดการฐานขอมูล (Database Management System-DBMS) คือ ซอฟตแวรที่ใชในการสรางและ บํารุงรักษาขอมูลและฐานขอมูลในคอมพิวเตอร
* อางอิงจากบทที่ 1 ของเอกสารอางอิง [1]
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย
1-2
ระบบฐานขอมูล (Database System) คือ ซอฟตแวรระบบการจัดการฐานขอมูล (DBMS) พรอมกับขอมูล บางครั้งอาจรวมถึงแอปพลิเคชันดัวย
รูปที่ 1.1 ระบบฐานขอมูล ลักษณะเฉพาะและความสามารถของระบบการจัดการฐานขอมูล • สามารถกําหนดคุณลักษณะของฐานขอมูล ตั้งแตขนิดของขอมูล (Data type) โครงสรางของขอมูล (Structure) และเงื่อนไขบังคับ (Constraint) ตางๆ • สรางฐานขอมูลและบรรจุขอมูลลงฐานขอมูลลงในหนวยเก็บ (Secondary storage) • จัดดําเนินการ (Manipulate) ฐานขอมูล เชนการสืบคน (Query) การจัดทํารายงาน การเพื่ม (Insertion) การลบ (Deletion) การแกไข (Modification) ขอมูล • ทําการประมวลผลพรอมกันและใชขอมูลรวมกัน (Concurrent processing and sharing) โดย สามารถมีผูใชงานหลายคนพรอมกันได มีโปรแกรมหลายโปรแกรมทํางานพรอมกันได โดยที่ขอมูลยังคง ความถูกตอง • สามารถจัดการปองกันและดูแลความปลอดภัย ผานทางการตรวจสอบการเขาถึงที่ไมไดรับการอนุญาต (Unauthorized access) การจัดการดานความมั่นคงของขอมูลเมื่อซอฟตแวรหรือฮารดแวรมีปญหา • สามารถทําการปรับปรุงและบํารุงรักษาฐานขอมูล และปรับเปลี่ยนระบบไปตามความตองการที่เปลี่ยนไป
1.2
ตัวอยาง มินิเวิรลด – สวนของ University environment เอนทิตีของมินิเวิรลด • • • • •
STUDENTs COURSEs SECTIONs (of COURSEs) (academic) DEPARTMENTs INSTRUCTORs จากมินิเวิรลดนี้ เราสามารถเขียน Entity-Relationship data model เพื่อแสดงความสัมพันธของเอนทิตีใน ระดับแนวคิด (Conceptual)
ความสัมพันธของมินิเวิรลด • SECTIONs เปนสวนยอยของ COURSEs หนึ่งๆ • STUDENTs เลือก SECTIONs • COURSEs ตองมี COURSEs เบื้องตน • INSTRUCTORs สอน SECTIONs • COURSEs กําหนดโดย DEPARTMENTs • STUDENTs มีสังกัด DEPARTMENTs
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย
1-3
จากมินิเวิรลดนี้ เราสามารถเขียนโมเดลแบบ E-R (ENTITY-RELATIONSHIP data model) เพื่อแสดง ความสัมพันธของเอนทิตีในระดับแนวคิด (Conceptual) ไดดังนี้
รูปที่ 1.2 ก ฐานขอมูลสําหรับเก็บ ขอมูลนักศึกษา (STUDENTs) และ รายวิชา (COURSEs)
รูปที่ 1.2 ข ฐานขอมูลสําหรับเก็บ ขอมูลตอนเรียน (SECTIONs)
รูปที่ 1.2 ค ฐานขอมูลสําหรับเก็บ ขอมูลรายงานผล การศึกษา (GRADE_REPOR Ts)
และรายวิชาพื้นฐาน (PREREQUISITE s)
1.3
ลักษณะสําคัญของการใชกลยุทธฐานขอมูล 1.3.1 ธรรมชาติในการบรรยายตนเองของระบบฐานขอมูล (Self-describing nature of a database system) • • •
Catalog ของ DBMS จะเก็บ definition หรือ description ของฐานขอมูล Definition ประกอบดวย โครงสรางไฟล ชนิด รูปแบบของขอมูล และขอบังคับตางๆ Description หรือเรียกวา meta-data ดังแสดงในรูปที่ 1.1 เปนสวนที่ทําใหซอฟตแวร DBMS
สามารถทํางานกับฐานขอมูลอื่นๆได
1.3.2 การไมขึ้นตอกันระหวางโปรแกรมและขอมูล ระบบฐานขอมูลจะอนุญาตใหทําการเปลี่ยนแปลงโครงสรางของหนวยเก็บขอมูล และการจัดการ (Operation) ตางๆ โดยไมจําเปนตองเปลี่ยนโปรแกรมการเขาถึง DBMS (DBMS access programs) เนื่องจากโครงสราง
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย
1-4
ของไฟลขอมูลนั้นถูกแยกออกจากโปรแกรมการเขาถึง (Access program) ซึ่งไมเหมือนกระบวนการจัดการไฟล (File processing) แบบดั้งเดิมที่โครงสรางของไฟลขอมูลจะถูกฝงติดกับโปรแกรมแอปพลิเคชัน จึงตองทําการ เปลี่ยนแปลงโปรแกรมทั้งหมดเมื่อตองการเปลี่ยนโครงสรางไฟล รูปที่ 1.3 รูปแบบของหนวย เก็บขอมูลภายใน สําหรับเก็บระเบียน นักศึกษา
1.3.3 Data abstraction หรือ Program-Operation Independence ในระบบ Object-Oriented และ Object-Relational นั้น ผูใชสามารถระบุการจัดการใหกับขอมูลในรูปแบบของ นิยามฐานขอมูล (Database definition) โดยการจัดการ (Operation) ใดๆ ซึ่งอาจจะเปนฟงกชันหรือเมทอดนั้น ประกอบดวย 2 สวน คือ • สวนติดตอกับผูใช (Interface) หรือ Signature ซึ่งประกอบดวย ชื่อคําสั่งและ argument (พารามิเตอร) ตางๆ • การปฏิบัติการ (Implementation) หรือวิธีการ (method) นั้นถูกระบุแยกออกมา ดังนั้นจึงสามารถทํา การเปลี่ยนแปลงไดโดยไมกระทบสวนติดตอผูใช ซึ่งเรียกวา Program-Operation Independence แบบจําลองขอมูล (Data model) จัดเปน Data abstraction ชนิดหนึ่ง ที่ใชในการซอนรายละเอียดของหนวยเก็บ ขอมูล และนําเสนอในรูปของมุมมองระดับแนวคิด (Conceptual view) ของฐานขอมูลใหกับผูใช จากนั้น DBMS จะทําการดึงรายละเอียดของหนวยเก็บไฟลจาก Catalog
1.3.4 สนับสนุนการพิจารณาขอมูลจากหลายมุมมอง ผูใชแตละคนสามารถพิจารณาฐานขอมูลในมุมมอง (View) ที่แตกตางกัน ซึ่งอธิบายเฉพาะสวนของขอมูลที่ผูใช สนใจเทานั้น ซึ่งมุมมองประกอบดวย ขอมูลที่อนุมานไดจากไฟลฐานขอมูล แตไมไดถูกเก็บไวในฐานขอมูลอยาง ชัดเจน
รูปที่ 1.4 แสดงสองมุมมองที่ได จากฐานขอมูล (ก) มุมมอง STUDENT TRANSCRIPT
(ข) มุมมอง COURSE PREREQUISITES
1.3.5 การใชขอมูลรวมกัน (Sharing) และการดําเนินการโดยกลุมผูใช (Multiuser transaction processing) ผูใชหลายคนมีสิทธิ์ในการรวมกันแกไขและปรับปรุงฐานขอมูลได โดยตองมีการรับรองจาก DBMS วาแตละการ ดําเนินการ (Transaction) จะตองถูกปฏิบัติการ (Execute) อยางถูกตองจนครบสมบูรณ หรือไมเชนนั้นก็ตองไม มีการดําเนินการใดๆเลย ซึ่งนับวาเปนสวนสําคัญมากสําหรับแอปพลิเคชันประเภทออนไลน หรือที่เรียกวา แอป พลิเคชัน OLTP (Online Transaction Processing) ซึ่งการดําเนินการ (Transaction) นั้นหมายถึง โปรแกรมหรือกระบวนการปฏิบัติการ ที่ทําการเขาถึงฐานขอมูลตั้งแตหนึ่งครั้งขึ้นไป เชน การอาน การแกไข เปนตน
1-5
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย
1.4
ผูใชฐานขอมูล เราสามารถจัดแบงผูใชออกเปน 2 ประเภทหลักๆ ดังนี้ • ผูมีบทบาทเบื้องหนา (Actors on the Scene) ไดแก ผูที่ใชและควบคุมเนื้อหาของฐานขอมูล • ผูมีบทบาทเบื้องหลัง (Actor behind the Scene) ไดแก ผูที่พัฒนาฐานขอมูลหรือออกแบบซอฟตแวร DBMS
1.4.1 ผูมีบทบาทเบื้องหนา (Actors on the Scene) •
•
•
ผูบริหารฐานขอมูล (Database administrators : DBA) มีหนาที่ดังตอไปนี้ - มีอํานาจในการใหสิทธิ์การเขาถึงฐานขอมูล - ประสานงานและดูแลการใชฐานขอมูล - จัดหาทรัพยากรทางดานซอฟตแวรและฮารดแวร - ควบคุมการใชฐานขอมูลและตรวจสอบประสิทธิภาพของการจัดการ (Operation) - แกไขปญหาตางๆ เชน ชองวางของระบบความปลอดภัย และปญหาเวลาการตอบสนองต่ํา ผูออกแบบฐานขอมูล (Database Designers) มีหนาที่ดังตอไปนี้ - ระบุเนื้อหา โครงสราง ขอบังคับ (Constraint) รวมถึงฟงกชันหรือการดําเนินการ (Transaction) ตางๆ ที่เกี่ยวของกับฐานขอมูล - ติดตอและทําความเขาใจความตองการของผูใชปลายทาง ผูใชปลายทาง (End-user) มีหนาที่ดังตอไปนี้ - ใชขอมูลในการสืบคน (Query) และจัดทํารายงาน - ผูใชปลายทางบางสวนอาจทําหนาที่ในการปรับปรุงเนื้อหาของฐานขอมูลอีกดวย
1.4.2 ผูมีบทบาทเบื้องหลัง (Actors behind the Scene) • •
•
ผูออกแบบและพัฒนาระบบ DBMS - ออกแบบและพัฒนาสวนตางๆ รวมทั้งสวนติดตอกับผูใช ในรูปแบบของชุดซอฟตแวร ผูพัฒนาเครื่องมือ (Tool Developers) - พัฒนาเครื่องมือ หรือทูล (Tool) ซึ่งเปนชุดซอฟตแวรที่ชวยในการออกแบบระบบฐานขอมูล และชวยในการพัฒนาผลงาน ผูปฏิบัติงานและดูแลรักษา (Operators and Maintenance Personnel) - สั่งดําเนินการ (Run) รวมถึงดูแลฮารดแวรและซอฟตแวรของระบบฐานขอมูล
1.4.3 ประเภทของผูใชปลายทาง (End-user) •
ผูใชชั่วคราว (Casual) - เปนผูใชที่ทําการเขาถึงฐานขอมูลเปนครั้งคราวเมื่อตองการ
•
Naïve or Parametric - ผูใชปลายทางสวนใหญนั้นถูกจัดอยูในกลุมนี้ โดยมีหนาที่ในการใชฟงกชันตางๆที่ถูกกําหนด มาเรียบรอยแลวในรูปแบบของ “การดําเนินการแบบสําเร็จรูป (canned transaction)” กับ
ระบบฐานขอมูล เชน พนักงานรับและจายเงินในธนาคาร พนักงานสํารองที่ เปนตน •
Sophisticated - ผูใชประเภทนี้ประกอบดวย นักวิเคราะหธุรกิจ นักวิทยาศาสตร วิศวกร รวมถึงผูใชอื่นๆที่มี
•
Stand- alone - สวนมากมักจะเปนผูที่ดูแลฐานขอมูลสวนบุคคลโดยใชชุดแอปพลิเคชันพรอมใช
ความคุนเคยกับสมรรถภาพของระบบ
โปรแกรมคํานวณภาษี ซึ่งสรางฐานขอมูลภายในขึ้นมาเอง เปนตน
เชน
ผูใช
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย
1.5
1-6
ขอดีในการใชกลยุทธฐานขอมูล •
•
สามารถควบคุมความซ้ําซอน (Redundancy) ในการจัดเก็บขอมูล รวมถึงความยากลําบากในการ พัฒนาและดูแลรักษา ซึ่งความซ้ําซอนของขอมูลนั้นเปนสาเหตุของปญหามากมาย เชน - จําเปนตองทําการปรับปรุงหรือแกไขขอมูลเดียวกันหลายครั้ง - สิ้นเปลืองพื้นที่ในการเก็บขอมูล - ไฟลที่เสนอขอมูลเดียวกันอาจมีการจัดเก็บขอมูลที่ไมตรงกันได - สามารถใชขอมูลรวมกันได ปองกันการเขาถึงขอมูลโดยไมไดรับอนุญาต
รูปที่ 1.5 การเก็บขอมูลที่ซ้ําซอน ของ StudentName และ CourseNumber ใน GRADE_REPORT
(ก) กรณีขอมูลตรงกัน (ข) กรณีที่ขอมูลไม ตรงกัน • •
• •
• • •
สามารถเตรียมหนวยเก็บขอมูลที่มั่นคง (Persistent storage) สําหรับโปรแกรม Objects (ใน Object-oriented DBMS’s – บทที่ 20-22) จัดเตรียมโครงสรางหนวยเก็บขอมูลเพื่อใหสามารถดําเนินการสืบคน (Query) ไดอยางมีประสิทธิภาพ โดยDBMS จะตองมีโครงสรางขอมูลพิเศษ เพื่อทําใหการคนขอมูลในดิสครวดเร็วยิ่งขึ้น ซึ่งทําไดโดยการ ใชดัชนี (Indexes) สามารถทําการสํารอง (Backup)และฟนสภาพขอมูล (Recovery) มีสวนการติดตอผูใชหลากหลายรูปแบบสําหรับผูใชในกลุมตางๆกัน ซึ่งประกอบดวย ภาษาสืบคน (Query language) ภาษาโปรแกรม (Programming language) แบบฟอรมและโคดคําสั่ง (Form and Command code) และ Menu-driven interface สามารถนําเสนอความสัมพันธที่ซับซอนของขอมูลได มีการกําหนดขอบังคับในการควบคุมความคงสภาพ (Integrity constraints) สนับสนุนการอนุมาน (Inference) ขอมูลใหมๆจากขอเท็จจริงที่เก็บไวในฐานขอมูล รวมถึงการ ดําเนินการ (Action) ตางๆโดยใชกฎเกณฑ
1.5.1 สิ่งที่เกี่ยวของเพิ่มเติมในการใชกลยุทธฐานขอมูล •
• • • •
มีศักยภาพในการควบคุมมาตรฐาน ซึ่งนับวาเปนสวนที่สําคัญมากของแอปพลิเคชันฐานขอมูลที่ประสบ ความสําเร็จในองคกรใหญๆ โดยมาตรฐานในที่นี้ หมายถึง ชื่อรายการขอมูล รูปแบบการแสดงภาพ หนาจอ โครงสรางรายงาน และ meta-data (นิยามของขอมูล) เปนตน สามารถลดเวลาในการพัฒนาแอปพลิเคชัน โดยทําใหเวลาที่ใชในการเพิ่มแอปพลิเคชันใหมนั้นลดลง มีความยืดหยุนในการเปลี่ยนแปลงโครงสรางขอมูล โดยโครงสรางขอมูลสามารถเปลี่ยนแปลงไปตาม ความตองการที่ระบุได มีการปรับขอมูลใหทันสมัยอยูตลอดเวลา ซึ่งเปนสิ่งสําคัญมากสําหรับธุรกิจออนไลน เชน สายการบิน โรงแรม การเชารถ เปนตน Economies of scale โดยการรวบรวมขอมูลและแอปพลิเคชันระหวางแผนก ซึ่งสามารถลดความ สิ้นเปลืองเนื่องจากความซ้ําซอนของทรัพยากรและบุคคลได
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย
1.6
1-7
วิวัฒนาการของ DBMS (โดย James Martin) • • • •
ชวงที่ 1 : ไฟลขอมูลพื้นฐาน (Elementary Data Files) – มีอิทธิพลในชวงตนทศวรรษที่ 60 ชวงที่ 2 : กระบวนการเขาถึงไฟล (File Access Method) – มีอิทธิพลในชวงปลายทศวรรษที่ 60 ชวงที่ 3 : ระบบฐานขอมูลในชวงแรกเริ่ม (Early Database System) – มีอิทธิพลในชวงตนทศวรรษที่ 70 ชวงที่ 4 : ระบบฐานขอมูลในปจจุบัน (Today Database System) – ตั้งแตป 1970 จนถึงปจจุบัน
1.6.1 ชวงที่ 1 : ไฟลขอมูลพื้นฐาน (Elementary Data Files) • •
ในการจัดระบบไฟลในรูปแบบลําดับอนุกรม (Serial manner) โครงสรางขอมูลทางกายภาพ (Physical data structure) มีลักษณะเดียวกับโครงสรางขอมูลทางตรรก (Logical data structure)
•
ใชกระบวนการจัดการแบบกลุม (Batch-processing) โดยไมมีการเขาถึงขอมูลแบบทันกาล (real-
• • •
มีการจัดเก็บไฟลที่ซ้ําซอน เนื่องจากขอมูลเดิมยังคงถูกเก็บไว ซอฟตแวรสามารถจัดการไดเพียงขั้นตอน input/output เทานั้น ผูพัฒนาโปรแกรมแอปพลิเคชันจะทําการออกแบบรูปแบบทางกายภาพและฝงติดไวกับโปรแกรมแอป พลิเคชัน ถามีการเปลี่ยนแปลงโครงสรางขอมูลหรือสวนควบคุมการเก็บขอมูล (Storage device) จะตองทําการ เขียนโปรแกรมแอปพลิเคชันใหม รวมทั้งแปลงภาษาและทดลองโปรแกรมใหมอีกดวย ขอมูลมักจะถูกออกแบบใหทํางานอยางมีประสิทธิภาพกับแอปพลิเคชันหนึ่งๆเทานั้น เกิดการซ้ําซอนระหวางไฟลขอมูลมาก
time)
• • •
รูปที่ 1.6 ชวงที่ 1 : ไฟลขอมูลพื้นฐาน (Elementary Data Files) (มี
อิทธิพลในชวงตน ทศวรรษที่ 60)
1.6.2 ชวงที่ 2 : กระบวนการเขาถึงไฟล (File Access Method) • • • •
สามารถทําการบันทึกไดโดยการเขาถึงขอมูลแบบตามลําดับ (Serial access) หรือแบบสุม (Random access) (ไมใชการบันทึกลงในขอบเขตของขอมูล (Field)) ใชกระบวนการจัดการแบบกลุม (Batch) แบบอินไลน (In-line) หรือแบบทันกาล (Real-time) ไฟลทางตรรก (Logical file) และไฟลทางกายภาพ (Physical file) นั้นแยกออกจากกัน สามารถทําการเปลี่ยนแปลงหนวยเก็บขอมูลไดโดยไมจําเปนตองทําการเปลี่ยนแปลงโปรแกรมแอปพลิเค ชัน
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย • • • • •
1-8
โครงสรางขอมูล มักอยูในรูปแบบลําดับอนุกรม (Serial) ลําดับเชิงดัชนี (Index sequential) หรือ Simple direct access ไมมีการใชมัลติเพิลคีย (Multiple-key) หรือคียหลายตัวในการสืบคนขอมูล
อาจมีการตรวจสอบความปลอดภัยของขอมูล แตนับวายังไมคอยปลอดภัย ยังคงมีแนวโนมที่จะออกแบบขอมูลใหมีประสิทธิภาพกับแอปพลิเคชันหนึ่งๆอยู ยังคงพบความซ้ําซอนของขอมูลจํานวนมากอยู
รูปที่ 1.7 ชวงที่ 2 : กระบวนการเขาถึง ไฟล (File Access Method) (มี อิทธิพลในชวงปลาย ทศวรรษที่ 60)
1.6.3 ชวงที่ 3 : ระบบฐานขอมูลในชวงแรกเริ่ม (Early Database System) • • • • • • • • •
สามารถอนุมานไฟลทางตรรก (Logical file) ที่แตกตางกันไดมากมาย จากขอมูลทางกายภาพ (Physical data) เดียวกัน สามารถเขาถึงขอมูลเดียวกันไดจากหลายทาง by applications with different requirements ซอฟตแวรมีความสามารถในการลดความซ้ําซอนของขอมูล มีการใชขอมูลรวมกันระหวางแอปพลิเคชันตางๆ การไมมีความซ้ําซอนของขอมูล เอื้อตอความคงสภาพของขอมูล (Data integrity) การจัดระบบหนวยเก็บขอมูลทางกายภาพ (Physical data) นั้นไมขึ้นกับโปรแกรมแอปพลิเคชัน สามารถกําหนดตําแหนงที่อยูของขอมูลในขอบเขตของขอมูล (Filed) หรือในระดับกลุม (group level) สามารถใชมัลติเพิลคีย (Multiple-key) หรือคียหลายตัวในการสืบคนได ใชการจัดระบบขอมูลที่ซับซอนโดยไมทําใหโปรแกรมแอปพลิเคชันซับซอน
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย
1-9
รูปที่ 1.8 ชวงที่ 3 : ระบบ ฐานขอมูลในชวง แรกเริ่ม (Early Database System) (มี
อิทธิพลในชวงตน ทศวรรษที่ 70)
1.6.4 ชวงที่ 4 : ความตองการของระบบฐานขอมูลในปจจุบัน (Today’s Requirements in Database System) • • • •
ซอฟตแวรมีขอมูลทางตรรก (Logical data) และทางกายภาพ (Physical data) ที่ไมขึ้นตอกัน สามารถทําการพัฒนาฐานขอมูลใหดีขึ้น โดยไมตองทําการดูแลรักษามาก มีสวนอํานวยความสะดวก (Facility) ใหผูบริหารฐานขอมูล ในการควบคุมขอมูล มีการใชขั้นตอนที่มีประสิทธิภาพในการควบคุมความเปนสวนบุคคล ความปลอดภัย และความคงสภาพ (Integrity) ของขอมูล
รูปที่ 1.9 ชวงที่ 4 : ความ ตองการของระบบ ฐานขอมูลใน ปจจุบัน (Today’s Requirements in Database System)
1.7
ประวัติการพัฒนาเทคโนโลยีฐานขอมูล •
แอปพลิเคชันฐานขอมูลในชวงแรก (Early Database Application) มีการนําเสนอโมเดลแบบแตกสาขา (Hierarchical model) และโมเดลแบบเครือขาย (Network model) ในชวงกลางทศวรรษที่ 60 และมีอิทธิพลในชวงทศวรรษที่ 70 ซึ่งยังคงพบการใชโมเดลเหลานี้ ในการปฏิบัติการฐานขอมูลทั่วโลกจํานวนมาก (a bulk of world wide database processing)
2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย •
•
•
1-10
ระบบที่ใชพื้นฐานของโมเดลความสัมพันธ (Relational Model based Systems) IBM และมหาวิทยาลัยตางๆไดทําการวิจัยและทดลองแบบจําลองที่ไดนําเสนอในชวงป 1970 เปนอยาง หนัก ซึ่งทําใหเกิดเปน DBMS เชิงสัมพันธ (Relational DBMS Products) ขึ้นในชวงทศวรรษที่ 80 Object-oriented applications
ไดมีการนําเสนอ OODBMSs (Object-Oriented Database Management System) ขึ้นในชวง ปลายทศวรรษที่ 80 ถึงตนทศวรรษที่ 90 เพื่อสนองความตองการในการประมวลผลที่ซับซอนใน โปรแกรมชวยการออกแบบหรือ CAD (Computer Aided Design) และแอปพลิเคชันอื่นๆ แตการใช งานยังไมเปนที่นิยมมากนัก ขอมูลในเว็บ (Web) และแอปพลิเคชันการคาอิเล็กทรอนิกส (E-commerce Applications) เว็บบรรจุขอมูลในรูปแบบของ HTML (Hypertext Markup Language) โดยมีการเชื่อมโยงระหวาง หนา กอใหเกิดการพัฒนาแอปพลิเคชันใหมๆขึ้นจํานวนมาก รวมถึงการคาอิเล็กทรอนิกส (Ecommerce) ซึ่งปจจุบันใชมาตรฐานใหม คือ XML (eXtended Markup Language)
1.7.1 การขยายความสามารถ (Capability) ของฐานขอมูล มีการเพิ่มฟงกชันใหมๆใหกับ DBMSs ในดานตางๆ ดังตอไปนี้ • แอปพลิเคชันทางวิทยาศาสตร • หนวยเก็บและจัดการขอมูลภาพ • การจัดการขอมูล Audio และ Video • การคนขอมูล (Data Mining) • •
Spatial data management
การจัดการขอมูลลําดับเวลาและประวัติขอมูล (Time Series and Historical Data Management) ซึ่งทั้งหมดนี้ทําใหเกิดความกาวหนาในการวิจัยและพัฒนาขอมูลชนิดใหมๆ โครงสรางขอมูลที่ซับซอน คําสั่งและ หนวยเก็บขอมูลใหมๆ รวมทั้งการเก็บดัชนี (Index schemes) ในระบบฐานขอมูล
1.8
กรณีที่ไมควรใช DBMS •
•
•
ขอเสียหลักของการใช DBMS คือคาใชจายที่สูง อันเนื่องมากจาก - การลงทุนเริ่มตนทางดานฮารดแวรสูง - คาใชจายในการใหกําหนดกฎทั่วไป (Generality) รวมถึงใหความปลอดภัย (Security) การควบคุมรวมกัน (Concurrency control) การฟนสภาพ (Recovery) และฟงกชัน ควบคุมความคงสภาพ (Integrity function) กรณีที่ไมจําเปนตองใช DBMS - เมื่อฐานขอมูลและแอปพลิเคชันมีลักษณะไมซับซอน มีการระบุที่ชัดเจน และไมตองการการ เปลี่ยนแปลงใดๆ - เมื่อตองการความทันกาลตลอดเวลา ซึ่งอาจทําไมไดเนื่องจากคาใชจายที่สูงของ DBMS - เมื่อไมตองการใหผูใชเขาถึงขอมูลไดหลายๆคน กรณีที่ DBMS ไมมีความสามารถเพียงพอ - เมื่อระบบฐานขอมูลไมสามารถจัดการกับขอมูลที่ซับซอน เนื่องมาจากขอจํากัดของโมเดล - เมื่อผูใชฐานขอมูลตองการคําสั่งพิเศษที่ไมมีใน DBMS
แบบฝกหัด 1. 2. 3.
อธิบายแนวคิดในการจัดการฐานขอมูล อธิบายแนวคิดของ DBMS จงเปรียบเทียบความแตกตางของ DBMS และ File Processing