Download presentation
Presentation is loading. Please wait.
Published byJeffrey Stone Modified over 9 years ago
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.