640 likes | 848 Views
บทที่ 5 Spatial Database and Management. GIS Data = Spatial Data + Attribute Data. Spatial Data. Attribute Data. Feature. 1. ข้อมูลคุณลักษณะ ( Attribute Data ).
E N D
GIS Data = Spatial Data + Attribute Data Spatial Data Attribute Data Feature
1. ข้อมูลคุณลักษณะ (Attribute Data) • ข้อมูลคุณลักษณะ ก็คือข้อมูลคุณสมบัติ (Properties) หรือคุณลักษณะเฉพาะ (Characteristic) ที่เป็นหรือเกี่ยวข้องกับ Spatial Data • ยกตัวอย่างเช่น ดิน ดินแต่ละชนิด มีคุณสมบัติแตกต่างกัน เช่น สภาพการระบายน้ำ (ดี ดีปานกลาง ฯลฯ) ความลึกของดิน, pH, N, P, K, เป็นต้น • การเก็บข้อมูลคุณลักษณะ ขึ้นอยู่กับวัตถุประสงค์ของการใช้งาน • ข้อมูลคุณลักษณะ(และข้อมูลเชิงพื้นที่) ได้ถูกจัดเก็บไว้ โดยใช้หลักการทางด้านฐานข้อมูล
2. Type of Attribute Data • Attribute Data มีอยู่ 2 ประเภท - Feature Attribute Data - Nonspatial Data Feature Attribute Table Nonspatial Data Table Attribute Data/Table
2.1 Feature Attribute Data • เป็นข้อมูลคุณลักษณะที่ผูกติดกับ Spatial Data โดยตรงตลอดเวลา • มีเพียง 1 ชุดข้อมูล(หรือไฟล์เดียวเท่านั้น) • ข้อมูลแต่ละแถว จะเป็นของแต่ละ Feature ที่ประกอบขึ้นเป็น Spatial Data Spatial Data Feature ID (Map Unit, etc) Feature Feature Attribute Data
2.2 Nonspatial Data • เป็นข้อมูลคุณลักษณะที่เกี่ยวข้องหรือสัมพันธ์กับข้อมูลเชิงพื้นที่ (Spatial Data) แต่ไม่ผูกติดโดยตรงตลอดเวลา • แบ่งเป็น 2 ประเภท 1) Data Table เป็นไฟล์เก็บข้อมูลคุณลักษณะต่างๆ ที่เกี่ยวข้องกับข้อมูลเชิงพื้นที่ 2) Look-up Table เป็นไฟล์ที่เก็บข้อมูลรหัสและความหมายหรือรายละเอียดของรหัส
ตัวอย่างไฟล์ Data ตัวอย่างไฟล์ Look-up
ความสัมพันธ์ระหว่าง AttributeTables • ทั้ง Feature Attribute Table และNonspatial Table(s) สามารถเชื่อมโยงกันได้ โดยผ่านทาง Key Field (หรือ Feature ID) Key Field / Feature ID
โปรแกรม GIS สร้าง Feature Attribute Table Nonspatial Table • นอกจากนี้ Nonspatial Table สามารถสร้างขึ้นจากโปรแกรมประเภทฐานข้อมูล (Database) ได้ เช่น dBase, Access, Excel หรือText File • หรือจากโปรแกรมจัดการฐานข้อมูล เช่น Oracle, Informix, SYBASE, SQL Server, IBM DB2
3. องค์ประกอบตารางคุณลักษณะใน GIS • Attribute data Table • Table Column & Row • แต่ละแถว ได้แสดงข้อมูลของแต่ละ spatial feature • แต่ละคอลัมน์ เป็นลักษณะเฉพาะอย่าง (characteristic) • แต่ละค่าเซลล์ ตรงที่คอลัมน์ตัดกับแถว จะเป็นค่าคุณลักษณะเฉพาะอย่างของ feature สิ่งนั้น
4. ฐานข้อมูล (Database)และระบบการจัดการฐานข้อมูล • ฐานข้อมูล (Database)ก็คือ กลุ่มข้อมูลที่มีความสัมพันธ์กัน ได้ถูกนำมาจัดเก็บไว้ในที่เดียวกันเป็นระบบ เพื่อให้สามารถเรียกใช้ข้อมูลได้อย่างรวดเร็วและมีประสิทธิภาพ • กลุ่มข้อมูล ได้จัดเก็บข้อมูลแต่ละชนิดไว้ในรูปแบบไฟล์ ที่มีลักษณะเหมือนตาราง (Table) • ตารางประกอบด้วยคอลัมน์ (Column) และแถว (Row)
องค์ประกอบของตารางข้อมูลองค์ประกอบของตารางข้อมูล (column / item / Attribute) Field Table / Relation Record (row /tuple) Cell คำศัพท์ที่ใช้ใน Relational Database Management System Attribute data ซึ่งอาจจะเรียกอีกอย่างหนึ่งว่า Attribute Table
ฐานข้อมูล (Database) ประกอบด้วยตาราง (Table) มากมาย • ตารางที่อยู่ในฐานข้อมูล เป็นตารางที่ได้สร้างความสัมพันธ์ไว้ กล่าวคือ แต่ละตารางสามารถเชื่อมโยงซึ่งกันและกันได้ เมื่อต้องการ • อาจเรียกตาราง อีกอย่างหนึ่งว่า Relation
ระบบการจัดการฐานข้อมูลระบบการจัดการฐานข้อมูล (Database ManagementSystem; DBMS) • DBMS หมายถึง ซอฟต์แวร์ระบบที่ใช้ในการจัดการฐานข้อมูล • DBMS ทำหน้าที่เป็นตัวกลาง ระหว่างฐานข้อมูล และผู้ใช้ DBMS Database User • DBMS ประกอบด้วยเครื่องมือสำหรับการนำเข้าข้อมูล ค้นหา ค้นคืน จัดการให้เหมาะสม และนำข้อมูลออก • ซอฟต์แวร์ GIS มี DBMS ให้มาด้วย • SQL = Structured Query Language
5. ประเภทข้อมูลคุณลักษณะ5. ประเภทข้อมูลคุณลักษณะ • ประเภทข้อมูลคุณลักษณะ (Type of Attribute Data) หมายถึง ข้อมูลที่จัดเก็บไว้ในแต่ละฟิลด์ในตารางข้อมูล 5.1 จำแนกตามชนิดข้อมูล ได้เป็น ตัวเลข (Number) Integer, Floats ตัวอักขระ (Character) String, Text วันเดือนปี (Date) dd / mm / yy ตรรกะ (Boolean) True / False, Yes / No BLOB (Binary Large Object) Images, Multimedia, Geometry of Spatial Features
5.2 จำแนกตาม Measurement Scale • Nominal Dataเป็นข้อมูลที่บอกถึงความแตกต่างกัน เช่น ประเภทการใช้ที่ดิน หรือชนิดดิน • Ordinal Data เป็นข้อมูลที่ได้จัดลำดับความสัมพันธ์ (Ranking Relationship) ยกตัวอย่างเช่น ระดับความเหมาะสม • Interval Data เป็นข้อมูลที่ได้จัดไว้เป็นกลุ่มๆ ตามช่วงค่า • Ratio Data เป็นข้อมูลที่คล้ายกับ Interval Data แต่ว่า Ratio Data มีความหมายกว่า และแสดงข้อมูลตามความเป็นจริงมากกว่า
ตัวอย่าง Nominal data [AREA_RATIO] x (100 / sum [AREA_RAI] ) ตัวอย่าง Ordinal data ตัวอย่าง Ratio data ตัวอย่าง Interval data
จำแนกใหม่ ตามการจัดกลุ่มข้อมูลจาก Measurement Scale 1) Categorical Data nominal & ordinal data 2) Numeric Data interval & ratio data
6.แบบจำลองเชิงสัมพันธ์ (Relational Model) • ฐานข้อมูล เป็นที่เก็บรวบรวมตารางข้อมูลมากมายที่เกี่ยวข้องกัน ไว้ในรูปแบบเชิงเลข • ฐานข้อมูล มีอยู่ 4 แบบจำลอง (Model) ได้แก่ 1) Flat File Model 2) Hierarchical Model 3) Network Model 4) Relational Model
6.1 Flat File Model • แสดงข้อมูลคุณลักษณะต่างๆ ไว้ในไฟล์หรือตารางเดียว ตัวอย่างเช่น Feature Attribute Table หรือแสดงข้อมูลไว้ในรูปแบบ Spreadsheet
6.2Hierarchical Model • จัดเก็บข้อมูลไว้ในลักษณะแบ่งเป็นลำดับขั้นหรือหลายระดับ มองดูคล้ายกับโครงสร้างต้นไม้กลับหัว เริ่มเก็บข้อมูลหลักไว้ที่ระดับบน ต่อจากนั้นเก็บข้อมูลในระดับรองลงมา • ความสัมพันธ์ข้อมูลในแต่ละระดับขั้น(จากบนลงล่าง) มีลักษณะเป็นแบบหนึ่งต่อกลุ่ม (One-to-many; 1:M)
จังหวัด อำเภอ 1 อำเภอ 2 อำเภอ 3 ตำบล 1 ตำบล 2 ตำบล 1 ตำบล 2 ตำบล 1 ตำบล 2 บ้าน 1 บ้าน 2 บ้าน 1 บ้าน 2 บ้าน 1 บ้าน 2 บ้าน 1 บ้าน 2 บ้าน 1 บ้าน 2 บ้าน 1 บ้าน 2 มีความสัมพันธ์ แบบ 1:M
6.3 Network Model • เป็นแบบจำลองฐานข้อมูลที่มีลักษณะการจัดเก็บและการดึงข้อมูลแบบไขว้กัน หมายถึงว่า ข้อมูลในระดับล่างสามารถอ้างถึงหรือเชื่อมโยงกับข้อมูลระดับบนได้มากกว่า 1 แห่ง • ความสัมพันธ์ข้อมูลแต่ละชั้น เป็นแบบM:N (Many-to-Many) หรืออาจเป็น 1:M, M:1
Topological Structure Polygon Map Polygon 1 Polygon 2 Polygon 3 Arc 1 Arc 2 Arc 3 Arc 4 Arc 5 Arc 6 Arc 7 Arc 8 Arc 9 Arc 10 ความสัมพันธ์มีทั้งแบบ M:N, 1:M, M:1
นักศึกษา GIS นักศึกษา 1 นักศึกษา 2 วิชา A วิชา B วิชา C วิชา D วิชา E
6.4 Relational Model • แบบจำลองที่มีการใช้งานกันอย่างแพร่หลาย ซอฟต์แวร์ GIS Relational Database Management System; RDBMS • แบบจำลองนี้ได้แสดงข้อมูลในลักษณะของตาราง ที่เรียกว่า“Relation”โดยตารางประกอบด้วยแถวหรือทัปเพิล(Tuple) แต่ละทัปเพิล จะประกอบด้วยหลายคอลัมน์หรือแอตทริบิวต์ (Attributes) • แต่ละตาราง สามารถเชื่อมโยงกันโดยใช้คีย์ฟิลด์(KeyField)
(column / item / Attribute) Field Table / Relation Record (row /tuple) Cell
Table 1 Key Field Table 2 Table 3
Table: Village Key Key Key Table: Tambol Key Table: Amphoe Key
คีย์ (Key)หมายถึง Attribute หรือ Field ใดที่สามารถใช้ในการบ่งบอกถึงความแตกต่างของทัปเพิลในแต่ละตารางได้ • คีย์ อาจใช้เพียง Field เดียว หรือหลาย Field (เรียกว่า Composite Key) ก็ได้ • RDBMS มีคีย์หลายประเภท เช่น Super Key, Candidate Key, Primary Key, Foreign Key, Secondary Key • GIS Primary Key, Foreign Key
GIS Primary Key, Foreign Key • คีย์หลัก (Primary Key) ก็คือ Field หรือ Attribute ที่สามารถนำมาใช้ในการบ่งบอกถึงความแตกต่าง (Unique Identify) ของ Record หรือ Tuple ในตารางได้โดยใน Field นี้จะต้องมีข้อมูลทุก Record (ต้องไม่มีค่าเป็นNull [ Null หมายถึง ไม่มีค่า] ) ตัวอย่างเช่น ข้อมูลประชาชน ได้ใช้ Field ที่เก็บข้อมูล หมายเลขบัตร ปชป. เป็นคีย์หลัก ข้อมูลนักศึกษา ได้ใช้ Field ที่เก็บข้อมูล รหัสนักศึกษา เป็นคีย์หลัก ข้อมูลบ้าน ได้ใช้ Field ที่เก็บข้อมูล รหัสบ้านเป็นคีย์หลัก
คีย์นอก (Foreign Key) หมายถึง Field ที่เป็นคีย์หลักของตารางอื่นในหนึ่งตารางอาจมีหลายคีย์นอก Foreign Key Foreign Key Primary Key Table: Village Table: Tambol Primary Key Primary Key Table: Amphoe
7.ชนิดของความสัมพันธ์ • เป็นความสัมพันธ์ระหว่าง Record ของแต่ละตาราง จำแนกได้เป็น 4 ประเภท 1) แบบ One-to-Many (1:M) 2) แบบ Many-to-One (M:1) 3) แบบ Many-to-Many (M:N) 4) แบบ One-to-One (1:1)
7.1แบบหนึ่งต่อกลุ่ม (One-to-Many; 1:M) • หมายถึงว่า 1record ในตารางหนึ่ง (Table 1) สามารถจับคู่กับ Record ของตารางอื่น (Table 2) ได้หลาย Record TABLE 2 M 1 TABLE 1 TABLE: SOIL PROPERTIES TABLE: SOIL
7.2แบบกลุ่มต่อหนึ่ง (Many-to-One: M:1) • หมายถึง 1 หรือหลาย Record ในตารางหนึ่ง (Table 1) สามารถจับคู่กับ 1 Record ในอีกตารางหนึ่ง (Table 2) M TABLE 2 TABLE 1 1 TABLE 2 อาจารย์ที่ปรึกษา TABLE 1 นักศึกษา
7.3แบบกลุ่มต่อกลุ่ม (Many-to-Many; M:N) • หมายถึงว่า 1Record ในตารางหนึ่ง (Table 1) สามารถจับคู่กับ Record ในตารางอื่น (Table 2) ได้มากกว่า 1Record ในทางกลับกัน 1 Record ของตารางนี้ (Table2) สามารถจับคู่ได้หลาย Record ในตารางอื่น (Table 1) TABLE 2 N M TABLE 1
TABLE 2 รหัสวิชา TABLE 1 นักศึกษา
7.4แบบหนึ่งต่อหนึ่ง (One-to-One; 1:1) • หมายถึงว่า 1Record ในตารางหนึ่ง (Table 1) สามารถจับคู่กับ Record ของตารางอื่น (Table 2) ได้เพียง 1Record และ Record นี้จะต้องไม่ไปจับคู่ซ้ำกับ Record อื่นอีก TABLE 2 1 1 TABLE 1
TABLE: SOIL PROPERTIES TABLE: SOIL record ที่ไม่ตรงเงื่อนไข ก็จะตัดออกไป
8. รูปแบบการเชื่อมโยงตารางข้อมูล8. รูปแบบการเชื่อมโยงตารางข้อมูล • รูปแบบการเชื่อมโยงตารางข้อมูล(หลายตาราง) เข้าเป็นหนึ่งเดียว ซึ่งมีอยู่ 2 แบบ 1) Join เป็นการรวมหลายๆ ตารางเข้าไว้เป็นตารางเดียว หรือที่ตารางหลัก (Base Table) ตารางอื่นๆ เรียกว่า Destination Table 2) Relate / Linkเป็นการสร้างความเชื่อมโยงระหว่างตารางหลัก และตารางอื่นๆ โดยไม่มีการรวมตารางเข้าเป็นหนึ่งเดียว
Join Table 1 + Table 2 Table 1 Join ได้ใช้ความสัมพันธ์แบบ one-to-one หรือแบบ many-to-one • Relate/Link Table 1 + Table 2 Table 1, Table 2 Relate นี้อาจใช้ความสัมพันธ์ได้ทั้ง 4 แบบ (1:1, 1:M, M:1, M:N) Join Table 1 Table 2 Table 1 Base Table Destination Table Link Table 1 Table 2 Table 1 Table 2
9. Normalization • เป็นวิธีการแตกค่า (Decomposition) ของ Attribute ให้เป็นค่าเดียวหรือเป็นค่าอะตอมมิค (Atomic) โดยเก็บไว้เป็นตารางย่อยๆ เพื่อให้ได้โครงสร้างของตารางที่ดี สามารถควบคุมความซ้ำซ้อนข้อมูลได้ดี และปรับปรุงข้อมูลได้รวดเร็ว • การนอร์มัลไลเซชัน มีการทำงาน ตามลำดับขั้น ที่เรียกว่า นอร์มัลฟอร์ม (Normal Form) มีอยู่ 5 ขั้น ดังนี้ First Normal Form: 1NF Second Normal Form: 2NF Third Normal Form: 3NF
Fourth Normal Form: 4NF Fifth Normal Form: 5NF • การนอร์มัลไลเซชัน ขั้นสูงกว่า จะมีคุณสมบัติที่ดีกว่าระดับที่ต่ำกว่า • Normalization จนกว่าได้ค่าในแต่ละ Field/Attribute เป็นอะตอมมิค • Normalization อยู่ในขั้นตอนของ Logical Data Model (Data Model: Conceptual Logical Physical )
TAM_ID AMP_ID VILL_NM_T VILL_NM_E VILL_CODE PROV_ID TAMBOL TAM_ID UNDER TAM_NM_T VILLAGE AMP_ID TAM_NM_E UNDER PROV_ID UNDER AMPHOE = Entity AMP_ID AMP_NM_E = Attribute PROV_ID AMP_NM_T = Relation E-R Model / Conceptual Data Model
Logical Data Model / Relational Data Model Normalization