The Student Database
Student
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
Class
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
Enroll
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
GradStudent
sid name addr age GPA
501 Raymond 180 Westwood 23 3.9
502 Amy 301 Wilshire 35 3.4
503 Jack 220 Gayley 22 3.5
504 Dan 220 Gayley 25 3.3
The Selection Operator Give me information of students under the age of 18
age<18(Student)
sid name addr age GPA
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
The Projection Operator Give me the name, address, and GPA of all the
students name, addr, GPA(Student)
name, GPA, addr(Student)
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
name addr GPA
John 183 Westwood 2.1
Elaine 301 Wilshire 3.9
James 183 Westwood 3.6
Esther 421 Gayley 3.1
name GPA addr
John 2.1 183 Westwood
Elaine 3.9 301 Wilshire
James 3.6 183 Westwood
Esther 3.1 421 Gayley
Sample Query Give me the SID and GPA for students under the
age of 18 sid, GPA(age<18(Student))
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
sid name addr age GPA
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
sid GPA
303 3.9
401 3.6
The Cross Product Operator Give me all combinations of students and the
enrollment of students Student Enroll = (Student.sid, name, addr, age, GPA,
Enroll.sid, dept, cnum, sec) Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
301 John 183 Westwood 19 2.1 303 CS 112 01
301 John 183 Westwood 19 2.1 401 EE 183 01
303 Elaine 301 Wilshire 17 3.9 301 CS 143 01
303 Elaine 301 Wilshire 17 3.9 301 EE 301 01
303 Elaine 301 Wilshire 17 3.9 303 CS 112 01
303 Elaine 301 Wilshire 17 3.9 401 EE 183 01
401 James 183 Westwood 17 3.6 301 CS 143 01
401 James 183 Westwood 17 3.6 301 EE 301 01
401 James 183 Westwood 17 3.6 303 CS 112 01
401 James 183 Westwood 17 3.6 401 EE 183 01
208 Esther 421 Gayley 20 3.1 301 CS 143 01
208 Esther 421 Gayley 20 3.1 301 EE 301 01
208 Esther 421 Gayley 20 3.1 303 CS 112 01
208 Esther 421 Gayley 20 3.1 401 EE 183 01
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
301 John 183 Westwood 19 2.1 303 CS 112 01
301 John 183 Westwood 19 2.1 401 EE 183 01
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
301 John 183 Westwood 19 2.1 303 CS 112 01
301 John 183 Westwood 19 2.1 401 EE 183 01
303 Elaine 301 Wilshire 17 3.9 301 CS 143 01
303 Elaine 301 Wilshire 17 3.9 301 EE 301 01
303 Elaine 301 Wilshire 17 3.9 303 CS 112 01
303 Elaine 301 Wilshire 17 3.9 401 EE 183 01
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
301 John 183 Westwood 19 2.1 303 CS 112 01
301 John 183 Westwood 19 2.1 401 EE 183 01
303 Elaine 301 Wilshire 17 3.9 301 CS 143 01
303 Elaine 301 Wilshire 17 3.9 301 EE 301 01
303 Elaine 301 Wilshire 17 3.9 303 CS 112 01
303 Elaine 301 Wilshire 17 3.9 401 EE 183 01
401 James 183 Westwood 17 3.6 301 CS 143 01
401 James 183 Westwood 17 3.6 301 EE 301 01
401 James 183 Westwood 17 3.6 303 CS 112 01
401 James 183 Westwood 17 3.6 401 EE 183 01
Student
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
Enroll
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
Selecting on Cross Products Give me all the information of enrolled students
Student.sid = Enroll.sid(Student Enroll)
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
303 Elaine 301 Wilshire 17 3.9 303 CS 112 01
401 James 183 Westwood 17 3.6 401 EE 183 01
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
301 John 183 Westwood 19 2.1 303 CS 112 01
301 John 183 Westwood 19 2.1 401 EE 183 01
303 Elaine 301 Wilshire 17 3.9 301 CS 143 01
303 Elaine 301 Wilshire 17 3.9 301 EE 301 01
303 Elaine 301 Wilshire 17 3.9 303 CS 112 01
303 Elaine 301 Wilshire 17 3.9 401 EE 183 01
401 James 183 Westwood 17 3.6 301 CS 143 01
401 James 183 Westwood 17 3.6 301 EE 301 01
401 James 183 Westwood 17 3.6 303 CS 112 01
401 James 183 Westwood 17 3.6 401 EE 183 01
208 Esther 421 Gayley 20 3.1 301 CS 143 01
208 Esther 421 Gayley 20 3.1 301 EE 301 01
208 Esther 421 Gayley 20 3.1 303 CS 112 01
208 Esther 421 Gayley 20 3.1 401 EE 183 01
Student
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
Enroll
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
Sample Query Give me the name and addresses of students taking
CS courses whose GPA is below 3.0 name, addr(dept = ‘CS’ GPA < 3.0 Student.sid = Enroll.sid(Student Enroll))
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
301 John 183 Westwood 19 2.1 303 CS 112 01
301 John 183 Westwood 19 2.1 401 EE 183 01
303 Elaine 301 Wilshire 17 3.9 301 CS 143 01
303 Elaine 301 Wilshire 17 3.9 301 EE 301 01
303 Elaine 301 Wilshire 17 3.9 303 CS 112 01
303 Elaine 301 Wilshire 17 3.9 401 EE 183 01
401 James 183 Westwood 17 3.6 301 CS 143 01
401 James 183 Westwood 17 3.6 301 EE 301 01
401 James 183 Westwood 17 3.6 303 CS 112 01
401 James 183 Westwood 17 3.6 401 EE 183 01
208 Esther 421 Gayley 20 3.1 301 CS 143 01
208 Esther 421 Gayley 20 3.1 301 EE 301 01
208 Esther 421 Gayley 20 3.1 303 CS 112 01
208 Esther 421 Gayley 20 3.1 401 EE 183 01
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
303 Elaine 301 Wilshire 17 3.9 303 CS 112 01
401 James 183 Westwood 17 3.6 401 EE 183 01
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
301 John 183 Westwood 19 2.1 301 EE 301 01
Student.sid name addr age GPA Enroll.sid dept cnum sec
301 John 183 Westwood 19 2.1 301 CS 143 01
name addr
John 183 Westwood
Student
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
Enroll
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
The Join Operator Class Enroll
Class.dept = Enroll.dept Class.cnum = Enroll.cnum Class.sec = Enroll.sec(Class Enroll)
Enroll
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
Class
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
C.dept C.cnum C.sec title instructor sid E.dept Elcnum E.sec
CS 143 01 DB Systems John Cho 301 CS 143 01
CS 143 01 DB Systems John Cho 301 EE 301 01
CS 143 01 DB Systems John Cho 303 CS 112 01
CS 143 01 DB Systems John Cho 401 EE 183 01
CS 112 01 Modeling Dick Muntz 301 CS 143 01
CS 112 01 Modeling Dick Muntz 301 EE 301 01
CS 112 01 Modeling Dick Muntz 303 CS 112 01
CS 112 01 Modeling Dick Muntz 401 EE 183 01
EE 301 01 Signal James Dean 301 CS 143 01
EE 301 01 Signal James Dean 301 EE 301 01
EE 301 01 Signal James Dean 303 CS 112 01
EE 301 01 Signal James Dean 401 EE 183 01
EE 183 01 Mechanics Dick Muntz 301 CS 143 01
EE 183 01 Mechanics Dick Muntz 301 EE 301 01
EE 183 01 Mechanics Dick Muntz 303 CS 112 01
EE 183 01 Mechanics Dick Muntz 401 EE 183 01
C.dept C.cnum C.sec title instructor sid E.dept E.cnum E.sec
CS 143 01 DB Systems John Cho 301 CS 143 01
CS 112 01 Modeling Dick Muntz 303 CS 112 01
EE 301 01 Signal James Dean 301 EE 301 01
EE 183 01 Mechanics Dick Muntz 401 EE 183 01
The Theta-Join Operator
Class Class.cnum = Enroll.cnum Enroll.dept = ‘CS’ Enroll
Class.cnum = Enroll.cnum Enroll.dept = ‘CS’(Student Enroll)
Enroll
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
Class
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
C.dept C.cnum C.sec title instructor sid E.dept E.cnum E.sec
CS 143 01 DB Systems John Cho 301 CS 143 01
CS 143 01 DB Systems John Cho 301 EE 301 01
CS 143 01 DB Systems John Cho 303 CS 112 01
CS 143 01 DB Systems John Cho 401 EE 183 01
CS 112 01 Modeling Dick Muntz 301 CS 143 01
CS 112 01 Modeling Dick Muntz 301 EE 301 01
CS 112 01 Modeling Dick Muntz 303 CS 112 01
CS 112 01 Modeling Dick Muntz 401 EE 183 01
EE 301 01 Signal James Dean 301 CS 143 01
EE 301 01 Signal James Dean 301 EE 301 01
EE 301 01 Signal James Dean 303 CS 112 01
EE 301 01 Signal James Dean 401 EE 183 01
EE 183 01 Mechanics Dick Muntz 301 CS 143 01
EE 183 01 Mechanics Dick Muntz 301 EE 301 01
EE 183 01 Mechanics Dick Muntz 303 CS 112 01
EE 183 01 Mechanics Dick Muntz 401 EE 183 01
C.dept C.cnum C.sec title instructor sid E.dept E.cnum E.sec
CS 143 01 DB Systems John Cho 301 CS 143 01
CS 112 01 Modeling Dick Muntz 303 CS 112 01
The Union Operator Give me the SIDs of all students
sid(Student GradStudent)
Student
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
GradStudent
sid name addr age GPA
501 Raymond 180 Westwood 23 3.9
502 Amy 301 Wilshire 35 3.4
503 Jack 220 Gayley 22 3.5
504 Dan 220 Gayley 25 3.3
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
501 Raymond 180 Westwood 23 3.9
502 Amy 301 Wilshire 35 3.4
503 Jack 220 Gayley 22 3.5
504 Dan 220 Gayley 25 3.3
sid
301
303
401
208
501
502
503
504
The Set-Difference Operator – Give me the department, course number, and
section of all classes without any enrolled students dept, cnum, sec(Class) – dept, cnum, sec(Enroll)
Class
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
Enroll
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
dept cnum sec
CS 143 01
CS 112 01
EE 301 01
EE 183 01
dept cnum sec
CS 143 01
EE 301 01
CS 112 01
EE 183 01
dept cnum sec
The Set-Intersection Operator Give all the instructors who teaches both CS and EE
classes instructor(dept=’CS’(Class)) instructor(dept=’EE’(Class))
Class
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
instructor
John Cho
Dick Muntz
instructor
James Dean
Dick Muntz
instructor
Dick Muntz
The Rename Operator Give me pairs of student names who live at the
same address R.name > S.name(name, name(R.addr = S.addr(R(Student) S(Student) )
) ) Student
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
R.sid R.name R.Addr R.Age R.GPA S.Sid S.Name S.Addr S.Age S.GPA
301 John 183 Westwood 19 2.1 301 John 183 Westwood 19 2.1
301 John 183 Westwood 19 2.1 303 Elaine 301 Wilshire 17 3.9
301 John 183 Westwood 19 2.1 401 James 183 Westwood 17 3.6
301 John 183 Westwood 19 2.1 208 Esther 421 Gayley 20 3.1
303 Elaine 301 Wilshire 17 3.9 301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9 303 Elaine 301 Wilshire 17 3.9
303 Elaine 301 Wilshire 17 3.9 401 James 183 Westwood 17 3.6
303 Elaine 301 Wilshire 17 3.9 208 Esther 421 Gayley 20 3.1
401 James 183 Westwood 17 3.6 301 John 183 Westwood 19 2.1
401 James 183 Westwood 17 3.6 303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6 401 James 183 Westwood 17 3.6
401 James 183 Westwood 17 3.6 208 Esther 421 Gayley 20 3.1
208 Esther 421 Gayley 20 3.1 301 John 183 Westwood 19 2.1
208 Esther 421 Gayley 20 3.1 303 Elaine 301 Wilshire 17 3.9
208 Esther 421 Gayley 20 3.1 401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1 208 Esther 421 Gayley 20 3.1
R.sid R.name R.Addr R.Age R.GPA S.Sid S.Name S.Addr S.Age S.GPA
301 John 183 Westwood 19 2.1 301 John 183 Westwood 19 2.1
301 John 183 Westwood 19 2.1 401 James 183 Westwood 17 3.6
303 Elaine 301 Wilshire 17 3.9 303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6 301 John 183 Westwood 19 2.1
401 James 183 Westwood 17 3.6 401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1 208 Esther 421 Gayley 20 3.1
R.name S.Name
John John
John James
Elaine Elaine
James John
James James
Esther Esther
R.name S.Name
James John
The Division Operator / Give me the SIDs of students who are enrolled in all
of the CS classes sid(Student) – sid(sid(Student dept, cnum,
sec(dept=’CS’(Class))) – Enroll)Student
sid name addr age GPA
301 John 183 Westwood 19 2.1
303 Elaine 301 Wilshire 17 3.9
401 James 183 Westwood 17 3.6
208 Esther 421 Gayley 20 3.1
Class
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
Enroll
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
The Division Operator / Give me the SIDs of students who are enrolled in all
of the CS classes sid(Student) –
sid
(sid(Student)
dept, cnum, sec
(dept=’CS’(Class)
)– Enroll)
)
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
EE 301 01 Signal James Dean
EE 183 01 Mechanics Dick Muntz
dept cnum sec title instructor
CS 143 01 DB Systems John Cho
CS 112 01 Modeling Dick Muntz
sid dept cnum sec
301 CS 143 01
301 CS 112 01
303 CS 143 01
303 CS 112 01
401 CS 143 01
401 CS 112 01
208 CS 143 01
208 CS 112 01
dept cnum sec
CS 143 01
CS 112 01
sid
301
303
401
208
sid dept cnum sec
301 CS 143 01
301 EE 301 01
303 CS 112 01
401 EE 183 01
sid dept cnum sec
303 CS 143 01
401 CS 143 01
401 CS 112 01
208 CS 143 01
208 CS 112 01
sid
301
303
401
208
sid
301
sid
303
401
208