The One-to-Many Relationship Cow of many-well milked and badly fed Spanish proverb.

Slides:



Advertisements
Similar presentations
February 18, 2012 Lesson 3 Standard SQL. Lesson 3 Standard SQL.
Advertisements

The One-to-Many Relationship. The one-to-many relationship Entities are related to other entities A 1:m relationship.
The One-to-Many Relationship Cow of many-well milked and badly fed Spanish proverb.
The single entity. Modeling reality A database must mirror the real world if it is to answer questions about the real world Data modeling is a design.
Introduction to Structured Query Language (SQL)
Maintenance Modifying the data –Add records –Delete records –Update records Modifying the design –Add fields into tables –Remove fields from a table –Change.
Midterm Review Lecture 14b. 14 Lectures So Far 1.Introduction 2.The Relational Model 3.Disks and Files 4.Relational Algebra 5.File Org, Indexes 6.Relational.
Database Management Fall 2003 The one-to-many relationship Joins, Views, Subqueries & Group by.
Introduction to Structured Query Language (SQL)
SQL The questing beast Sir Thomas Mallory. SQL A standard ANSI ISO SQL skills are in demand Developed by IBM Object-oriented extensions created.
Relational Model Stores data as tables –Each column contains values about the same attribute –Each column has a distinct name –Each row contains values.
RELATIONSHIP  THE WAY TABLES ARE RELATED  A TABLE MUST PARTICIPATE IN AT LEAST ONE RELATIONSHIP  IN A BINARY RELATIONSHIP TWO ENTITIES PARTICIPATE 
Fundamentals, Design, and Implementation, 9/e Chapter 6 Introduction to Structured Query Language (SQL)
Concepts of Database Management Sixth Edition
QUERYING A DATABASE By: Dr.Ennis-Cole. OBJECTIVES: Learn how to use the Query window in Design view Create, run and Save queries Define a relationship.
Introduction to Structured Query Language (SQL)
Structured Query Language Chapter Three DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
CSEN 5314 Quiz 3.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Define Table Relationships—1 of 3 One of the most powerful features of a relational database management system, such as Access, is its ability to define.
N. J. Taylor Database Management Systems (DBMS) 1.
INTRODUCTION TO DATABASE USING MS ACCESS 2013 PART 2 NOVEMBER 4, 2014.
1 Access Lesson 3 Creating Queries Microsoft Office 2010 Introductory Pasewark & Pasewark.
1 Access Lesson 3 Creating Queries Microsoft Office 2010 Introductory.
This presentation prepared for MIS 421 / MBA 575 at Western Washington University. Material in this presentation drawn from Richard T. Watson, Data Management:
The single entity I want to be alone Greta Garbo.
The single entity I want to be alone Greta Garbo.
CHAPTER 7 Database: SQL, MySQL. Topics  Introduction  Relational Database Model  Relational Database Overview: Books.mdb Database  SQL (Structured.
Database Management System Lecture 6 The Relational Database Model – Keys, Integrity Rules.
Database Management The single entity, the single table, plus some basic SQL.
SQL – Part II Yong Choi School of Business CSU, Bakersfield.
Component 4/Unit 6f Topic VI: Create simple querying statements for the database The SELECT statement Clauses Functions Joins Subqueries Data manipulation.
Microsoft Access 2003 Define some key Access terminology: Field – A single characteristic or attribute of a person, place, object, event, or idea. Record.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
Normalization (Codd, 1972) Practical Information For Real World Database Design.
RDBMSSection Relational DBMS DATABASE DEVELOPMENT And Franchise Colleges By MANSHA NAWAZ.
Using Special Operators (LIKE and IN)
One-to-many relationship Relational databases link several entities based on relationships that exist (based on modeling reality) 1:m relationship example:
7 1 Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeChapter 6/1 Copyright © 2004 Please……. No Food Or Drink in the class.
Microsoft Access Intro Class 6 Relationships.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Pasewark & Pasewark 1 Access Lesson 3 Creating Queries Microsoft Office 2007: Introductory.
Relational Theory and Design
File and Database Design Class 22. File and database design: 1. Choosing the storage format for each attribute from the logical data model. 2. Grouping.
SQL LANGUAGE and Relational Data Model TUTORIAL Prof: Dr. Shu-Ching Chen TA: Hsin-Yu Ha.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 (Part II) INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
Concepts of Database Management Seventh Edition Chapter 3 The Relational Model 2: SQL.
Oracle10g Developer: PL/SQL Programming1 Objectives SQL queries within PL/SQL Host or bind variables The %TYPE attribute Include queries and control structures.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
IS 320 Notes for April 15, Learning Objectives Understand database concepts. Use normalization to efficiently store data in a database. Use.
The Relational Model. 2 Relational Model Terminology u A relation is a table with columns and rows. –Only applies to logical structure of the database,
1 MySQL and SQL. 2 Topics  Introducing Relational Databases  Terminology  Managing Databases MySQL and SQL.
Component 4: Introduction to Information and Computer Science Unit 6: Databases and SQL Lecture 6 This material was developed by Oregon Health & Science.
Exploring Microsoft Access Chapter 5 One-to-Many Relationships: Subforms and Multiple Table Queries.
Manipulating Data Lesson 3. Objectives Queries The SELECT query to retrieve or extract data from one table, how to retrieve or extract data by using.
Mapping ER to Relational Model Each strong entity set becomes a table. Each weak entity set also becomes a table by adding primary key of owner entity.
7 1 Database Systems: Design, Implementation, & Management, 7 th Edition, Rob & Coronel 7.6 Advanced Select Queries SQL provides useful functions that.
Microsoft Access CS 110 Fall Entity Relationship Model Entities Entities Principal data object about which information is to be collectedPrincipal.
LM 5 Introduction to SQL MISM 4135 Instructor: Dr. Lei Li.
Data Resource Management Application Layer TPS A RCHITECTURE Data Layer Sales/MarketingHR Finance/Accounting Operations Spreadsheet Data MS Access Accounts.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
XP Chapter 1 Succeeding in Business with Microsoft Office Access 2003: A Problem-Solving Approach 1 Level 2 Objectives: Understanding and Creating Table.
I want to be alone Greta Garbo
The questing beast Sir Thomas Mallory
The One-to-Many Relationship
The questing beast Sir Thomas Mallory
Presentation transcript:

The One-to-Many Relationship Cow of many-well milked and badly fed Spanish proverb

2 The one-to-many relationship Entities are related to other entities A 1:m relationship

3 Hierarchical relationships Occur frequently Multiple 1:m relationships

4 Create another entity to avoid update anomalies Insert Delete Update

5 STOCK with additional columns stock stkcodestkfirmstkpricestkqtystkdivstkpenatnameexchrate FCFreedonia Copper United Kingdom1.00 PTPatagonian Tea United Kingdom1.00 ARAbyssinian Ruby United Kingdom1.00 SLGSri Lankan Gold United Kingdom1.00 ILZIndian Lead &Zinc United Kingdom1.00 BEBurmese Elephant United Kingdom1.00 BSBolivian Sheep United Kingdom1.00 NGNigerian Geese United Kingdom1.00 CSCanadian Sugar United Kingdom1.00 ROFRoyal Ostrich Farms United Kingdom1.00 MGMinnesota Gold USA0.67 GPGeorgia Peach USA0.67 NENarembeen Emu Australia0.46 QDQueensland Diamond Australia0.46 IRIndooroopilly Ruby Australia0.46 BDBombay Duck India

6 Mapping to a relational database Each entity becomes a table The entity name becomes the table name Each attribute becomes a column Add a column to the table at the many end of a 1:m relationship Put the identifier of the one end in the added column

NATION and STOCK nation natcodenatnameexchrate UKUnited Kingdom1.00 USAUnited States0.67 AUSAustralia0.46 INDIndia stock stkcodestkfirmstkpricestkqtystkdivstkpenatcode FCFreedonia Copper UK PTPatagonian Tea UK ARAbyssinian Ruby UK SLGSri Lankan Gold UK ILZIndian Lead &Zinc UK BEBurmese Elephant UK BSBolivian Sheep UK NGNigerian Geese UK CSCanadian Sugar UK ROFRoyal Ostrich Farms UK MGMinnesota Gold USA GPGeorgia Peach USA NENarembeen Emu AUS QDQueensland Diamond AUS IRIndooroopilly Ruby AUS BDBombay Duck IND

8 Foreign keys A foreign key is a column that is a primary key of another table natcode in stock is a foreign key because natcode is the primary key of nation Record a 1:m relationship

9 Referential integrity constraint For every value of a foreign key there is a primary key with that value For every value of natcode in stock there is a value of natcode in nation A foreign key can never be null A primary key must exist before the foreign key can be defined Must create the nation before its stocks

10 Creating the tables CREATE TABLE nation ( natcodeCHAR(3), natnameVARCHAR(20), exchrateDECIMAL(9,5), PRIMARY KEY (natcode)); CREATE TABLE stock ( stkcodeCHAR(3), stkfirmVARCHAR(20), stkpriceDECIMAL(6,2), stkqtyDECIMAL(8), stkdivDECIMAL(5,2), stkpeDECIMAL(5), natcodeCHAR(3), PRIMARY KEY(stkcode), CONSTRAINT fk_has_nation FOREIGN KEY(natcode) REFERENCES nation(natcode) ON DELETE RESTRICT);

11 Representing a 1:m relationship in MS Access

12 Join Create a new table from two existing tables by matching on a common column SELECT * FROM stock, nation WHERE stock.natcode = nation.natcode; stkcodestkfirmstkpricestkqtystkdivstkpenatcodenatcode1natnameexchrate NENarembeen Emu AUS Australia IRIndooroopilly Ruby AUS Australia QDQueensland Diamond AUS Australia BDBombay Duck IND India ROFRoyal Ostrich Farms UK United Kingdom CSCanadian Sugar UK United Kingdom FCFreedonia Copper UK United Kingdom BSBolivian Sheep UK United Kingdom BEBurmese Elephant UK United Kingdom ILZIndian Lead & Zinc UK United Kingdom SLGSri Lankan Gold UK United Kingdom ARAbyssinian Ruby UK United Kingdom PTPatagonian Tea UK United Kingdom NGNigerian Geese UK United Kingdom MGMinnesota Gold US United States GPGeorgia Peach US United States

13 Join Report the value of each stock holding in UK pounds. Sort the report by nation and firm. SELECT natname, stkfirm, stkprice, stkqty, exchrate, stkprice*stkqty*exchrate AS stkvalue FROM stock,nation WHERE stock.natcode = nation.natcode ORDER BY natname, stkfirm; natnamestkfirmstkpricestkqtyexchratestkvalue AustraliaIndooroopilly Ruby AustraliaNarembeen Emu AustraliaQueensland Diamond IndiaBombay Duck United KingdomAbyssinian Ruby United KingdomBolivian Sheep United KingdomBurmese Elephant United KingdomCanadian Sugar United KingdomFreedonia Copper United KingdomIndian Lead & Zinc United KingdomNigerian Geese United KingdomPatagonian Tea United KingdomRoyal Ostrich Farms United KingdomSri Lankan Gold United StatesGeorgia Peach United StatesMinnesota Gold

14 Control break reporting

15 GROUP BY - reporting by groups Report by nation the total value of stockholdings. SELECT natname, SUM(stkprice*stkqty*exchrate) AS stkvalue FROM stock, nation WHERE stock.natcode = nation.natcode GROUP BY natname; natnamestkvalue Australia India United Kingdom United States

16 HAVING - the WHERE clause of groups Report the total value of stocks for nations with two or more listed stocks. SELECT natname, SUM(stkprice*stkqty*exchrate) AS stkvalue FROM stock, nation WHERE stock.natcode = nation.natcode GROUP BY natname HAVING COUNT(*) >= 2; natnamestkvalue Australia United Kingdom United States

17 Subqueries A query nested within another query Report the names of all Australian stocks. SELECT stkfirm FROM stock WHERE natcode IN (SELECT natcode FROM nation WHERE natname = 'Australia'); stkfirm Narembeen Emu Queensland Diamond Indooroopilly Ruby

18 Correlated subquery Solves the inner query many times Find those stocks where the quantity is greater than the average for that country. SELECT natname, stkfirm, stkqty FROM stock, nation WHERE stock.natcode = nation.natcode AND stkqty > (SELECT AVG(stkqty) FROM stock WHERE stock.natcode = nation.natcode); natnamestkfirmstkqty AustraliaQueensland Diamond89251 United KingdomBolivian Sheep United KingdomRoyal Ostrich Farms United StatesMinnesota Gold816122

19 Views - virtual tables An imaginary table constructed by the DBMS when required Only the definition of the view is stored, not the result CREATE VIEW stkvalue (nation, firm, price, qty, exchrate, value) AS SELECT natname, stkfirm, stkprice, stkqty, exchrate, stkprice*stkqty*exchrate FROM stock, nation WHERE stock.natcode = nation.natcode;

20 Views - querying Query exactly as if a table SELECT nation, firm FROM stkvalue WHERE value > ; nationfirmvalue AustraliaNarembeen Emu AustraliaIndooroopilly Ruby AustraliaQueensland Diamond United KingdomRoyal Ostrich Farms United KingdomCanadian Sugar United KingdomFreedonia Copper United KingdomBolivian Sheep United KingdomIndian Lead & Zinc United KingdomSri Lankan Gold United KingdomAbyssinian Ruby United KingdomPatagonian Tea United KingdomNigerian Geese United StatesMinnesota Gold United StatesGeorgia Peach

21 Why create a view? Simplify query writing Calculated columns Restrict access to parts of a table

22 Summary New topics 1:m relationship Foreign key Correlated subquery GROUP BY HAVING clause View