McMillan’s Quizzes

download report

Transcript McMillan’s Quizzes

McMillan’s Quizzes
• Multiple choice, open book, open notes
• Not open computers, not open classmates
• Partial credit: if less than half the class
gets a question right, he’ll give half-credit
for the next best answer
• Not easy!
Of the following, which is an advantage of using a
relational database?
A. Attributes are inherited
B. Relations are related to others hierarchically
C. It is the only database approach that provides
data independence
D. It permits queries that are at least as powerful as
relational algebra
E. All of the above
Which of the following is uncharacteristic of a database schema?
A. Attributes are not strongly typed
B. Entities without a primary key
C. A relation with a variable number of attributes
D. It is unique to a database instance.
E. All of the above
id
since
dno
Department
Professor
WorksIn
DeptHead
since
Of the following, what is implied by the heavy arrow from
“Professor” to “WorksIn”
A.Each department must have at least one professor
B.All professors work in exactly one department
C.Professors may be members of one or more
departments
D.All professors either work in, or head some
department
E.None of the above
Why is the ‘join’ operator not one of the five
primitive (basic) operators of relational algebra?
A. It was not included in Codd’s seminal papers
B. Joins can be accomplished by composing primitive op
C. It is equivalent to the Carteasian product
D. It has too many variants to be considered a primitive o
E. None of the Above
StudID1(
Course1Course2(
(T1(1StudID1, 2Course1, 3Semester1, 4Grade1),
Transcript)
⋈StudID1=StudID2
(T2(1StudID2, 2Course2, 3Semester2, 4Grade2),
Transcript)))
Which of the following best describes the result of this
relational algebra statement?
A. IDs of students who have taken at least two different courses
B. IDs of students who have taken the same course twice
C. IDs of students who have taken exactly one course
D. IDs of students who have taken exactly two courses
E. None of the above
Problem Points
• ER: binary, ternary, aggregate
relationships. Problem: Represent
supplier inventory, and who sells what to
whom.
Orders
Suppliers
Products
SQL: Aggregate Operators
• Example:
sqlite> SELECT * FROM Sample;
a|b
1|1
2|4
3|9
4|8
5|5
sqlite> SELECT a, MAX(b) FROM Sample;
• What does this return? Does it even run?
Relational Calculus – Some points
• TRC != DRC
• TRC Projection
CREATE TABLE Courses (
number TEXT,
semester TEXT,
seats INTEGER,
PRIMARY KEY(number, semester)
);
CREATE TABLE Enrollment (
student_name TEXT,
course_number TEXT,
course_semester TEXT,
grade INTEGER,
PRIMARY KEY(student_name, course_number, course_semester),
FOREIGN KEY student_name REFERENCES Students(name),
FOREIGN KEY (course_number, course_semester)
REFERENCES Courses(number, semester)
);
• 4C: Find all classes in which no student
failed (TRC)
– Do with and without the universal quantifier
Questions?
•
•
•
•
•
•
•
Database Concepts / History
ER model, ER diagrams
Relational model
Relational algebra
Relational calculus
SQL
Database Application Development