Suppose we have a relational database with five tables. table key Attributes S(sid, A) Sid T(tid, B) Tid U(uid, C) Uid R(sid, tid, D) sid, tid Q(tid, uid, E) tid, uid Here R implements a many-to-many relationship between the entities implemented with tables S and T, and Q implements a many-to-many relationship between the entities implemented with tables T and U. A. Write an SQL query that returns all records of the form sid, uid where sid is the key of an S- record and uid is the key of a U-record and these two records are related through the relations R and Q. Use SELECT and not SELECT DISTINCT in your query. B. Write an SQL query that returns records of the form A, C where the A-value is from an S- record and the C-value is from a U-record and these two records are related through the relations R and Q. Use SELECT and not SELECT DISTINCT in your query. C. Could one of your queries from parts (a) and (b) return more records than the other? If so, which one? Justify your answer.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
100%
Suppose we have a relational database with five tables.
table
key Attributes
S(sid, A)
Sid
T(tid, B)
Tid
U(uid, C)
Uid
R(sid, tid, D)
sid, tid
tid, uid
Q(tid, uid, E)
Here R implements a many-to-many relationship between the entities implemented with tables S
and T, and Q implements a many-to-many relationship between the entities implemented with
tables T and U.
A. Write an SQL query that returns all records of the form sid, uid where sid is the key of an S-
record and uid is the key of a U-record and these two records are related through the relations
R and Q. Use SELECT and not SELECT DISTINCT in your query.
B. Write an SQL query that returns records of the form A, C where the A-value is from an S-
record and the C-value is from a U-record and these two records are related through the
relations R and Q. Use SELECT and not SELECT DISTINCT in your query.
C. Could one of your queries from parts (a) and (b) return more records than the other? If so,
which one? Justify your answer.
D. Suppose you replaced SELECT with SELECT DISTINCT in your queries from parts (a) and
Could one of these modified queries return more records than the other? If so, which one?
Justify your answer.
E. Consider again your query from part (a). If pair sid, uid is returned by this query then there
must exist at least one "path" that goes from from table S to table T (via relation R) and then
from table T to table U (via relation Q).
Note that there can be many such paths for a given pair sid, uid. Write an SQL query that
returns records of the form tid, total where tid is a key of a record from table T and total
indicates the total number of such paths that "go through" that record.
Transcribed Image Text:Suppose we have a relational database with five tables. table key Attributes S(sid, A) Sid T(tid, B) Tid U(uid, C) Uid R(sid, tid, D) sid, tid tid, uid Q(tid, uid, E) Here R implements a many-to-many relationship between the entities implemented with tables S and T, and Q implements a many-to-many relationship between the entities implemented with tables T and U. A. Write an SQL query that returns all records of the form sid, uid where sid is the key of an S- record and uid is the key of a U-record and these two records are related through the relations R and Q. Use SELECT and not SELECT DISTINCT in your query. B. Write an SQL query that returns records of the form A, C where the A-value is from an S- record and the C-value is from a U-record and these two records are related through the relations R and Q. Use SELECT and not SELECT DISTINCT in your query. C. Could one of your queries from parts (a) and (b) return more records than the other? If so, which one? Justify your answer. D. Suppose you replaced SELECT with SELECT DISTINCT in your queries from parts (a) and Could one of these modified queries return more records than the other? If so, which one? Justify your answer. E. Consider again your query from part (a). If pair sid, uid is returned by this query then there must exist at least one "path" that goes from from table S to table T (via relation R) and then from table T to table U (via relation Q). Note that there can be many such paths for a given pair sid, uid. Write an SQL query that returns records of the form tid, total where tid is a key of a record from table T and total indicates the total number of such paths that "go through" that record.
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY