ระบบการจัดการฐานข้อมูล
ระบบจัดการฐานข้อมูลคืออะไร ระบบจัดการฐานข้อมูล (Database Management System : DBMS) หมายถึง ซอฟต์แวร์ระบบที่ใช้ในการจัดการฐานข้อมูล โดยมีวัตถุประสงค์หลักคือ การสร้างสภาวะแวดล้อมที่สะดวกและมีประสิทธิภาพในการเข้าถึง และจัดเก็บข้อมูลของฐานข้อมูล
ระบบจัดการฐานข้อมูลคืออะไร (ต่อ) ระบบจัดการฐานข้อมูลจะมีหน้าที่ในการแปล ความต้องการของผู้ใช้ให้อยู่ในรูปแบบที่สามารถทำงานกับฐานข้อมูลตามวัตถุประสงค์ของผู้ ใช้ได้
สถาปัตยกรรมฐานข้อมูล แบบออกเป็น 3 ระดับ คือ ระดับภายใน (Internal level) ระดับเชิงแนวคิด (Conceptual level) ระดับภายนอก (External level)
ภาษาที่ใช้ในสภาวะแวดล้อมต่าง ๆ ในฐานข้อมูล
คำศัพท์ที่เกี่ยวข้อง สกีมาฐานข้อมูล (Database schema) สับสกีมา (Sub-schema) ความเป็นอิสระของข้อมูล (Data independence) ความเป็นอิสระของข้อมูลทางกายภาพ (physical data independence) ความเป็นอิสระของข้อมูลทางตรรกะ (logical data independence)
ชนิดของระบบฐานข้อมูล จำนวนของผู้ใช้ ผู้ใช้คนเดียว (Single-user) ผู้ใช้หลายคน (Multi-user) สถานที่ตั้งของฐานข้อมูล ฐานข้อมูลแบบรวมศูนย์ ฐานข้อมูลแบบกระจาย ชนิดของการใช้งานของระบบฐานข้อมูล
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) การจัดการพจนานุกรมข้อมูล การจัดเก็บข้อมูล การแปลงและการนำเสนอข้อมูล การจัดระบบความมั่นคง การควบคุมการเข้าถึงข้อมูลของผู้ใช้หลายคน การเก็บสำรองและกู้คืนข้อมูล การควบคุมความถูกต้องของข้อมูล
หน้าที่ของระบบจัดการฐานข้อมูล (DBMS) ภาษาที่ใช้ในการเข้าถึงฐานข้อมูลและ การเชื่อมต่อกับโปรแกรมประยุกต์ ภาษาที่ใช้ในการนิยามข้อมูล (Data Definition Language-DDL) ภาษาที่ใช้ในการจัดการข้อมูล (Data Manipulation Language-DML) ภาษาที่ใช้ในการควบคุมสิทธิการเข้าใช้ (Data Control Language-DCL) การติดต่อสื่อสารกับฐานข้อมูล
การทำงานของระบบจัดการฐานข้อมูล หน่วยประมวลผลคิวรี (Query processor) ตัวแปลภาษา DML (DML Compiler) ตัวแปลภาษา DDL ตัวประมวลผลคิวรี ผู้จัดการหน่วยเก็บข้อมูล (Storage manager) ผู้จัดการสิทธิและบูรณภาพ ผู้จัดการทรานแซคชัน ผู้จัดการแฟ้มข้อมูล ผู้จัดการบัฟเฟอร์
โครงสร้างการทำงานโดยรวมของระบบจัดการฐานข้อมูล
บุคลากรที่เกี่ยวข้องกับระบบฐานข้อมูล นักเขียนโปรแกรมประยุกต์ ผู้ใช้เพื่อการวิเคราะห์ต่างๆ ผู้ใช้ทั่วไป ผู้บริหารฐานข้อมูล กำหนดนิยามของสกีมา กำหนดสิทธิ์ในการเข้าใช้ระบบฐานข้อมูล กำหนดข้อบังคับในการบูรณภาพข้อมูล
ข้อดีในการใช้ระบบฐานข้อมูล ทำให้ข้อมูลสามารถใช้ร่วมกันได้ สามารถควบคุมเรื่องความปลอดภัยของข้อมูลได้ดี การพัฒนาและบำรุงรักษา สามารถกำหนดให้เป็นมาตรฐาน ได้ ลดความซ้ำซ้อนของข้อมูล
ข้อดีในการใช้ระบบฐานข้อมูล (ต่อ) สามารถหลีกเลี่ยงความไม่สอดคล้องกันของข้อมูล สามารถรักษาความถูกต้องของข้อมูลในระบบ มีความเป็นอิสระของข้อมูล มีทฤษฏีที่สนับสนุนการทำงานที่ชัดเจน
ข้อเสีย ระบบมีความซับซ้อน มีค่าใช้จ่ายสูง ต้องใช้ซอฟต์แวร์และฮาร์ดแวร์เพิ่มเติม หากระบบเกิดความล้มเหลว จะทำให้เกิดผลกระทบอย่างมาก การกู้คืนทำได้ยาก
Primary key – unique identifier คีย์ที่ใช้กำหนดความแตกต่างของ recored (tuple) ตัวมันเองมีคุณสมบัติไม่ซ้ำ สื่อความหมายและกำหนดค่าแอททริบิวอื่นใน relation ได้
Foreign key – คีย์ที่ใช้อ้างอิงความสัมพันธ์ระหว่าง Table ตัวมันเองไปเป็น primary keyใน Table อื่น
ฐานข้อมูล กับ ตู้เอกสาร Database and Database System Database Concepts ฐานข้อมูล กับ ตู้เอกสาร Database and Database System Without Database … Why Database ? ระบบจัดการฐานข้อมูล ฟังก์ชันของระบบฐานข้อมูล
ฐานข้อมูล กับ ตู้เอกสาร ใช้เนื้อที่เก็บมาก ค้นหาข้อมูลยาก ใช้เวลาค้นหานาน เป็นงานที่น่าเบื่อ ผิดพลาดง่าย ใช้เนื้อที่เก็บน้อย ค้นหาข้อมูลได้ง่าย ค้นหาข้อมูลได้เร็ว ลดความน่าเบื่อ ความถูกต้องสูง
Sales data Sales analysis Customer data Product data Database ... A collection of data organized to serve many applications efficiently by centralizing the data and minimizing redundant data Sales data Sales analysis Database Customer data Customer analysis Product data Product Line analysis Data from different sources Applications
Database System ... A computerized record keeping system Database system must represent the real world GIGO : Garbage In, Garbage Out
Data Redundancy Without Database … ฝ่ายขาย ฝ่ายบุคคล ฝ่ายบัญชี รายชื่อพนักงาน แผนก, ตำแหน่ง ยอดขาย ฯลฯ ฝ่ายขาย รายชื่อพนักงาน แผนก, ตำแหน่ง อัตราเงินเดือน การศึกษา, การฝึกอบรม วันเริ่มทำงาน ฯลฯ ฝ่ายบุคคล ฝ่ายบัญชี รายชื่อพนักงาน แผนก, ตำแหน่ง อัตราเงินเดือน ยอดขาย คอมมิชชั่น ฯลฯ ผู้บริหาร รายชื่อพนักงาน แผนก, ตำแหน่ง วันเริ่มทำงาน ยอดขาย ฯลฯ รายชื่อพนักงาน แผนก, ตำแหน่ง การศึกษา, การฝึกอบรม ฯลฯ ฝ่ายฝึกอบรม
Data Inconsistency Without Database … ฝ่ายขาย ฝ่ายบุคคล ฝ่ายบัญชี สมชาย กล้าหาญ พนักงานขาย ยอดขาย 15000 บาท ฯลฯ ฝ่ายขาย รหัส 105 สมชาย กล้าหาญ พนักงานขาย เงินเดือน 8000 บาท ฯลฯ ฝ่ายบุคคล ฝ่ายบัญชี สมชาย กล้าหาญ พนักงานขาย เงินเดือน 8500 บาท ยอดขาย 12000 บาท คอมฯ 1200 บาท ฯลฯ ผู้บริหาร สมชาย กล้าหาญ พนักงานขาย ยอดขาย 8000 บาท ฯลฯ สมชาย กล้าหาญ พนักงานส่งของ ฯลฯ ฝ่ายฝึกอบรม
Lack of Integrity Without Database … ฝ่ายขาย ฝ่ายบุคคล ผู้บริหาร รหัส 105 สมชาย กล้าแก้ว พนักงานขาย ฯลฯ ฝ่ายขาย รหัส 105 สมชาย กล้าหาญ พนักงานขาย ฯลฯ ฝ่ายบุคคล ผู้บริหาร รหัส 105 สมพงษ์ กล้าหาญ พนักงานขาย ฯลฯ ฝ่ายบัญชี รหัส 105 ** ขออภัย รหัสไม่ถูกต้อง รหัส 105 สมชาย หาญกล้า พนักงานขาย ฯลฯ ฝ่ายฝึกอบรม
Why Database? ... Data can be shared Redundancy can be reduced Inconsistency can be avoided Integrity can be maintained Security restrictions can be applied Database
สาเหตุที่ต้องมีฐานข้อมูล ในระบบงานที่ไม่เป็น Database System แฟ้มข้อมูลจะถูกออกแบบมาเพื่อใช้เฉพาะงานเท่านั้น และถูกจัดเก็บแยกบน Tape หรือ Disk และพบบ่อยครั้งที่แฟ้มข้อมูลต่างๆของงาน มีข้อมูลที่เหมือนกัน ซึ่งข้อมูลที่ซ้ำซ้อนนี้ (Redundancy data) ก่อให้เกิดปัญหา เพราะว่าเป็นการยากในการที่จะรักษาความถูกต้องและสอดคล้องกันของข้อมูล (Data Consistent) นอกจากนี้ ขณะที่มีการ Modify ของระบบงานที่มีอยู่ และหรือเพิ่มระบบงานใหญ่ขึ้น โปรแกรมเมอร์ มักจะประสบภาวะต่างๆดังนี้ มีข้อมูลซ้ำซ้อนอยู่ในแฟ้มข้อมูลต่างๆ โปรแกรมเมอร์ต้องใช้เวลามากในการแก้ไขโปรแกรมของระบบงานที่ทำอยู่ เมื่อมีการเปลี่ยนแปลง Record layout หรือ I/O device characteristic การเปลี่ยนสื่อเก็บข้อมูล หรือวิธีการ Access ข้อมูล ความรู้เกี่ยวกับลักษณะและวิธีการ Access ของ Device ต่างๆ จะเป็นตัวจำกัดความสามารถของโปรแกรมเมอร์ งาน Batch อาจจะต้องขยายให้เป็นงาน Teleprocessing
Traditional File-Based Systems A file-based system is a collection of application programs that performs services for the end-users such as the production of reports, but each program defines and manages its own data. sales sales application sales files programs contracts application contracts files programs Limitations: Separation and isolation of data Duplication of data Program-data dependence Incompatibility of files (using different languages) Fixed queries of application programs Page 7
ระบบจัดการฐานข้อมูล ... Database Management System (DBMS) Special software to create and maintain a database and enable individual business applications to access the data Data Entry DBMS Software Update Database Inquiry
ส่วนประกอบระบบการจัดการฐานข้อมูล
Summary A database is a shared collection of logically related data (and a description of this data), designed to meet the information needs of an organization A DBMS is a software system that enables users to define, create, and maintain the database and provides controlled access to this database Disadvantages of a DBMS include complexity, size, cost, additional hardware costs, cost of conversion, performance and higher impact of a failure Page 13
Components of a Database System Integrate Share Hardware Processor, main memory, secondary storage and I/O devices Individual PC to a network of computers Software DBMS Application programs Others software tools Users Application Programmers End - Users DBA’s
คำศัพท์ที่เกี่ยวกับ Data ที่เก็บใน Database Entity - ข้อมูลหลัก ข้อมูลในระบบฐานข้อมูลหนึ่งๆ จะมีข้อมูลที่เป็นตัวหลักๆ ที่นำมาใช้กัน เช่น ระบบการสอนในมหาวิทยาลัย ข้อมูลหลักเกี่ยวกับ นักศึกษา, อาจารย์, วิชาที่สอน ระบบการขาย ข้อมูลหลักเกี่ยวกับพนักงานขาย, ลูกค้า, สินค้า ฯลฯ 2. Attribute – แอททริบิว เป็นข้อมูลที่แสดงถึงคุณสมบัติของ Entity นั้น ๆ เช่น เอนทิตีรายวิชาจะประกอบด้วยแอททริบิวรหัสวิชา ชื่อวิชา และจำนวนหน่วยกิตเป็นต้น 3. Relation Ship – สัมพันธภาพ ความสัมพันธ์ต่อกันของข้อมูลหลัก ซึ่งต้องเก็บไว้ใน Database เช่น นักศึกษาเรียนกับอาจารย์คนหนึ่ง ในทางตรงกันข้าม อาจารย์คนหนึ่งสอนนักศึกษากลุ่มหนึ่ง ความสัมพันธ์ยังแบ่งเป็น
Slide 32 of 51
Entities Entity Type Person: EMPLOYEE, STUDENT, PATIENT Place: PROVIENCE, COUNTRY Object: MACHINE, BUILDING, AUTOMOBILE Event: SALE, REGISTRATION, ORDER Concept: ACCOUNT, COURSE, INVENTORY
Attribute STUDENT: STUDENT NO, NAME, ADDRESS, PHONE NO AUTOMOBILE: VEHICLE ID, COLOR, WEIGHT, HORSEPOWER EMPLOYEE: EMPLOYEE NO, NAME, ADDRESS, SKILL
Binary relationship คือ ความสัมพันธ์ ระหว่าง 2 กลุ่มของ Entity อาจารย์ นักศึกษา 2. Unary relationship คือ ความสัมพันธ์กับกลุ่มของตัวเอง วิชา 3. Ternary relationship คือ ความสัมพันธ์ระหว่าง 3 กลุ่มของ Entity นักศึกษา วิชา อาจารย์
ความสัมพันธ์ยังแบ่งเป็น 1. One to One Employee Location 2. One to Many Employee Department 3. Many to Many Employee Project
Relationships Relationship
Degree of Relationship Unary relationship
Binary relationship
Redundancy can be reduced ลดความซ้ำซ้อนของข้อมูล เมื่อเป็นระบบ Database คือ เป็นแบบ Integrated และ Shared ประโยชน์ ของ Database System เมื่อเกิด Centralize Control Redundancy can be reduced ลดความซ้ำซ้อนของข้อมูล 2. Inconsistency can be avoided หลีกเลี่ยงความขัดแย้งของข้อมูล 3. The data can be shared ใช้ข้อมูลร่วมกันได้ 4. Standard can be enforced ควบคุมหรือกำหนดมาตรฐานได้ 5. Security restriction can be applied จัดระบบความปลอดภัยที่รัดกุมได้ 6. Integrity can be maintained ควบคุมความคงสภาพของข้อมูล 7. Conflicting requirements can be balance สร้างสมดุลในความขัดแย้งของความต้องการได้ 8. Data independentความอิสระของข้อมูล
Hardware Client/Server
Software Client/Server PC DB2 Oracle Ingres Sybase Progress Informix dBASE FoxPro Access Approach Paradox
ฟังก์ชันพื้นฐานของฐานข้อมูล …(DBMS) Data Definition การนิยามข้อมูล Create Tables and Relationships Data Manipulation การจัดการข้อมูล Add, Delete, Update Query and Report
ฟังก์ชันอื่น ๆ ของฐานข้อมูล ... Data Security การรักษาความปลอดภัย Data Integrity การรักษาความคงสภาพ ความถูกต้องของข้อมูล Data Concurrency การใช้ข้อมูลพร้อมกัน Data Recovery การฟื้นสภาพของข้อมูล Data Dictionary พจนานุกรมข้อมูล Performance การใช้งานการประมวลผลได้รวดเร็ว
Structure Query Language (SQL) Standard interactive and programming language for getting information from and updating a database
Data Definition Language (DDL)
Data Manipulation Language (DML)
องค์ประกอบของฐานข้อมูล (Database Components) DBMS =============== Design tools Table Creation Form Creation Query Creation Report Creation Procedural language compiler (4GL) ============= Run time Form processor Query processor Report Writer Language Run time User Interface Applications Application Programs Database Database contains: User’s Data Metadata Indexes Application Metadata
Data Independence and the ANSI-SPARC Three-level Architecture 14
External (PL/1) External (COBOL) DCL 1 EMPP. 01 EMPO. 2 EMP# CHAR(6) 02 EMPNO PIC X(6). 2 SAL 02 DEPTNO PIC X(4). Conceptual EMPLOYEE EMPLOYEE_NUMBER CHARACTER(6) DEPARTMENT_NUMBER CHARACTER(4) SALARY NUMERIC(5) Internal STORED_EMP LENGTH = 18 PREFIX TYPE=BYTE(6), OFFSET=0 EMP# TYPE=BYTE(6), OFFSET=6, INDEX=EMPX DEPT# TYPE=BYTE(4), OFFSET=12 PAY TYPE=FULLWORD, OFFSET=16
External Level Users’ view of the database Language External View Application programmer End-user External View Logical record Data authorized to view External Schema
Conceptual Level Community view of database Representation of entire information content Conceptual schema definition of total database content ++ data independent
Internal Level Low-level representation of entire database occurrences Describes how the data is stored in the database Not physical level Level used by utilities to increase performance.
Database Design Divided into four tasks Conceptual design DBMS software selection (if required) Logical design Physical design Conceptual design is independent of software and hardware Logical design is DBMS (software) dependent Physical design is dependent on both software and hardware
Database Models Hierarchical Network tree structure with predefined access paths child has one parent Network multiple paths to same record Hybrid - Object/Relational Databases Object-oriented data and methods highly-variable structure tightly coupled with programming language Multi-dimensional
รูปแบบของฐานข้อมูล (Database models) Relational 1970s 1960s ? Object oriented Hierarchical Client Oriented Traditional files Object-relational Network
โครงสร้างฐานข้อมูล (Database Structures) ความสัมพันธ์ระหว่างระเบียนเดี่ยวหลายๆระเบียนที่จัดเก็บอยู่ในฐานข้อมูลนั้น อยู่บนพื้นฐานโครงสร้างข้อมูลเชิงตรรกะ (Logical Data Structure) หรือแบบจำลอง (Models) โปรแกรมสำเร็จรูประบบจัดการฐานข้อมูลถูกออกแบบให้ใช้โครงสร้างข้อมูลเฉพาะเจาะจง เพื่อช่วยให้ผู้ใช้เข้าถึงสารสนเทศที่เก็บอยู่ในฐานข้อมูลได้ง่ายและเร็ว โดยโครงสร้างฐานข้อมูลพื้นฐานแบ่งออกได้เป็น 5 แบบ คือ แบบจำลองเชิงลำดับชั้น แบบเชิงเครือข่าย แบบเชิงสัมพันธ์ แบบเชิงวัตถุ และแบบเชิงหลายมิติ
1) โครงสร้างเชิงลำดับชั้น (Hierarchical Structure) เป็นความสัมพันธ์ระหว่างระเบียนจากโครงสร้างลำดับชั้นหรือแบบต้นไม้ ความสัมพันธ์ระหว่างระเบียนเป็นแบบหนึ่งต่อกลุ่ม (One-to-many) เพราะว่าแต่ละส่วนย่อยข้อมูลมีความสัมพันธ์กับส่วนย่อยเหนือขึ้นไปเท่านั้น ข้อมูลส่วนย่อยหรือระเบียนที่ระดับสูงที่สุด เรียกว่า ราก (Root) ส่วนย่อยข้อมูลใดๆเข้าถึงได้โดยการเคลื่อนลงไปข้างล่างจากรากไปตามกิ่งก้านสาขาของต้นไม้จนกระทั่งถึงตำแหน่งของระเบียนที่ต้องการ
ชนิดของฐานข้อมูล : ฐานข้อมูลแบบลำดับชั้น (Hierarchical Database) คุณอุทัย เซี่ยงเจ็น คุณยายไฮ รหัสสินค้า A1 A2 A3 A2 A3 B1 ตะปู ปูน สี ปูน สี จอบ ชื่อสินค้า ปริมาณ 250 15 150 100 50 10
2) โครงสร้างแบบเครือข่าย (Network Structure) สามารถแสดงด้วยความสัมพันธ์เชิงตรรกะที่มีความซับซ้อนมากขึ้น และยังคงใช้ในโปรแกรมสำเร็จรูป DBMS บนเมนเฟรม ซึ่งอนุญาตความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many) เป็นแบบจำลองเครือข่ายที่สามารถเข้าถึงส่วนย่อยข้อมูลทางหนึ่งในหลายๆทาง เพราะส่วนย่อยข้อมูลหรือระเบียนใดๆสามารถสัมพันธ์กับส่วนย่อยข้อมูลอื่นๆใดๆได้
ชนิดของฐานข้อมูล : ฐานข้อมูลแบบเครือข่าย (Network Database) คุณอุทัย เซี่ยงเจ็น คุณยายไฮ รหัสสินค้า A1 A2 A3 B1 ตะปู ปูน สี จอบ ชื่อสินค้า ปริมาณ 250 115 200 10
3) โครงสร้างเชิงสัมพันธ์ (Relational Structure) เป็นที่นิยมมากที่สุดในบรรดาสามโครงสร้างนี้ มีการนำมาใช้กับโปรแกรมสำเร็จรูป DBMS ไมโครคอมพิวเตอร์ มินิคอมพิวเตอร์และระบบเมนเฟรม ในแบบจำลองเชิงสัมพันธ์นั้นส่วนย่อยข้อมูลทั้งหมดภายในฐานข้อมูลถูกจัดเก็บในรูปแบบตาราง (Table)
4) โครงสร้างเชิงหลายมิติ (Multidimensional Structure) มีความแตกต่างจากแบบจำลองเชิงสัมพันธ์คือใช้โครงสร้างเชิงหลายมิติเพื่อจัดระเบียบข้อมูลและแสดงความสัมพันธ์ระหว่างข้อมูล ลองนึกถึงโครงสร้างเชิงหลายมิติเป็นสี่เหลี่ยมลูกบาศก์ภายในสี่เหลี่ยมลูกบาศก์ของข้อมูล แต่ละด้านของลูกบาศก์ถูกพิจารณาเป็นหนึ่งมิติของข้อมูล รูปมิติที่สามารถแสดงกลุ่มที่แตกต่างกัน เช่น ประเภทผลิตภัณฑ์ เขตการขาย ช่องทางการจำหน่าย และเวลา รูปภาพแสดงตัวอย่างมิติต่างๆ ของฐานข้อมูลหลายมิติ ประโยชน์ของฐานข้อมูลเชิงหลายมิติ คือ ความกะทัดรัดและการง่ายต่อความเข้าใจและง่ายต่อการปฏิบัติการฐานข้อมูลเชิงหลายมิติจึงกลายเป็นโครงสร้างฐานข้อมูลที่นิยมมากที่สุดสำหรับฐานข้อมูลเชิงวิเคราะห์ที่สนับสนุนโปรแกรมประยุกต์การประมวลผลเชิงวิเคราะห์แบบต่อตรง (OLAP) สำหรับตอบคำถามที่ซับซ้อนของธุรกิจได้อย่างรวดเร็ว
การดำเนินการกับ OLAP : Dice Shop Product Type Date Product Type Shop Date
5) โครงสร้างเชิงวัตถุ (Object-Oriented Structure) แบบจำลองฐานข้อมูลเชิงวัตถุได้รับการพิจารณาว่าเป็นหนึ่งในเทคโนโลยีสำคัญของยุคใหม่ของโปรแกรมประยุกต์สื่อประสมเชิงเว็บ แสดงถึงออบเจ็กต์ประกอบด้วยข้อมูลที่อธิบายถึงคุณสมบัติของเอนทิตี รวมทั้งการทำงานที่สามารถกระทำกับข้อมูลนั้น การสามารถในการห่อหุ้ม (Encapsulation) อนุญาตให้แบบจำลองสามารถจัดการข้อมูลที่ซับซ้อน ( กราฟิก ภาพ เสียง ข้อความ) ได้ดีขึ้นมากกว่าโครงสร้างฐานข้อมูลแบบอื่น
ชนิดของฐานข้อมูล : ฐานข้อมูลเชิงวัตถุ (Object-Oriented Database) Cust_ID = 001 Cust_Name = อุทัย เซี่ยงเจ็น Customer Attribute: Cust_ID Cust_Name Methods: Print(); getName(); Cust_ID = 002 Cust_Name = มานี มีนา
DATABASE ADMINISTRATOR (DBA) เป็นบุคคลที่มีหน้าที่ควบคุม ดูแลรักษาระบบฐานข้อมูลและรับผิดชอบในการวิเคราะห์ วางระบบ ออกแบบโครงสร้างฐานข้อมูล และจัดการเกี่ยวกับ data service ซึ่งได้แก่ security & Integrity, validation, reorganization และ data dictionary หน้าที่หลักของ DBA Deciding the information content of the database 2. Deciding the storage structure and access strategy) 3. Liaising with users 4. Defining security and integrity checks 5. Defining a strategy for backup and recovery 6. Monitoring performance and responding to changing requirements
DATABASE MANAGEMENT SYSTEMS (DBMS) DBMS คือ Software ที่จัดการ access database ทั้งหมด อยู่ระหว่าง User กับ Physical database หน้าที่หลักของ DBMS คือ handle access to Database หน้าที่ของ DBMS โดยอธิบายถึงสิ่งที่เกิดขึ้น เมื่อมีการใช้ข้อมูล User ส่ง request ที่ต้องการ access โดยใช้ DSL เฉพาะอันใดอันหนึ่ง เช่น SQL ไปว่าต้องการข้อมูลชุดใด 2. DBMS รับ request นั้นมา แล้ววิเคราะห์ตีความว่าต้องการข้อมูลอะไร 3. DBMS จะตรวจว่า External schema สำหรับ user นั้นที่สร้างไว้ตรงกับที่ขอ หรือไม่ 4. DBMS execute กับ Stored database โดย operation ที่จำเป็น เช่น ดึงข้อมูลกลับไปให้ โดยส่งย้อนกลับขึ้นไป
ฟังก์ชันของ DBMS (functions of a DBMS) อย่างน้อยที่สุด ต้องประกอบด้วยสิ่งเหล่านี้ Database definition DBMS จะ support ในการกำหนดโครงสร้างของ Database - External level - Conceptual level - Internal level 2. Database creation (storing data ใน database) คือเอา data ไปบรรจุใน database DBMS จะสนับสนุนให้ user ทำการ Load data เข้าไปได้ 3. Data manipulation - Retrieval (Query และ Reporting) DBMS ต้องสามารถจัดการ request จาก user ในการ retrieve ที่เป็น ไปได้กับ data ที่มีอยู่ใน database ออก report ได้ - Update DBMS จะ support ในการ update data ที่มีอยู่ใน database ที่ เป็นไปได้
4. Programming user facilities for system development มีเครื่องมือให้ programmer เมื่อมีการพัฒนาระบบ เช่น Fourth GL หรือมี Library ต่างๆในการใช้งาน 5. Data security and integrity DBMS ต้องตรวจสอบ user request และปฎิเสธการพยายามที่จะละเมิด security check และ integrity check ที่กำหนดโดย DBA 6. Data recovery and concurrency 7. Data Dictionary Utilities Utility คือ program ที่ออกแบบมาช่วย DBA ในงานจัดการต่างๆ อาจจะอยู่ใน DBMS หรือเป็น Utility program ที่ไม่ได้มาจาก DBMS - Load routine - Unload / reload routine (Dump / restore routines) - Reorganization routines - Statistics routines - Analysis routines
Software ทั้งหมดที่เกี่ยวข้องกับ Data access มี 3 ตัว อยู่ใน 3 layers คือ 1. DBMS 2. File manager 3. Disk manager หลักการทำงานมี 3 ขั้นตอน 1. DBMS ทำหน้าที่รับ request stored record จาก user แล้วไปบอกให้ File manager จัดการให้ต่อ 2. File manager ทำหน้าที่รับคำสั่งจาก DBMS แล้วหาว่าอยู่ใน file ไหน แล้ว บอกต่อไปยัง software ตัวถัดไปคือ disk manager ว่า file ที่ต้องการนั้น อยู่ใน page ไหน 3. Disk manager ทำหน้าที่รับคำสั่งจาก File manager ว่าต้องการ page ใดเพราะฉะนั้น disk manager ก็จะเอารายละเอียดนั้นมาหา page ที่ต้องการ การหา page ที่ต้องการ คือ การทำ I/O operation Disk manager จะรู้ว่า Physical address ของสิ่งที่ต้องการอยู่ตรงไหน จากนั้น Disk manager จะส่ง page ที่ได้ให้กับ file manager แล้ว file manager ก็ส่ง record ต่อให้กับ DBMS
DBMS File manager Disk manager Stored database record returned Request stored record File manager Request stored page Stored page returned Disk manager Disk I/O operation Data read from disk Stored database The DBMS, File manager and Disk manager