Presentation is loading. Please wait.

Presentation is loading. Please wait.

GUS: 0262 Fundamentals of GIS Lecture Presentation 3: Relational Data Model Jeremy Mennis Department of Geography and Urban Studies Temple University.

Similar presentations


Presentation on theme: "GUS: 0262 Fundamentals of GIS Lecture Presentation 3: Relational Data Model Jeremy Mennis Department of Geography and Urban Studies Temple University."— Presentation transcript:

1 GUS: 0262 Fundamentals of GIS Lecture Presentation 3: Relational Data Model Jeremy Mennis Department of Geography and Urban Studies Temple University

2 File Structures 3 Smith Jane A 1 Wood Bob C 2 Kent Chuck B 4 Boone Dan B ID Last First Grade record field A file: “STUDENT”

3 File Structures Simple ordering is based on order of entry into the file Ordered Sequential ordering is based on numeric or alphabetical ordering Indexed an index provides pointers to certain positions in the file

4 Databases and Data Models A database is a collection of data files that is structured (organized) to facilitate data storage, manipulation, and retrieval. A database management system (DBMS) is a software package that performs these database functions

5 Databases and Data Models A data model is a particular way of conceptually organizing multiple data files in a database: Hierarchical, Network, Relational Hierarchical and network data models have generally been replaced by the relational data model. Relational DBMSs (and their derivatives) dominate the (non-GIS) database market: Oracle, Informix.

6 Relational Data Model Composed of a set of tables called relations Records (rows) in the table are called tuples Fields (columns) in the table are called domains We will use the terms tables, records, and fields

7 Relational data model Each record represents a logical entity (e.g. a student) (or a relationship) Each field represents an attribute (property) of the logical entity 1 Wood Bob C Geog357 2 Kent Chuck B Geog115 3 Smith Jane A Geog357 4 Boone Dan B Geog357 ID Last First Grade Class Student

8 Relational data model Each table has a primary key, one field (or a combination of fields) that has a unique value for each and every record in the table 1 Wood Bob C Geog357 2 Kent Chuck B Geog115 3 Smith Jane A Geog357 4 Boone Dan B Geog357 ID Last First Grade Class Student

9 Relational data model Tables can be related (joined or linked) together based on their keys. 1 Wood Bob C Geog357 2 Kent Chuck B Geog115 3 Smith Jane A Geog357 4 Boone Dan B Geog357 ID Last First Grade Class Student Geog357 48 Mennis Geog115 120 Brower Geog20 120 Fountain Class Name #Stud Instructor

10 Relational data model 1 Wood Bob C Geog357 2 Kent Chuck B Geog115 3 Smith Jane A Geog357 4 Boone Dan B Geog357 ID Last First Grade Class Student Geog357 48 Mennis Geog115 120 Brower Geog20 120 Mennis Class Name #Stud Instructor Primary key Foreign key

11 Relational data model 1 Wood Bob C Geog357 2 Kent Chuck B Geog115 3 Smith Jane A Geog357 4 Boone Dan B Geog357 ID Last First Grade Class Student Geog20 120 Brower Geog115 120 Mennis Geog357 48 Mennis Class Name #Stud Instructor Mennis 332 Brower 517 Instructor Name Office

12 Normal Forms The process of structuring tables and table relationships in a logical way that minimizes data redundancy. 3 rules or steps in normalization first normal form second normal form third normal form

13 Normal Forms First normal form only one value per field for each record 1 Wood Bob C, B Geog357, Geog20 2 Kent Chuck B, D Geog115, Geog356 3 Smith Jane A, B Geog357, Geog20 4 Boone Dan B, A Geog357, Geog455 ID Last First Grades Classes Student Violates first normal form

14 Normal Forms Second normal form each non-primary key field must be totally dependent on the entire primary key (and not on only part of the primary key) 2 Wood Bob C sophomore 4 Kent Chuck B senior 3 Smith Jane A junior 3 Boone Dan B junior Year Last First Grade Status Student Violates second normal form because Status is dependent only on Year, not on Year/Last/First primary key

15 Normal Forms To resolve second normal form violation - create separate tables Wood Bob C2 Kent Chuck B 4 Smith Jane A 3 Boone Dan B3 Last First Grade Year Student 1 freshman 2sophomore 3junior 4senior YearStatus Wood Bob C Kent Chuck B Smith Jane A Boone Dan B Last First Grade Year primary key

16 Normal Forms 1 Wood Bob C Geog357 Mennis 2 Kent Chuck B Geog115 Brower 3 Smith Jane A Geog357 Mennis 4 Boone Dan B Geog357 Mennis ID Last First Grade Class Instructor Student Third normal form every field that is not a primary key must be totally and directly dependent on the primary key (no transitive dependency)

