EXERCISES
5.1 It’s sometimes suggested that a relvar is really just a traditional computer file, with tuples instead of records and attributes instead of fields. Discuss.
5.2 Explain in your own words why remarks like (for example) “This UPDATE operation updates the status for suppliers in London” aren’t very precise. Give a replacement for that remark that’s as precise as you can make it.
5.3 Why are SQL’s “positioned update” operations a bad idea?
5.4 In Tutorial D, INSERT and D_INSERT are defined in terms of UNION and D_UNION, respectively, and DELETE and I_DELETE are defined in terms of MINUS and I_MINUS, respectively. In SQL, by contrast, INSERT is defined in terms of UNION ALL, and there’s nothing analogous to D_INSERT. There’s also nothing in SQL analogous to I_DELETE; but what about the regular SQL DELETE operator? How do you think that’s defined?
5.5 Let the SQL base table SS have the same columns as table S. Consider the following SQL INSERT statements:
INSERT INTO SS ( SNO , SNAME , STATUS , CITY )
( SELECT SNO , SNAME , STATUS , CITY
FROM S
WHERE SNO = 'S6' ) ;
INSERT INTO SS ( SNO , SNAME , STATUS , CITY ) VALUES
( SELECT SNO , SNAME , STATUS , CITY
FROM S
WHERE SNO = 'S6' ) ;Are these statements logically equivalent? If not, what’s the difference between them? Note: Thinking about Tutorial D analogs of the two statements might help you answer this question.
5.6 (This is essentially a repeat of Exercise 2.22 from Chapter 2, but you should be able to give a more comprehensive ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access