The One-to-Many Relationship. The one-to-many relationship Entities are related to other entities A 1:m relationship.

Slides:



Advertisements
Similar presentations
Introduction to Structured Query Language (SQL)
Advertisements

N.G.Acharya & D.K.Marathe college Chembur-E, Mumbai-71
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
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.
Concepts of Database Management Seventh Edition
Relational Databases Chapter 4.
Introduction to Structured Query Language (SQL)
The University of Akron Dept of Business Technology Computer Information Systems The Relational Model: Query-By-Example (QBE) 2440: 180 Database Concepts.
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.
Fundamentals, Design, and Implementation, 9/e COS 346 Day 11.
Introduction to Structured Query Language (SQL)
Database Design Conceptual –identify important entities and relationships –determine attribute domains and candidate keys –draw the E-R diagram Logical.
Chapter 3. 2 Chapter 3 - Objectives Terminology of relational model. Terminology of relational model. How tables are used to represent data. How tables.
Relational Model Stores data as tables –Each column contains values about the same attribute –Each column has a distinct name –Each row contains values.
SQL – Part II Yong Choi School of Business CSU, Bakersfield.
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)
Structured Query Language Chapter Three (Excerpts) DAVID M. KROENKE’S DATABASE CONCEPTS, 2 nd Edition.
Database Systems More SQL Database Design -- More SQL1.
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.
SQL Basics. SQL SQL (Structured Query Language) is a special-purpose programming language designed from managing data in relational database management.
This presentation prepared for MIS 421 / MBA 575 at Western Washington University. Material in this presentation drawn from Richard T. Watson, Data Management:
Concepts of Database Management, Fifth Edition
Chapter 4 The Relational Model.
The single entity I want to be alone Greta Garbo.
The single entity I want to be alone Greta Garbo.
CSE314 Database Systems More SQL: Complex Queries, Triggers, Views, and Schema Modification Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
Database Management The single entity, the single table, plus some basic SQL.
Fundamentals, Design, and Implementation, 9/e CPE 481 Database Processing Chapter 6 Structured Query Language (SQL) Instructor:Suthep Madarasmi, Ph.D.
Normalization (Codd, 1972) Practical Information For Real World Database Design.
1 Single Table Queries. 2 Objectives  SELECT, WHERE  AND / OR / NOT conditions  Computed columns  LIKE, IN, BETWEEN operators  ORDER BY, GROUP BY,
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.
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.
Database Systems, 9th Edition 1.  In this chapter, students will learn: That the relational database model offers a logical view of data About the relational.
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.
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
SqlExam1Review.ppt EXAM - 1. SQL stands for -- Structured Query Language Putting a manual database on a computer ensures? Data is more current Data is.
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.
© 2002 by Prentice Hall 1 Structured Query Language David M. Kroenke Database Concepts 1e Chapter 3 3.
The One-to-Many Relationship Cow of many-well milked and badly fed Spanish proverb.
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.
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.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
I want to be alone Greta Garbo
The questing beast Sir Thomas Mallory
The One-to-Many Relationship
© 2016, Mike Murach & Associates, Inc.
The Database Exercises Fall, 2009.
Presentation transcript:

The One-to-Many Relationship

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

Hierarchical relationships Occur frequently Multiple 1:m relationships FIRMDIVISIONDEPARTMENTSECTION

Create another entity to avoid update anomalies Insert Delete Update

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

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

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

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

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_stock_nation FOREIGN KEY(natcode) REFERENCES nation ON DELETE RESTRICT);

Representing a 1:m relationship in MS Access

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

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

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

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

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

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

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;

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

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