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

Download Report

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

ความรู้ พนื้ ฐานเกีย่ วกับฐานข้ อมูล
( Introduction to Database )
1
ความรู้ พนื้ ฐานเกีย่ วกับฐานข้ อมูล
วัตถุประสงค์
เพื่อให้มีความรู ้ความเข้าใจในเรื่ อง
1. โครงสร้างแฟ้ มข้อมูล
2. ประเภทของแฟ้ มข้อมูล
3. การจัดโครงสร้าง
แฟ้ มข้อมูล( File Organization)
แฟ้ มข้อมูล (File System)
ระบบฐานข้อมูล (Database System)
6. ความสาคัญและหน้าที่ของ DBMS
4. ระบบ
5.
2
โครงสร้ างแฟ้ มข้ อมูล
ประกอบด้วยโครงสร้างพื้นฐานจาก
หน่วยที่เล็กที่สุดไปยังหน่วยที่ใหญ่ที่สุด ดังนี้
1. Bit ประกอบด้วยเลขฐานสอง ใช้แทน
ค่าหน่วยที่เล็กที่สุดของข้อมูลในระบบ
คอมพิวเตอร์ จะมีอยูเ่ พียงสองสถานะ คือ 0
หรื อ 1
3
โครงสร้ างแฟ้ มข้ อมูล
4. Record คือ กลุ่มของ Field ที่สม
ั พันธ์กนั เช่น
record ของนักศึกษา ประกอบด้วย field รหัส นศ.,
ชื่อ-นามสกุล, วิชาที่ลง,เกรดที่ได้
5. File คือ กลุ่มของ Record ที่สม
ั พันธ์กนั เช่น
แฟ้ มประวัตินกั ศึกษาประกอบด้วย record ของ
นักศึกษาทั้งมหาวิทยาลัย
6. Database
คือ กลุ่มของ File ที่สมั พันธ์กนั เช่น ใน Student
4
ตัวอย่ าง โครงสร้ างแฟ้ มข้ อมูล
Student Database
Course File
Database
File
Record
Field
Byte
Bit
Financial File
Personal
History File
Course File
45310 John Stewart
IS101
45311 Karen Taylor IS101
45312 Emily Vincent IS101
STD-NO STD_NAME COURSE
45310 John Stewart IS101
John Stewart (STD_NAME field)
01001010 (Letter J)
0
F01 B+
F01 A
F01 C
DATE GRADE
F01 B+
5
ชนิดของข้ อมูล
ชนิดของข้อมูลที่จดั เก็บ มีดงั ต่อไปนี้
1. ข้ อความ (Text) ประกอบด้วยตัวอักษร
ต่างๆมารวมกัน ไม่มีรูปแบบที่แน่นอน
2. ชนิดทีเ่ ป็ นรูปแบบ
(Formatted data) เป็ นข้อมูลที่ประกอบด้วยอักษรต่างๆที่มี
รู ปแบบแน่นอน เช่น ในรู ปแบบรหัส ได้แก่ รหัสนักศึกษา
รหัสวิชา
3. รูปภาพ (Images) เป็ นรู ปภาพที่ใช้แทน
ข้อมูล เป็ นภาพที่ได้จากการสแกนภาพ หรื อ จากวิดิโอ
6
ประเภทของแฟ้ มข้ อมูล
1. Master File เป็ นแฟ้ มข้อมูลหลัก ซึ่ งจัดเก็บข้อมูลที่
มักจะไม่มีการเปลี่ยนแปลง เช่น แฟ้ มข้อมูลประวัตินกั ศึกษา
การปรับปรุ งแก้ไขข้อมูลใน
Master File ทาได้ 3 รู ปแบบ
1.1 การเพิ่ม
(Add) เช่น การเพิ่ม record นักศึกษาใหม่
1.2 การลบออก (Delete) เช่น การลบ record นักศึกษาที่ลาออก
1.3 การแก้ไข (Modify) เช่น การเปลี่ยนแปลง
ที่อยูข่ องนักศึกษา
2. Transaction File เป็ นแฟ้ มข้อมูลที่
จัดเก็บข้อมูลการดาเนินธุรกรรมประจาวัน (Transaction) มีการ
7
การจัดโครงสร้ างแฟ้ มข้ อมูล(File Organization)
พื้นฐานของรู ปแบบการจัดโครงสร้างข้อมูล
ประกอบด้วย
1. โครงสร้ างแฟ้มข้ อมูลแบบ
เรียงลาดับ ( Sequential File Organization) ข้อมูลแต่ละ record จะถูก
จัดเก็บเป็ นลาดับตาม field ที่ใช้จดั เรี ยง ถ้า filed ทีใช้
จัดเรี ยงเป็ น คียห์ ลัก (Primary Key) จะเรี ยกว่า Ordering Key
การค้นหาข้อมูลจะเรี ยงตามลาดับของ record
2. โครงสร้ างแฟ้มข้ อมูลแบบดัชนี (Indexed File
Organization) เป็ นการเก็บข้อมูลแต่ละ record แบบเรี ยง
ตามลาดับหรื อไม่เรี ยงก็ได้ โดยแฟ้ มแบบดัชนี
8
การจัดโครงสร้ างแฟ้ มข้ อมูล(File Organization)
3. โครงสร้ างแฟ้มข้ อมูลแบบแฮช ( Hashed File Organization) เป็ น
โครงสร้างแฟ้ มข้อมูลที่มีการกาหนดที่อยู่ (Relative record
number) ที่ใช้เก็บข้อมูลแต่ละ record โดยใช้ Hash algorithm ซึ่ ง
เป็ นเทคนิคในการแปลงค่าของ field ที่เลือกใช้ (Hash Field)
ให้เป็ นตาแหน่งที่อยูข่ องแฟ้ มข้อมูล ดังนั้นrecord ของ
แฟ้ มข้อมูลแบบ Hash จะอยูแ่ บบกระจัดกระจาย
การจัดแฟ้ มข้อมูลแบบ Hash เหมาะกับการ
เรี ยกใช้ขอ้ มูลที่มีการระบุค่าของ Hash Field เช่น Flyers แต่
9
(a) โครงสร้ างแบบ Sequential
(b) โครงสร้ างแบบ Hash
10
โครงสร้ างแบบ Indexed
11
ระบบแฟ้ มข้ อมูล ( File System)
Personal Department Sales Department
Employee Customers
Sales
Salesman
Accounting Department
Inventory
Accounts
Duplicate data (salesman is an employee)
12
ตัวอย่ างแฟ้ มพนักงานและแฟ้มพนักงานขาย
13
ระบบแฟ้ มข้ อมูล ( File System)
การจัดเก็บแฟ้ มข้อมูลจะถูกจัดเก็บลงใน
คอมพิวเตอร์เป็ นอิสระ โดยจะสร้างระบบแฟ้ มข้อมูลภายใน
หน่วยงานของตนเอง ทาให้เกิดข้อจากัดหรือปัญหา ดังนี้ 1.
ข้ อมูลมีการเก็บแยกจากกัน (Separation and Isolation of Data) ในแต่ละ
หน่วยงาน ทาให้เป็ นการยากในการเข้าถีงข้อมูลได้โดยตรง
2. ข้ อมูลมีความซ้าซ้ อน (Data Redundancy)
ทาให้เสี ยค่าใช้จ่ายในการจัดเก็บ
ข้อมูลและเสี ยเนื้อที่ในการเก็บข้อมูล ปัญหาความซ้ าซ้อน
ของข้อมูลชุดเดียวกันที่มีการเก็บอยูห่ ลายแฟ้ มทาให้เกิดความ
14
ตัวอย่ างความขัดแย้ งของการเพิม่ ข้ อมูล
15
2.2 ข้ อผิดพลาดจากการลบข้ อมูล (Deletion Anomaly ) เช่น
พนักงานชื่อ นายพิชยั ลาออก ทางแผนกบุคคลได้ลบชื่อ
ออกจากแฟ้ มพนักงาน แต่ขอ้ มูลของนายพิชยั ยังคงอยูใ่ น
แฟ้ มพนักงานขาย ซึ่ งไม่ถูกต้อง
ตัวอย่ างความขัดแย้ งของการลบข้ อมูล
16
2.3 ข้ อผิดพลาดจากการเปลีย่ นแปลงข้ อมูล (Modification
Anomaly) เช่น กรณี น.ส นงนุช เปลี่ยนชื่อเป็ น น.ส.ณิ
ชกานต์ ได้มีการเปลี่ยนชื่อเฉพาะในแฟ้ มข้อมูลพนักงาน
ทาให้ขอ้ มูลไม่มีความถูกต้องตรงกัน
ตัวอย่ างความขัดแย้ งของการเปลีย่ นแปลงข้ อมูล
17
ระบบแฟ้ มข้ อมูล ( File System)
3. ข้ อมูลมีความขึน้ ต่ อกัน (Data Dependence) ระหว่างโปรแกรมกับ
โครงสร้างแฟ้ มข้อมูล การเปลี่ยนแปลงโครงสร้างแฟ้ มข้อมูล ทา
ให้ตอ้ งแก้ไขโปรแกรมที่เกี่ยวข้องทั้งหมด เช่น เปลี่ยน ความ
กว้างของเงินเดือนจาก 5 หลัก เป็ น 6 หลัก
4. มีรูปแบบทีไ่ ม่ ตรงกัน (Incompatible File Formats)
เนื่องจากแฟ้ มข้อมูล
18
ระบบแฟ้ มข้ อมูล ( File System)
5. รายงานต่ างๆถูกกาหนดไว้ อย่ างจากัด
รู ปแบบของรายงานต่างๆถูกกาหนดรู ปแบบที่
แน่นอนลงในโปรแกรม ถ้าต้องการรายงานใหม่ ต้องเขียน
โปรแกรมเพิ่ม
ข้ อดีของแฟ้มข้ อมูล
1. ง่ายต่อการออกแบบและพัฒนา
เนื่องจากการออกแบบแฟ้ มข้อมูลไม่มี
ความสลับซับซ้อน
2. การประมวลผลแบบ
19
ระบบฐานข้ อมูล (Database System)
Personal Department
Sales Department
Accounting Department
DBMS
Database
Employees
Customers
Sales
Inventory
Accounts
20
ระบบฐานข้ อมูล (Database System)
ั
- เป็ นศูนย์รวมของข้อมูลที่มีความสัมพันธ์กน
- มีกระบวนการจัดหมวดหมู่
ข้อมูลที่มีแบบแผน
- เป็ นแหล่ง
รวมของข้อมูลจากแผนกต่างๆ ภายใต้ฐานข้อมูลชุด
เดียวกัน - ผูใ้ ช้งานในแต่ละแผนกสามารถใช้ขอ้ มูล
ส่ วนกลางร่ วมกันได้ ทาให้
ข้อมูลไม่ซ้ าซ้อน
ระบบการจัดการ
ฐานข้ อมูล (Database Management System )
DBMS คือ
โปรแกรมที่ใช้เป็ นเครื่ องมือในการจัดการฐานข้อมูล ทา
21
ภาษา SQL (Structured Query
Language)
• เป็ นภาษาที่มีรูปแบบเป็ นภาษาอังกฤษ ง่ายต่อการเรี ยนรู ้ และเขียนโปรแกรม
• มีความสามารถในการนิยามโครงสร้างตารางภายในฐานข้อมูล การจัดการ
ข้อมูล และควบคุมสิ ทธิการใช้งานฐานข้อมูล
• ประกอบด้วยภาษา 3 รู ปแบบ
1. ภาษาสาหรับนิยามข้อมูล (Data Definition Language
:DDL)
2. ภาษาสาหรับจัดการฐานข้อมูล (Data Manipulation
Language : DML)
3. ภาษาควบคุม (Control Language : CL)
22
ภาษา SQL (Structured Query Language)
1. ภาษาสาหรับนิยามข้ อมูล (Data Definition Language
:DDL)
• เป็ นภาษาที่ใช้ในการนิยามโครงสร้างของฐานข้อมูล (Schema) เพื่อทา
การสร้าง เปลี่ยนแปลง หรื อยกเลิกโครงสร้างของฐานข้อมูลที่ได้ออกแบบ
ไว้
• โครงสร้างของฐานข้อมูล (Schema) ได้แก่ การกาหนดชื่อฐานข้อมูล
ตาราง (table) ที่มีในฐานข้อมูล แต่ละตารางมีเขตข้อมูล
(field)ใดบ้าง และมีประเภทข้อมูลเป็ นอะไร ขนาดเท่าใด เขตข้อมูลใดที่
เป็ นคียห์ ลัก
• ตัวอย่างภาษา DDL เช่น คาสัง่ CREATE, ALTER, DROP
23
ภาษา SQL (Structured Query
Language)
2. ภาษาสาหรับจัดการฐานข้ อมูล (Data Manipulation
Language : DML)
• เป็ นภาษาที่ใช้ในการจัดการข้อมูลภายในตารางของฐานข้อมูล
• ตัวอย่างภาษา DML เช่น คาสัง่ SELECT, INSERT,
UPDATE, DELETE
3. ภาษาควบคุม (Control Language : CL)
• เป็ นภาษาที่ใช้ควบคุมระบบรักษาความปลอดภัยของฐานข้อมูล
• ตัวอย่างเช่น คาสัง่ GRANT, REVOKE
24
DBMS จะจัดการการโต้ ตอบระหว่ างผู้ใช้ งานกับฐานข้ อมูล
25
ระบบการจัดการฐานข้ อมูล
หน้ าทีข่ อง DBMS มีดงั นี้
1. ให้ผใู ้ ช้งานสามารถสร้างฐานข้อมูล (DDL :Data
ให้ผใู ้ ช้งานสามารถเพิม่ ,ปรับปรุ ง,ลบ
และเรี ยกใช้ขอ้ มูลจากฐานข้อมูล
(DML : Data
Manipulation Language)
3. ทาการควบคุม
การเข้าถึงฐานข้อมูล ดังนี้
- ความ
ปลอดภัยของระบบ(Security System)
ความคงสภาพของระบบ (Integrity System)
Definition Language)
2.
26
ส่ วนประกอบของระบบฐานข้ อมูล
ส่ วนประกอบหลักของระบบฐานข้อมูล มี 5
ส่ วน ดังนี้
1. Hardware คือ อุปกรณ์
คอมพิวเตอร์ที่จะนามาใช้งาน
2. Software
หมายถึง ระบบปฏิบตั ิการ, ซอฟต์แวร์การจัดการ
ฐานข้อมูล(DBMS), Application Program และ Utility Program
3. Data คือ ข้อมูลที่เก็บอยูใ่ นฐานข้อมูล
และคาอธิบายข้อมูล (Meta-data)ซึ่ งเป็ นข้อมูลที่อธิบาย
คุณลักษณะของข้อมูล เช่น โครงสร้างของข้อมูล
4.
Procedure คือ ขั้นตอนการปฏิบต
ั ิงาน ผูใ้ ช้จะจัดการกับ
27
บุคลากร ( People)
บุคลากรที่เกี่ยวข้องกับฐานข้อมูล จาแนกได้เป็ น 3 ประเภทใหญ่ๆ ดังนี้
1. ผู้บริหารและดูแลฐานข้ อมูล (Database
Administrators หรื อ DBA) มีหน้าที่
- จัดการฐานข้อมูล ได้แก่ ออกแบบและสร้างฐานข้อมูล
บารุ งรักษาฐานข้อมูล ออกแบบโปรแกรมประยุกต์ในการจัดการกับ
ข้อมูล ติดตามแก้ปัญหา DBMS
- ควบคุมระบบรักษาความปลอดภัย เช่น กาหนดสิ ทธิในการใช้
งาน
- วางแผนป้ องกันความเสี ยหาย ควบคุมการทา backup
28
บุคลากร ( People)
2. นักเขียนโปรแกรมประยุกต์ (Application Programmers)
มีหน้าที่ เขียนโปรแกรมประยุกต์เพื่อจัดการกับข้อมูลภายในฐานข้อมูล
ตามที่ DBA ได้ออกแบบไว้
3. ผู้ใช้ งาน (End-Users) คือ ผูใ้ ช้งานโปรแกรมซึ่งได้พฒั นาแล้ว มี
2 แบบ คือ
3.1 ผูใ้ ช้งานทัว่ ไป ที่ไม่มีความรู ้เกี่ยวกับ DBMS จะ
ปฏิบตั ิงานผ่านเมนูที่กาหนดในการเรี ยกดูขอ้ มูลหรื อการพิมพ์รายงาน
ต่างๆ
3.2 ผูใ้ ช้งานที่มีความรู ้ เป็ นผูใ้ ช้งานที่มีความรู ้เกี่ยวกับฐานข้อมูล
สามารถใช้ชุดคาสัง่ SQL ในการปฏิบตั ิงานกับข้อมูล
29
ส่ วนประกอบของระบบฐานข้ อมูล
30
ข้ อดีของฐานข้ อมูล
1. ความเป็ นอิสระของโปรแกรมและข้อมูล(ProgramData Independence)
2. ลดความซ้ าซ้อนในข้อมูล (Minimal Data
Redundancy)
3. ความคงที่ของข้อมูล (Improved Data
Consistency)
4. การใช้ขอ
้ มูลร่ วมกัน (Improved Data
Sharing)
5. เพิ่มคุณประโยชน์ในการ
พัฒนาระบบ ( Increased Productivity of Application Development)
6. ความเป็ น
มาตราฐานเดียวกัน (Enforcement of Standard)
31
7.
ข้ อเสี ยของฐานข้ อมูล
1. มีความซับซ้อน (more complex than file technology)
2. มีขนาดใหญ่ (large size)
3. การทางานช้า (slow processing)
ต้นทุนสู ง (cost of DBMS)
5. ต้องใช้ผเู ้ ชี่ยวชาญในการจัดการ
ฐานข้อมูล(database specialist)
6. ปั ญหาจากการใช้
ข้อมูลร่ วมกัน (problem of data sharing)
7.
ผลกระทบต่อความล้มเหลวในข้อมูล(higher impact of a failure)
4.
32
คาศัพท์ ทใี่ ช้ ในฐานข้ อมูล
• Entity เป็ นคานาม หมายถึง สิ่ งต่างๆหรื อ เรื่ องต่างๆที่เกี่ยวข้อง
เมื่อมีการออกแบบระบบฐานข้อมูล (อาจเป็ นรู ปธรรม หรื อ นามธรรม
ก็ได้) เช่น บุคคล สถานที่ การลงทะเบียน การสัง่ ซื้อ
เปรี ยบเทียบเท่ากับ แฟ้ม (file) ในระบบแฟ้ มข้อมูล
• Attribute เป็ นข้อมูลที่แสดงถึงคุณสมบัติของ Entity เช่น
Entity รายวิชา ประกอบด้วย Attribute รหัสวิชา, ชื่อวิชา,
จานวนหน่วยกิต
เปรี ยบเทียบเท่ากับ เขตข้ อมูล (field) ในระบบแฟ้ มข้อมูล
33
Student
Std_no
Entity
Std_name
Faculty_code
Major_code
Address
GPA
Major_code
Address
GPA
Attributes
Faculty
Faculty_code Faculty_name Administrators
Relationship
Student
Std_no
Std_name
Faculty_code
Entity Attributes และ ความสั มพันธ์ แบบ one-to-many
34
ความสั มพันธ์ ระหว่ าง Entity
• แบ่งเป็ น 3 ประเภท
1. แบบหนึ่งต่ อหนึ่ง (One-to-One)
เป็ นความสัมพันธ์ที่มี record เพียง 1 record ใน entity A
ที่มีความสัมพันธ์กบั record เพียง 1 record ใน entity B
เช่น entity นักศึกษา กับ entity การประกันชีวิตที่มหาวิทยาลัย
จัดหาให้
รหัสนักศึกษา
รหัสประกัน
4015-0001
4015-1111
4015-2121
123-5865
432-6268
965-8742
...
...
การ
ประกันฯ
35
ความสั มพันธ์ ระหว่ าง Entity
2. แบบหนึ่งต่ อกลุ่ม (One-to-many)
เป็ นความสัมพันธ์ที่มี record 1 record ใน entity A ที่มี
ความสัมพันธ์กบั record หลาย record ใน entity B
เช่น entity นักศึกษา กับ entity อาจารย์ที่ปรึ กษา
สอาจารย์
อาจารย์ที่รหั
...
ปรึ กษา 401205
440101
380205
รหัสนักศึกษา
...
4015-0001
4015-1111
4015-2121
นักศึกษ
า
36
ความสั มพันธ์ ระหว่ าง Entity
3. แบบกลุ่มต่ อกลุ่ม (Many-to-Many)
เป็ นความสัมพันธ์ที่มีแต่ละ record ใน entity A ที่มี
ความสัมพันธ์กบั record หลาย record ใน entity B
เช่น entity นักศึกษา กับ entity วิชาที่เรี ยน
รหัสนักศึกษา
รหัสวิชา
4015-0001
4015-1111
4015-2121
150-311
150-426
150-510
...
...
วิชาที่
เรี ยน
37
แบบฝึ กหัด
(เก็บคะแนนครั้งที่ 3)
1. จงอธิบายว่าโครงสร้ างแฟ้มข้ อมูลประกอบด้ วยอะไรบ้ าง
2. จงอธิบายว่าชนิดของข้ อมูลมีอะไรบ้ าง
3. จงอธิบายว่าประเภทของแฟ้มข้ อมูลมีกี่ประเภท อะไรบ้ าง
4. เหตุผลสาคัญใดที่จาเป็ นต้ องมีการจัดโครงสร้ างแฟ้มข้ อมูล
5. จงบอกลักษณะการทางานของระบบแฟ้มข้ อมูล พร้ อมข้ อดีและข้ อเสีย
6. จงบอกลักษณะการทางานของระบบฐานข้ อมูล พร้ อมข้ อดีและข้ อเสีย
7.ระบบการจัดการฐานข้ อมูล(DBMS) คือ อะไร มีสว่ นสาคัญต่อฐานข้ อมูลอย่างไร และมีหน้ าที่
อะไรบ้ าง
8. ส่วนประกอบของระบบฐานข้ อมูลมีอะไรบ้ าง จงอธิบาย
9. ภาษา SQL คือ อะไร ประกอบด้ วยอะไรบ้ าง
10. จงอธิบายความหมายของคาว่า Entity , Attribute และ ความสัมพันธ์ระหว่าง Entity38