The Relational Database Model & The Database Development Process

25
THE RELATIONAL DATABASE MODEL & THE DATABASE DEVELOPMENT PROCESS Fact of the Week: According to a Gartner study in ‘06, Microsoft SQL server had the highest annual growth of any proprietary DBMS at 28% increasing market share from 15.6% to 17.4%

description

Fact of the Week: According to a Gartner study in ‘06, Microsoft SQL server had the highest annual growth of any proprietary DBMS at 28% increasing market share from 15.6% to 17.4%. The Relational Database Model & The Database Development Process. Learning Objectives. - PowerPoint PPT Presentation

Transcript of The Relational Database Model & The Database Development Process

Page 1: The Relational Database Model & The Database Development Process

THE RELATIONAL DATABASE MODEL & THE DATABASE DEVELOPMENT PROCESS

Fact of the Week:According to a Gartner study in ‘06, Microsoft SQL server had the highest annual growth of any proprietary DBMS at 28% increasing market share from 15.6% to 17.4%

Page 2: The Relational Database Model & The Database Development Process

Learning Objectives

Describe the Relational Model Define relational terms and understand

the terminology in practice. Understand these relational terms

through practice Explain the System Development Life

Cycle (SDLC) Explain the Database Life Cycle (DBLC)

Page 3: The Relational Database Model & The Database Development Process

Fundamental Axioms of DBMSs

Users communicate with computer applications (websites, etc)

Computer applications communicate with DBMSs.

Users do not communicate with DBMSs directly.

As a result DBMSs although they can be used interactively, are not used interactively.

A DBMS is not a replacement for sound database design principles.

Page 4: The Relational Database Model & The Database Development Process

First of many examples for the semester

https://labjobs.ischool.syr.edu

Db using Relational Model

YouWebsit

e

User Interface

and Business

Logic (HTML/C#)

Data access

logic and Data (SQL)

Web Browser

Web Server (IIS) SQL Server

ApplicationComponents

Page 5: The Relational Database Model & The Database Development Process

The Relational Database Model Many DBMS applications implement the Relational

Model, but none of them enforce it. This permits rookie database designers to shoot themselves in the foot. And many have (including yours truly).

The Relational Model has: (Codd’s 3 rules) 1)Data Independence

Clear separation between data and metadata 2) Data Consistency

Minimal redundancy; the data adopts the “DRY” principle

3) Easy to use You don’t have to understand the implementation to

use it.

Page 6: The Relational Database Model & The Database Development Process

You can build a poorly-designed DB in a DBMS

Do you see problems with this database design?Think Codd: Independence? Consistency? Ease-of-

Use?

Change Sally Jones’s phone #? How many ‘Software’ in the database? Add New Employee Bob Smith? Delete Dave Smith (no longer works here)

Asset# Item Category Employee Phone Date Out1 The ABC's of Excel Book Dave Smith 3321 9-Jun2 InFocus Projector Hardware Sally Jones 4539 2-Jun3 Prog. for Dummies Book Art Wilson 9091 20-Jun4 Learning Perl Book

Keith Way 33825 Dell Laptop #1 Hardware Sally Jones 4539 20-Jun6 Windows 2000 Server Solftware7 Office 2000 Premium Software Dave Smith 3321 12-Jun8 Dell Laptop #2 Hardware

Resource Sign-out Sheet

Page 7: The Relational Database Model & The Database Development Process

Activity: Relational Terminology

Identify Each of These :

Table Relation Row Column Tuple Attribute Physical

Domain Logical

Domain

Item Category Asset#The ABC's of Excel Book 1InFocus Projector Hardware 2Prog. for Dummies Book 3Learning Perl Book 4Dell Laptop #1 Hardware 5Windows 2000 Server Software 6Office 2000 Premium Software 7Dell Laptop #2 Hardware 8

Asset

Page 8: The Relational Database Model & The Database Development Process

Tables are “Buckets for yer data”

Customers

Orders

Products

“Customers Place Orders”

“Products Appear

on Orders”

Tables:• Specialized• Order doesn’t matter• Contain real items

Page 9: The Relational Database Model & The Database Development Process

DBMS : Physical Domain

Different “flavors” of DBMSs use different data types.

Page 10: The Relational Database Model & The Database Development Process

DBMS: Logical Domain / Constraints Default Value – a value entered into an

