ระบบจัดการัฐานข้อมลู...
TRANSCRIPT
Weerakaset SuanpagaWeerakaset Suanpaga(D.ENG RS&GIS)
Department of Civil EngineeringFaculty of Engineering , Kasetsart University
Bangkok, Thailand
1http://pirun.ku.ac.th/~fengwks/gis/lecture/3datamanagement.pdf
ระบบจดการฐานขอมล ระบบจดการฐานขอมล (DBMS)(DBMS)ฐ ฐ ( )( ) 11. . ระบบการประมวลผลแฟมขอมลระบบการประมวลผลแฟมขอมล
แฟมขอมลจงหวด
โปรแกรม แฟมขอมลอาเภอ ตาบล
แฟมสามะโนประชากรทะเบยนราษฎร
แฟมขอมลจงหวด
โปรแกรมตรวจสอบชายไทยวยเกณฑ
ทหารแฟมขอมลอาเภอ ตาบลแฟมสามะโนประชากร
2
การใชฐานขอมการใชฐานขอมลรวมกนลรวมกน INTEGRATED INTEGRATED ‐‐‐‐ ลดการซาซอนขอมลลดการซาซอนขอมล SHARED SHARED SHARED SHARED ‐‐‐‐ มการซาซอนขอมลมการซาซอนขอมล
3
มาตรฐานของระบบฐานขอมลมาตรฐานของระบบฐานขอมลฐ ฐ ฐ ฐ Data definition languageData definition languageD di iD di i Data dictionaryData dictionary
Data entry moduleData entry module Data update moduleData update module Report generatorReport generator Query languageQuery language
4
ใ ใ ขอดการประมวลผลขอมลในฐานขอมลขอดการประมวลผลขอมลในฐานขอมลควบคมความควบคมความ
ลดความขดแยงลดความขดแยงกนของขอมลกนของขอมล
ควบคมความควบคมความคงสภาพขอมลคงสภาพขอมล การจดการขอมลการจดการขอมล
ทาไดงายทาไดงาย
ลดความซาซอนลดความซาซอน
ความเปนอสระระหวางความเปนอสระระหวาง
โปรแกรมประยกตและขอมลโปรแกรมประยกตและขอมล
ของขอมลของขอมล
มผควบคมระบบมผควบคมระบบเกบรวมกนเกบรวมกน&&ใชรวมกนไดใชรวมกนได
มผควบคมระบบมผควบคมระบบเพยงคนเดยวเพยงคนเดยว
5
ขอเสยการประมวลผลขอมลในฐานขอมลขอเสยการประมวลผลขอมลในฐานขอมล ฐ ฐ การใชงานฐานขอมลการใชงานฐานขอมล
เสยคาใชจายสงเสยคาใชจายสง การสญเสยขอมลการสญเสยขอมลทอาจเกดขนไดทอาจเกดขนได
6
องคประกอบขอมลองคประกอบขอมลBIT ขอมลพนฐานทเลกทสดภายในแฟมขอมล - 0, 1BYTE ขอมลซงไดแกตวอกษร (Character) แตละตว เชน กFIELD ตวอกษรแตละตวจะถกนามาประกอบกนเปนกลมคาซงFIELD ตวอกษรแตละตวจะถกนามาประกอบกนเปนกลมคาซงมความหมาย เชน ชอ-สกล หรอ เลขทะเบยนRECORD เขตขอมล (field) หลายเขตขอมลมารวมกนRECORD เขตขอมล (field) หลายเขตขอมลมารวมกนFILE ระเบยนแตละระเบยนของขอมลชนดเดยวกนจะสามารถ นามารวมกน
7
Data DictionaryData Dictionaryyy พจนานกรมขอมล พจนานกรมขอมล (Data Dictionary)(Data Dictionary) (M t D t )(M t D t ) เมตะดาตา เมตะดาตา (Meta Data)(Meta Data)
คาอธบายรายละเอยดเกยวกบโครงสรางขอมลในฐานขอมล คาอธบายรายละเอยดเกยวกบโครงสรางขอมลในฐานขอมล ใ ใ เปนองคประกอบทางซอฟทแวร ทาหนาทเกบรายละเอยดเกยวกบขอมลภายในฐานขอมล เปนองคประกอบทางซอฟทแวร ทาหนาทเกบรายละเอยดเกยวกบขอมลภายในฐานขอมล
เชน โครงสรางของแตละตาราง ใครเปนผสราง สรางเมอใด และแตละตารางประกอบดวยเชน โครงสรางของแตละตาราง ใครเปนผสราง สรางเมอใด และแตละตารางประกอบดวยเขตขอมลใดบาง คณลกษณะของแตละเขตขอมลเปนอยางไร และมตารางใดทมเขตขอมลใดบาง คณลกษณะของแตละเขตขอมลเปนอยางไร และมตารางใดทมเขตขอมลใดบาง คณลกษณะของแตละเขตขอมลเปนอยางไร และมตารางใดทมเขตขอมลใดบาง คณลกษณะของแตละเขตขอมลเปนอยางไร และมตารางใดทมความสมพนธกนบาง มเขตขอมลใดเปนคยบาง เปนตนความสมพนธกนบาง มเขตขอมลใดเปนคยบาง เปนตน
8
ความสมพนธในฐานขอมลความสมพนธในฐานขอมลฐ ฐ EntityEntity::ชอแฟมขอมลชอแฟมขอมล
ทะเบยนราษฎรระดบหมบานทะเบยนราษฎรระดบหมบาน
รหสบตร ชอ-สกล อาย อาชพ
Attributes :Attributes : รายละเอยดรายละเอยด
9
ความสมพนธในฐานขอมลความสมพนธในฐานขอมลฐ ฐ ทะเบยนราษฎรระดบหมบานทะเบยนราษฎรระดบหมบาน
รหสบตร ชอ-สกล อาย อาชพ รหสหมบาน
รหสตาบล รหสหมบาน ประชากร โรงพยาบาล โรงเรยนขอมลระดบตาบลขอมลระดบตาบล
10
ความสมพนธในฐานขอมลความสมพนธในฐานขอมลฐ ฐ 11. . ความสมพนธแบบหนงตอหนง ความสมพนธแบบหนงตอหนง OneOne‐‐toto‐‐OneOne22. . ความสมพนธแบบหนงตอกลม ความสมพนธแบบหนงตอกลม One to ManyOne to Many33. . ความสมพนธแบบกลมตอกลม ความสมพนธแบบกลมตอกลม ManyMany‐‐toto‐‐ManyMany
11
ความสมพนธแบบหนงตอหนง ความสมพนธแบบหนงตอหนง OneOne‐‐toto‐‐OneOne
รหสลกคา ชอลกคา ทอย072 333 สดา ชยภม
รหสรถ รหสลกคาพง 0723 072 444
ลกคาลกคา การขายรถการขายรถ
072-333 สดา ชยภม072-444 ทศพร กทม072-555 จรพรรณ พงงา
พง 0723 072-444พษ 9513 072-555คร 3214 072-333
12
ความสมพนธแบบหนงตอกลม ความสมพนธแบบหนงตอกลม One to ManyOne to Many yy
รหสลกคา ชอลกคา ทอย072 333 สดา ชยภม
ลกคาลกคา การขายคอมพวเตอรการขายคอมพวเตอรรหสลกคา รหสคอมพวเตอ072 555 NEC995577072-333 สดา ชยภม
072-444 ทศพร กทม072-555 จรพรรณ พงงา
072-555 NEC995577072-333 COM1234072-555 IT12345
13
ความสมพนธแบบกลมตอกลม ความสมพนธแบบกลมตอกลม ManyMany‐‐toto‐‐ManyMany
รหสสนคารหสสนคา รหสลกคารหสลกคา
รหสสนคา รหสคอมพวเตอ รหสสนคา ชอลกคา จานวนรหสสนคา รหสคอมพวเตอ1234 NEC9955772345 COM1234
4567 สดา 11234 ทศพร 1
4567 IT12345 1234 จรพรรณ 12345 สดา 1
14
One ‐to‐one
Table record relationships One ‐to‐one
p
Many -to-oney
O One -to-many
15
ความสมพนธแบบหนงตอหนง ความสมพนธแบบหนงตอหนง OneOne‐‐toto‐‐OneOneขอมลแผนทขอบเขตการปกครองระดบอาเภอ ของจ. ปทมธาน มตารางประกอบแผนท แสดง 7 อาเภอ แตละอาเภอมรหสประจาอาเภอ 1 ตว จะเชอมโยงไปยงตารางอธบายรหสอาเภอไดเพยง 1 รหสเทานน
16
OOความสมพนธแบบหนงตอกลม ความสมพนธแบบหนงตอกลม One to ManyOne to Manyเชน 141 มอย 2 polygon เปนตน จะเชอมโยงไปยงตารางอธบายรหสชดดนไดเพยง 1 รหสเทานน เชน 141 มอย 2 polygon เปนตน จะเชอมโยงไปยงตารางอธบายรหสชดดนไดเพยง 1 รหสเทานน
17
ความสมพนธแบบกลมตอกลม ความสมพนธแบบกลมตอกลม ManyMany‐‐toto‐‐ManyMany
รหสจงหวด และรหสอาเภอ ซงทกอาเภอจะมรหสจงหวดหมายเลขเดยวกนคอ 28 ในฐานขอมล ฐ ตารางอธบายรหสตาบลกมรหสอาเภอทซากน และรหสจงหวดทซากนดวยเชนกน
18
ป ป ประเภทของฐานขอมลประเภทของฐานขอมล
11. . ฐานขอมลแบบลาดบขน ฐานขอมลแบบลาดบขน ((Hierarchical Database)Hierarchical Database)22. . ฐานขอมลแบบเครอขาย ฐานขอมลแบบเครอขาย (Network Database)(Network Database) (R l ti l D t b )(R l ti l D t b )33. . ฐานขอมลแบบเชงสมพนธ ฐานขอมลแบบเชงสมพนธ (Relational Database)(Relational Database)
19
ฐานขอมลแบบลาดบขน ฐานขอมลแบบลาดบขน ((Hierarchical Database)Hierarchical Database) จงหวด กจงหวด ก
อาเภอ กอาเภอ ก อาเภอ ขอาเภอ ข อาเภอ คอาเภอ ค
ตาบล กตาบล ก ตาบล ขตาบล ข
โดยจะมระเบยนทอยแถวบนซงจะเรยกวาเปน ระเบยนพอแม (Parent record)ระเบยนในแถวถดลงมาจะเรยกวา ระเบยนลก (Child record)
20
ซงระเบยนพอแมจะสามารถมระเบยนลกไดมากกวาหนงระเบยน แตระเบยนลกแตละระเบยนสามารถมระเบยนพอแมไดเพยงหนงระเบยนเทานน
ฐานขอมลแบบลาดบขน ฐานขอมลแบบลาดบขน ((Hierarchical Database)Hierarchical Database)
เปนลกษณะของฐานขอมลทมความสมพนธของขอมลเปนแบบหนงตอหนง หรอ แบบหนงตอกลม แตจะไมมความสมพนธแบบกลมตอกลมในฐานขอมลแบบน ฐ
21
ฐานขอมลแบบลาดบขน ฐานขอมลแบบลาดบขน ((Hierarchical Database)Hierarchical Database)
การคนคนขอมลในฐานขอมลแบบลาดบขน จะตองทาเปนลาดบชนตามโครงสราง คอ ถาตองการสอบถามขอมลโรงงานในแตละอาเภอวาอยในตาบลอะไรบาง จะตองสอบถามเปนลาดบขน ซงสามารถสอบถามในครงเดยว เนองจากจะตองสอบถามเปนลาดบขน ซงสามารถสอบถามในครงเดยว เนองจากเอนตตของตาบล เชอมโยงโดยตรงกบเอนตตอาเภอนนเอง แต เมอตองการสอบถามขอมลโรงงานในแตละอาเภอวามโรงงานอะไรบาง จานวนเทาไร สอบถามขอมลโรงงานในแตละอาเภอวามโรงงานอะไรบาง จานวนเทาไร จะตองสอบถามเปนลาดบขน ไมสามารถสอบถามในครงเดยว เนองจากเอนตตของโรงงานอตสาหกรรม ไมไดเชอมโยงโดยตรงกบเอนตตอาเภอเอนตตของโรงงานอตสาหกรรม ไมไดเชอมโยงโดยตรงกบเอนตตอาเภอนนเอง ซงทาใหประสทธภาพในการสอบถามขอมลลดลง
22
ฐานขอมลแบบลาดบขน ฐานขอมลแบบลาดบขน ((Hierarchical Database)Hierarchical Database)ขนแรก จะตองสอบถามวาในอาเภอหนองเสอ (2807) มตาบลใดบาง จากฐ ฐ (( )) ขนแรก จะตองสอบถามวาในอาเภอหนองเสอ (2807) มตาบลใดบาง จากตารางขอบเขตอาเภอ ใ ไ โ ใ ใ ขนทสอง สอบถามวาในตาบลทเลอกไวแลวนนมโรงงานใดอยในตาบลดงกลาวบาง จากตารางตาบลซงเชอมโยงกบโรงงานอตสาหกรรมนนเอง
การสอบถามหรอคนคนขอมลจากฐานขอมลแบบลาดบขนจงขาดประสทธภาพ หรอลดความรวดเรวในการสอบถาม เนองจากมเอนตตประสทธภาพ หรอลดความรวดเรวในการสอบถาม เนองจากมเอนตตระหวางกลาง (Intermediate entity)
23
ฐานขอมลแบบเครอขาย ฐานขอมลแบบเครอขาย (Network Database)(Network Database)ฐ ฐ ( )( )
GIS CGIS C R S i CR S i CGIS CourseGIS Course Remote Sensing CourseRemote Sensing Course
Student BStudent BStudent AStudent A Student CStudent CStudent BStudent BStudent AStudent A Student CStudent C
24
(N k b )(N k b )ฐานขอมลแบบเครอขาย ฐานขอมลแบบเครอขาย (Network Database)(Network Database) ขอมลภายในฐานขอมลแบบนสามารถมความสมพนธกนแบบใดกได เชนอาจ ขอมลภายในฐานขอมลแบบนสามารถมความสมพนธกนแบบใดกได เชนอาจ
เปนแบบหนงตอหนง หนงตอกลม หรอกลมตอกลม และไมจาเปนตองมลาดบ ใ ป ไปไ โ ชนทสงกวา ซงจะทาใหการคนคนขอมลเปนไปไดโดยงายขนกวาแบบลาดบ
ขน
25
( l l b )( l l b )ฐานขอมลแบบเชงสมพนธ ฐานขอมลแบบเชงสมพนธ (Relational Database)(Relational Database)
ถกเกบในรปแบบ ตาราง ถกเกบในรปแบบ ตาราง (Table)(Table) แถว แถว (Row) *** (Row) *** ระเบยน ระเบยน (Record)(Record)( )( ) ( )( ) คอลมน คอลมน (Column) *** (Column) *** เขตขอมล เขตขอมล (Field)(Field)
26
( )( )ฐานขอมลแบบเชงสมพนธ ฐานขอมลแบบเชงสมพนธ (Relational Database)(Relational Database)
ฐานขอมลเชงสมพนธเปนฐานขอมลทมความนยมใชกนมากในปจจบน ฐานขอมลเชงสมพนธสามารถคนคนรายละเอยดดวยการเชอมตารางตางๆ ฐานขอมลเชงสมพนธสามารถคนคนรายละเอยดดวยการเชอมตารางตางๆ
ตงแต 2 ตารางขนไป โดยการใชคณลกษณะของ Field ทเหมอนกนทอยในทกๆ ตาราง ซงขนตอนหรอการเชอมความสมพนธร หวางตารางนเรยก ทกๆ ตาราง ซงขนตอนหรอการเชอมความสมพนธระหวางตารางนเรยก "การปฏบตการเชอมความสมพนธ" (Join Operation)” และจะได
ไ ไ ตารางใหมททาการเชอมขอมลแลว ซงทาใหไดขอมลทตองการได ซงการคนคนในฐานขอมลเชงสมพนธนจะมประสทธภาพอยางมากเพราะชวยใหเกดความหลากหลายในการประยกตใชงานมากขน
27
ฐานขอมลแบบเชงสมพนธ ฐานขอมลแบบเชงสมพนธ (Relational Database)(Relational Database) การปฏบตการเชอมความสมพนธระหวางตารางจะจดเกบรวบรวมขอมลทม การปฏบตการเชอมความสมพนธระหวางตารางจะจดเกบรวบรวมขอมลทม
ความเกยวของกนใหอยตารางเดยวกน ซงมขอดคอทาใหสามารถคนคนขอมลไ ใ ไ ใ ไดในเวลาอนรวดเรวกวาการจดเกบไวในหลายๆ ตาราง แตมขอเสยคอการทนาขอมลตางๆ ทสมพนธกนมาไวในตารางเดยวกนกจะทาใหปรมาณขอมลทจดเกบในตารางกเพมขนดวย
28
สวนประกอบของ สวนประกอบของ DBMSDBMS ในการใชขอมลในฐานขอมลจะตองมการสอบถามหรอคนหาคาตอบ
โ ไป ใ ไ ป รวมถงการเพมและการลบขอมล ซงโดยทวไปผใชไมจาเปนตองทราบวธการในการจดเกบขอมล แตผใชจะตองศกษาภาษาทใชในการคนหาขอมลจากฐานขอมล โดยผานทางระบบการจดการฐานขอมล (DBMS)( S) ภาษา SQL (Structured Query Language)
29
ภาษา SQL (Structured Query Language)
เปนภาษาทรปแบบเปนภาษาองกฤษ งายตอการเรยนรและการเขยน เปนภาษาทรปแบบเปนภาษาองกฤษ งายตอการเรยนรและการเขยนโปรแกรม ซงเปนภาษาทมอยใน DBMS หลายตว
มความสามารถใชนยามโครงสรางตารางภายในฐานขอมล การจดการขอมล มความสามารถใชนยามโครงสรางตารางภายในฐานขอมล การจดการขอมล รวมไปถงการควบคมสทธการใชงานฐานขอมล SQL ป ป SQL จะประกอบดวยภาษา 3 รปแบบดวยกน แตละแบบกจะมหนาทเฉพาะแตกตางกนไป
(D t D fi iti L DDL) ภาษาสาหรบนยามขอมล (Data Definition Language ‐ DDL) ภาษาสาหรบการจดการขอมล (Data Manipulation Language‐DML) ภาษาสาหรบการควบคมขอมล (Control Language ‐ CL) ภาษาสาหรบการควบคมขอมล (Control Language CL)
30
ภาษา SQL (Structured Query Language)
31
ภาษาสาหรบนยามขอมล (Data Definition Language DDL) (Data Definition Language ‐ DDL)
เปนภาษาทใชนยามโครงสรางของฐานขอมล เพอทาการสราง เปลยนแปลงหรอเปนภาษาทใชนยามโครงสรางของฐานขอมล เพอทาการสราง เปลยนแปลงหรอยกเลกโครงสรางของฐานขอมลตามทไดออกแบบไว ซงโครงสรางของฐานขอมลนจะสามารถเรยกไดอกอยางวา สคมา (Schema) ดงนน DLL จงเปน
( )
ภาษาทใชในการสรางสคมา ฐานขอมลทสรางมชอวาอะไร
โครงสรางทประกอบดวยตารางทชออะไรบาง แตละตารางประกอบดวยเขตขอมลใดบาง
ป ป ไ ใ เขตขอมลแตละตวมประเภทของขอมลเปนอะไร มความกวางของขอมลเทาใด แตละตารางมการอนเดกซ (INDEX) ชวยในการคนหาขอมลหรอไม ถามจะใชเขตขอมลใดบางทเปนคย เปนตน
32
ภาษาสาหรบนยามขอมล (Data Definition Language ‐ DDL) (Data Definition Language DDL)
ตวอยางของภาษา DDL เชน ตวอยางของภาษา DDL เชน คาสงการสราง(CREATE) ไดแกการสรางตาราง และการสรางดชน
ป โ (ALTER) คาสงเปลยนโครงสรางตาราง(ALTER) คาสงยกเลก(DROP) ไดแกการยกเลกโครงสรางตาราง และการยกเลกโครงสรางดชน
33
ภาษาสาหรบการจดการขอมล (Data Manipulation Language‐DML)(Data Manipulation Language DML)
DML เปนภาษาทใชจดการขอมลภายในตารางของฐานขอมล ตวอยางของDML เปนภาษาทใชจดการขอมลภายในตารางของฐานขอมล ตวอยางของภาษา DML เชน คาสงการเรยกคนระเบยนขอมล (SELECT) ( ) คาสงการเพมระเบยนขอมล (INSERT) คาสงการเปลยนแปลงระเบยนขอมล (UPDATE) คาสงลบระเบยนขอมล (DELETE)
รปแบบของภาษาทเปน DML นจะถกจดอยในกลมของภาษาในยคท 4 ทมความงาย ใ ใ COBOL Cตอการเขยนและการทาความเขาใจมากกวาภาษาในยคท 3 เชน COBOL หรอ C
ดงนนจะเหนวา DDL จะเปนภาษาทใชกาหนดโครงสรางของฐานขอมล แต DML จะเปนภาษาทใชจดการกบขอมลทอยภายในโครงสรางนนจะเปนภาษาทใชจดการกบขอมลทอยภายในโครงสรางนน
34
สวนประกอบของ สวนประกอบของ DBMSDBMS
DBMS บางตวจะมภาษาการจดการขอมลเปนของตนเองเชน dBASE IV DBMS บางตวจะมภาษาการจดการขอมลเปนของตนเองเชน dBASE IV, FoxPro, R:BASE ฯลฯ แตมการปรบปรงเพมเตม SQL เขาไปดวยในเวอรชนปจจบน และมDBMS หลายตวจะมภาษาทเรยกวา QBE (Query Q (Q yBy Example) และ QUEL (Query Language) รวมอยดวยซงเปนรปแบบของภาษาการเรยกคนขอมลไดอยางงายอกแบบหนง นอกจากน
DBMS หลายตวอนญาตใหซอฟตแวรประยกตบางตวทเขยนดวยภาษาในยคท 3 เชน COBOL สามารถใชคาสงการจดการขอมลทมอยใน SQL เขยนรวม
ใ ไ (E b d d SQL) ใ โป อยในภาษายคท 3 นนได(Embeded SQL) เพอใหการเขยนโปรแกรมทเกยวกบการจดการขอมลทาไดงายขน
35
Question?Q
36