Some sample exam 1 questions:
1. Briefly define the following terms:
Relation
Tuple
Integrity Constraint
Candidate Key
Primary Key
Foreign Key
Entity, Entity set (in an ER model)
Relationship, Relationship set (in an ER model)
Key constraint (in an ER model)
Participation constraint (ER)
Weak entity (ER)
ISA hierarchy (ER)
Equi-Join
Natural Join
Trigger
Relationally Complete
Cursor
Embedded SQL
Dynamic SQL
JDBC
SQLJ
HTML
XML
DTD
Three Tier Architecture
Thin Client
Thick Client
Javascript
Cascading Style Sheet
Servlet
Cookie
2. A music database contains information about Songs (identified by a unique
song id# and the title of the song), Bands (identified by a unique band name
and the number of members in the band), and Albums (identified by a unique
album id#, the title of the album, the number of songs on the album). Bands
sing Songs and produce Albums. Songs are parts of an Album. Draw an ER
diagram for each of the situations below:
- A Song may be part of more than one Album.
- A Song must be part of at least one Album.
- A Song appears on one and only one Album.
- Each Album must have at least one Song.
- A Band may sing more than one version of a Song, but each version must
appear on a different Album.
3. For the following relations (keys are shown with _s over the field name):
Student Class_Grade Class
___ ___ ___ ___
sname sid age gpa sid cid grade cid cdept cnum
-------------------- ------------- --------------
Ann 1 21 3.5 1 1 A- 1 CS 1621
Bob 2 19 3.4 1 2 A 2 BIOL 1011
Cal 3 20 2.6 2 1 B 3 ECE 1315
Dee 4 22 4.0 2 3 C
3 1 A
3 2 C
3 3 F
4 2 A
How would you design the following queries in Relational Algebra:
- The id#s of students who are 19 or 20.
- The student names (sname) of those students who have taken CS 1621.
- Students (names) who have taken a biology course or ECE course.
- Students (names) who have taken every course in Class.
- Students (names) who have received an A.
4. Answer question 3 using Domain Relational Calculus.
5. Answer question 3 using SQL.
5a. How would design these queries in SQL:
- What is the average GPA of students by age (e.g., what is the
average GPA of students of age 18, 19, etc.)
- What is the maximum GPA of each student by age where a result is
reported only if there are at least 2 students of that age
- For each course indicate the number of As in that course (only
for courses where a student got an A)
6. Define the following operations in relational algebra:
Selection, Projection, Cross Product, Intersection, Union,
Natural Join, Division
How would you perform operations similar to these in Domain Relational
Calculus?
7. A SQL query may have five different clauses, a SELECT, FROM, WHERE,
GROUP BY and HAVING clause. Explain how each of these clauses works
and how they are evaluated in an SQL query. Give an example using
all five clauses.
8. How is a view defined in SQL? How are queries on views resolved? What
are some of the difficulties introduced with views?
9. Define the terms primary key, candidate key, foreign key, and domain
constraint. How are these concepts introduced using SQL? Give an
example of a relation definition or definitions in SQL that includes
all of these concepts.
10. What is a general integrity constraint in SQL? How is such a constraint
defined?
11. Discuss two mechanisms that can be used to obtain information
in a high-level programming language, such as Java or C++. Make sure
to discuss the advantages and disadvantages of each of the mechanisms.
12. How is XML related to HTML? What are the advantages of XML? What
is a DTD and how does it relate to XML? Give an example of each of
these ideas.
13. Define the three-tiered architecture for internet database applications.
Indicate what the function of each layer is, and give an example of a piece
of software that might be used in each layer. How does this notion relate
to the concepts of thick and thin clients? What are advantages of the
three-tiered architecture.