attribute for a row when one isn’t specified.

Check Constraint – an expression which must be evaluated prior to the insertion of a row. Eg. Employee_hourly_wage >= 0

Unique Constraint – ensures duplicate values are not inserted into a column. (Secondary Keys should have unique constraints)

Lookup table – a separate table containing all of the acceptable values for a given column, typically varchar (Think drop down list) The column you’re trying to constrain is a FK to the lookup table.

Page 11: The Relational Database Model & The Database Development Process

Activity: The Relational Table

Relation Name?Attributes?Physical Domain of Columns?

Logical Domain of Columns?Candidate Keys?

Page 12: The Relational Database Model & The Database Development Process

The Primary Key Constraint Special selected constraint (you choose

it) Enforces entity integrity on the table. Must be data unique for each row Should be a candidate key

Page 13: The Relational Database Model & The Database Development Process

Good PK / Bad PK

Good candidate key choices?

Customer Name? Email Address? Name and DOB? SSN? Customer Selected

value? Random Unique #? Sequential Unique #? Last two are examples

of surrogate keys

The best PK’s Don’t change

… ever! Have no

external meaning ...

Do not compromise security…

Do not hinder performance …

Page 14: The Relational Database Model & The Database Development Process

Activity: Which of these is a good PK?

Candidate keys? Best primary key? Why? Should a Surrogate key be used?

Page 15: The Relational Database Model & The Database Development Process

The Foreign Key constraint

The foreign key is a column added to one relation so that it can be associated with another relation.

Foreign keys must have referential integrity – their values must come from the corresponding PK column in the relation.

Page 16: The Relational Database Model & The Database Development Process

Example of FK: The Lookup Table

Item Category Asset#The ABC's of Excel Book 1InFocus Projector Hardware 2Prog. for Dummies Book 3Learning Perl Book 4Dell Laptop #1 Hardware 5Windows 2000 Server Software 6Office 2000 Premium Software 7Dell Laptop #2 Hardware 8

Asset

CategoryID

Book

Hardware

SoftwareForeign Key

Page 17: The Relational Database Model & The Database Development Process

Activity: Find the keys Candidate? Primary? Foreign? Secondary?

Surrogate?

Page 18: The Relational Database Model & The Database Development Process

One more time.

Rule for joining tables

Tables

Columns: Physical Domain? Logical Domain? Alllow Null?

Keys: Candidate? Primary? Foreign, Surrogate, Secondary?

Page 19: The Relational Database Model & The Database Development Process

The Natural Join of PK-FK at Work

NaturalJoin

Page 20: The Relational Database Model & The Database Development Process

FK Example: Implementation of a 1-M Relationship

Page 21: The Relational Database Model & The Database Development Process

FK Example: Implementation of a M-N Relationship

This M-M Relationship has been resolved intotwo 1-M relationships

Page 22: The Relational Database Model & The Database Development Process

Example:Null and Flags

EID Ename ETermDate EBenefitPlan101 Willie Survive BluePoint102 Mike Rophone 01/01/04103 Curt Tens 02/13/04104 Sara Doctorintahaus OrangePoint105 Dustin Dawind

Employee

EID Ename ETermDate EBenefitPlan101 Willie Survive BluePoint102 Mike Rophone 01/01/04 Term103 Curt Tens 02/13/04 Term104 Sara Doctorintahaus OrangePoint105 Dustin Dawind Op-Out

Employee

Null makes sense for this

column

103 and 105 are null for different reasons!

Flags used to represent

different status

Nulls typically cause problems in Varchar andNumeric, and bit fields

Page 23: The Relational Database Model & The Database Development Process

Data Models: Abstraction Levels

Conceptual

Internal

External

Physical

Logical

Highly AbstractHardware and Software

Independent

Somewhat Abstract Hardware IndependentSoftware Dependent

Not Abstract (Concrete)Hardware and Software Dependent

Page 24: The Relational Database Model & The Database Development Process

Systems Development Lifecycle

IPlanning

IIAnalysis

IIIDesign

IVImplementation

VMaintenance &

Support

Time

Res

ourc

es

Conceptual Model

LogicalModel

Internal / ExternalModel

SDLC / DBLC

PhysicalModel

Page 25: The Relational Database Model & The Database Development Process

THE RELATIONAL DATABASE MODEL & THE DATABASE DEVELOPMENT PROCESS

Questions?