17 Normal Forms 1 Wood Bob C Geog357 Mennis 2 Kent Chuck B Geog115 Brower 3 Smith Jane A Geog357 Mennis 4 Boone Dan B Geog357 Mennis ID Last First Grade Class Instructor Student Third normal form every field that is not a primary key must be totally and directly dependent on the primary key (no transitive dependency) Violates third normal form because Instructor is dependent on Class, not on the primary key ID

18 Normal Forms To resolve third normal form violation - create separate tables 1 Wood Bob C Geog357 2 Kent Chuck B Geog115 3 Smith Jane A Geog357 4 Boone Dan B Geog357 ID Last First Grade Class Student Geog357 48 Mennis Geog115 120 Brower Geog20 120 Mennis Class Name #Stud Instructor Class is dependent on primary key ID Instructor is dependent on primary key Name

19 Why Normalization? 1 Wood Bob C Geog357 Mennis 2 Kent Chuck B Geog115 Brower 3 Smith Jane A Geog357 Mennis 4 Boone Dan B Geog357 Mennis ID Last First Grade Class Instructor Student 1. If the instructor to a class changed - all students with that class would have to have their instructors changed 2. Every time a student changed a class, the instructor would also have to be changed

20 Why Normalization? 1 Wood Bob C Geog115 Mennis 2 Kent Chuck B Geog115 Brower 3 Smith Jane A Geog357 Knight 4 Boone Dan B Geog357 Mennis ID Last First Grade Class Instructor Student Logical inconsistency 1 Wood Bob C Geog357 Mennis 2 Kent Chuck B Geog115 Brower 3 Smith Jane A Geog357 Mennis 4 Boone Dan B Geog357 Mennis ID Last First Grade Class Instructor These update problems may result in logical inconsistencies in the database Original table Updated table

21 Why Normalization? When the table is in third normal form, these logical inconsistencies cannot take place. When an instructor is changed, the change is enforced for all students When a student changes classes, the change is instructor is automatically enforced 1 Wood Bob C Geog357 2 Kent Chuck B Geog115 3 Smith Jane A Geog357 4 Boone Dan B Geog357 ID Last First Grade Class Geog357 48 Mennis Geog115 120 Brower Geog20 120 Mennis Class Name #Stud Instructor

22

23 Relational Algebra Operations on the relational data model are defined by relational algebra join projection selection

24 Relational Algebra Join: Match records in both tables based on a common field Geog357 Mennis Geog115 Brower Geog20 Fountain Geog435 Karnes Class Instructor Geography Classes Mennis 332 Brower 423 Fountain 125 Karnes 312 Instructor Office Instructor Geog357 Mennis 332 Geog115 Brower 423 Geog20 Fountain 125 Geog435 Karnes 312 Class Instructor Office Result of Join

25 Relational Algebra Projection: reduces one table in the attribute dimension (a selection of a subset of fields, for all records)

26 Projection: List all Geography classes, but not the instructors Geog357 Mennis Geog115 Brower Geog20 Fountain Geog435 Karnes Class Instructor Geography Classes Relational Algebra Geog357 Geog115 Geog20 Geog435 Class Result of Projection

27 Relational Algebra Selection (restriction): reduces one table in the record dimension (a selection of a subset of records, for all fields) Criteria for selection is called a predicate

28 Selection: Find Geography classes taught by Mennis Geog357 Mennis Geog115 Brower Geog20 Fountain Geog435 Karnes Class Instructor Geography Classes Relational Algebra Result of Selection Geog357 Mennis Class Instructor

29 SQL –Structured (Standard) Query Language –Formal language for interacting with relational databases –Implementation and language for relational algebra

30 SQL SQL - basic syntax SELECT FROM WHERE SELECT Class, Instructor FROM Geography Classes WHERE Instructor = “Mennis” Geog357 Mennis Geog115 Brower Geog20 Fountain Geog435 Karnes Class Instructor Geography Classes Result of Selection Geog357 Mennis Class Instructor

31 SQL SELECT Class, Office FROM Geography Classes, Instructor WHERE Class = “Geog357” or Instructor = “Karnes” or Office = 125 ORDER BY Office Geog357 Mennis Geog115 Brower Geog20 Fountain Geog435 Karnes Class Instructor Geography Classes Mennis 332 Brower 423 Fountain 125 Karnes 312 Name Office Instructor Geog20 125 Geog435 312 Geog357 332 Class Office Result of SQL Query


Download ppt "GUS: 0262 Fundamentals of GIS Lecture Presentation 3: Relational Data Model Jeremy Mennis Department of Geography and Urban Studies Temple University."

Similar presentations


Ads by Google