260 likes | 409 Vues
This lecture explores the fundamentals of databases, focusing on relational databases used in Geographic Information Systems (GIS). It covers topics such as the structure of databases, including tables, records, fields, and keys. The lecture also addresses the flaws of sequential databases, highlights the importance of topology in GIS, and discusses practical issues such as data currency, concurrency, and security. Key concepts include joining tables, handling topological operations, and the distinct functionalities of GIS in data management and analysis.
E N D
CampusID Name Type Floors Footprint 6 Murphy Academic 2 2001 9 Hopkins Support 2 946 12 Maintenance Support 1 1848 15 Hickey Support 2 2367 17 Shay-Loughlen Dorm 3 1298 Attribute Data CS 128/ES 228 - Lecture 6a
Why Databases? • One of the advantages of vector-based data is that each datum corresponds to a (portion) of a “real” object. • BUT… Objects are more than geographic locations CS 128/ES 228 - Lecture 6a
CampusID Name Type Floors Footprint 6 Murphy Academic 2 2001 9 Hopkins Support 2 946 12 Maintenance Support 1 1848 15 Hickey Support 2 2367 17 Shay-Loughlen Dorm 3 1298 Database “Review” • Databases consist of tables • Each table holds records • Records are in rows • Each record consists of fields, i.e. individual data items • Fields are in columns • Fields that have unique values within a table are called “keys” CS 128/ES 228 - Lecture 6a
Sequential Databases Once upon a time, computer scientists tried to put all the data for an application in one table It didn’t work CS 128/ES 228 - Lecture 6a
Flaws of Sequential Databases • Not all data is homogeneous • Monolithic structure leads to contention problems • Separation of data into “sub” databases leads to duplication (and inconsistencies) CS 128/ES 228 - Lecture 6a
Relational databases • Use many (related) tables of data, with minimal duplication • Tables are “linked” through common values in particular fields • “Queries” permit rich “data mining” CS 128/ES 228 - Lecture 6a
What Color Hair Does Student 234 Have? This is an example of a JOIN operation CS 128/ES 228 - Lecture 6a
Relational Databases in GIS • One table traditionally holds geographic information • Other tables hold data about other attributes • Tables are linked through “Object Ids” • (Object Ids should be independent of the software) CS 128/ES 228 - Lecture 6a
Relational Databases in GIS • Consider a “Buildings” layer • “GIS” data includes location (including coordinate system), symbology, internal bookkeeping • “External” data includes name of building, date built, purpose, etc. CS 128/ES 228 - Lecture 6a
Sometimes they are mixed CS 128/ES 228 - Lecture 6a
Queries • Information is gained by linking tables through “joins” • Queries can involve computed quantities, etc. CS 128/ES 228 - Lecture 6a
Storing Topology • Shapefiles contain no topological information • But topology is important SOLUTION • Store the topology elsewhere CS 128/ES 228 - Lecture 6a
Practicality • GIS must maintain topology (to be useful) • GIS can’t store topology (in shapefiles) • SO, GIS must compute topology CS 128/ES 228 - Lecture 6a
2 1 B 4 A 10 3 5 9 C 8 D 6 7 Data Structure for Topology Select Boundary Where Zone1=A Ans: 4,5 CS 128/ES 228 - Lecture 6a
B A C Topological Operations • Split one region into two CS 128/ES 228 - Lecture 6a
C A B Topological Operations • Merge two regions into one CS 128/ES 228 - Lecture 6a
Dealing with topological operations • Union (whose data dominates if there is a conflict?) • Intersect (whose data do we keep?) • “Snaps” • Clipping (cropping) a raster OR a vector CS 128/ES 228 - Lecture 6a
Issues with large GIS’s • Currency • How do keep the data up to date? CS 128/ES 228 - Lecture 6a
Where does currency arise in GIS’s? • Real-time weather (or other environmental) data • Tracking vehicles • Tracking prisoners – be careful where you put the tracking collar! • … • Many Places CS 128/ES 228 - Lecture 6a
Issues with large GIS’s • Concurrency • How do we prevent conflicts? • One way is to permit “read only” • Works for systems like FRIAR • Does not work when “transactions” must be made CS 128/ES 228 - Lecture 6a
A Concurrency Skit • Scene: One seat (8B) is left on Friday’s flight to Cancun. • Time 1: Ted calls up travel agent and asks if any seats are left. Is told yes. • Time 2: Dave calls up different travel agent and asks if any seats are left. Is told yes. CS 128/ES 228 - Lecture 6a
A Concurrency Skit(continued) • Time 3: Ted’s agent books his seat. • Time 4: Dave’s agent books his seat. • Scene 2: Friday afternoon at the airport... (action to be ad-libbed) CS 128/ES 228 - Lecture 6a
Where does concurrency arise in GIS’s? • The are not that common, but some examples include: • Issuing orders to vehicles in the field. • Updating claims on gold mines CS 128/ES 228 - Lecture 6a
Issues with large GIS’s • Security • Of proprietary data • Legal/ethical concerns • Massachusetts mileage tax • Rental car tracking • Traffic reports (what if they’re wrong?) CS 128/ES 228 - Lecture 6a
What distinguishes (some) GIS’s • The types of these operations that they can perform. Both Database and Topological CS 128/ES 228 - Lecture 6a