CS 142 Lecture Notes: Relational DatabasesSlide 1 Relation (Table) namebirthgpagrad Anderson Jones Hernandez Chen VARCHAR(30)DATEFLOATINT Column/Attribute/FieldRow/Tuple/Record Column Types
CS 142 Lecture Notes: Relational DatabasesSlide 2 Primary Key idnamebirthgpagrad 14Anderson Jones Hernandez Chen INTVARCHAR(30)DATEFLOATINT Unique For Each Row
CS 142 Lecture Notes: Relational DatabasesSlide 3 Basic Table Operations CREATE TABLE students ( id INT AUTO_INCREMENT, name VARCHAR(30), birth DATE, gpa FLOAT, grad INT, PRIMARY KEY(id)); INSERT INTO students(name, birth, gpa, grad) VALUES ('Anderson', ' ', 3.9, 2009); INSERT INTO students(name, birth, gpa, grad) VALUES ('Jones', ' ', 2.4, 2012); DELETE FROM students WHERE name='Anderson'; DROP TABLE students;
CS 142 Lecture Notes: Relational DatabasesSlide 4 Query: Display Entire Table idnamebirthgpagrad 1Anderson Jones Hernandez Chen SELECT * FROM students; | id | name | birth | gpa | grad | | 1 | Anderson | | 3.9 | 2009 | | 2 | Jones | | 2.4 | 2012 | | 3 | Hernandez | | 3.1 | 2011 | | 4 | Chen | | 3.2 | 2011 |
CS 142 Lecture Notes: Relational DatabasesSlide 5 Query: Select Columns idnamebirthgpagrad 1Anderson Jones Hernandez Chen SELECT name, gpa FROM students; | name | gpa | | Anderson | 3.9 | | Jones | 2.4 | | Hernandez | 3.1 | | Chen | 3.2 |
CS 142 Lecture Notes: Relational DatabasesSlide 6 Query: Filter Rows idnamebirthgpagrad 1Anderson Jones Hernandez Chen SELECT name, gpa FROM students WHERE gpa > 3.0; | name | gpa | | Anderson | 3.9 | | Hernandez | 3.1 | | Chen | 3.2 |
CS 142 Lecture Notes: Relational DatabasesSlide 7 Query: Sort Output idnamebirthgpagrad 1Anderson Jones Hernandez Chen SELECT gpa, name, grad FROM students WHERE gpa > 3.0 ORDER BY gpa DESC; | gpa | name | grad | | 3.9 | Anderson | 2009 | | 3.2 | Chen | 2011 | | 3.1 | Hernandez | 2011 |
CS 142 Lecture Notes: Relational DatabasesSlide 8 Update Value(s) idnamebirthgpagrad 1Anderson Jones Hernandez Chen UPDATE students SET gpa = 2.6, grad = 2013 WHERE id = 2
CS 142 Lecture Notes: Relational DatabasesSlide 9 s.ids.names.births.gpas.grads.advisor_idp.idp.namep.title 1Anderson Fujimuraassocprof 1Anderson Boloskyprof 2Jones Fujimuraassocprof 2Jones Boloskyprof 3Hernandez Fujimuraassocprof 3Hernandez Boloskyprof 4Chen Fujimuraassocprof 4Chen Boloskyprof idnamebirthgpagradadvisor_id 1Anderson Jones Hernandez Chen Foreign Key SELECT s.name, s.gpa FROM students s, advisors p WHERE s.advisor_id = p.id AND p.name = 'Fujimura'; students advisors idnametitle 1Fujimuraassocprof 2Boloskyprof
CS 142 Lecture Notes: Relational DatabasesSlide 10 s.ids.names.births.gpas.grads.advisor_idp.idp.namep.title 1Anderson Fujimuraassocprof 1Anderson Boloskyprof 2Jones Fujimuraassocprof 2Jones Boloskyprof 3Hernandez Fujimuraassocprof 3Hernandez Boloskyprof 4Chen Fujimuraassocprof 4Chen Boloskyprof idnametitle 1Fujimuraassocprof 2Boloskyprof idnamebirthgpagradadvisor_id 1Anderson Jones Hernandez Chen SELECT s.name, s.gpa FROM students s, advisors p WHERE s.advisor_id = p.id AND p.name = 'Fujimura'; students advisors
CS 142 Lecture Notes: Relational DatabasesSlide 11 SELECT s.name, s.gpa FROM students s, advisors p WHERE s.advisor_id = p.id AND p.name = 'Fujimura'; | name | gpa | | Jones | 2.4 | | Hernandez | 3.1 | | Chen | 3.2 | idnamebirthgpagradadvisor_id 1Anderson Jones Hernandez Chen students advisors idnametitle 1Fujimuraassocprof 2Boloskyprof
CS 142 Lecture Notes: Relational DatabasesSlide 12 idnamebirthgpagrad 1Anderson Jones Hernandez Chen idnumbernamequarter 1CS142Web stuffWinter ART101Finger paintingFall ART101Finger paintingWinter PE204Mud wrestlingWinter 2009 course_idstudent_id students courses courses_students SELECT s.name, c.quarter FROM students s, courses c, courses_students cs WHERE c.id = cs.course_id AND s.id = cs.student_id AND c.number = 'ART101'; | name | quarter | | Jones | Fall 2008 | | Chen | Fall 2008 | | Anderson | Winter 2009 |
CS 142 Lecture Notes: Relational DatabasesSlide 13 idnamebirthgpagrad 1Anderson Jones Hernandez Chen idnumbernamequarter 1CS142Web stuffWinter ART101Finger paintingFall ART101Finger paintingWinter PE204Mud wrestlingWinter 2009 course_idstudent_id students courses courses_students SELECT s.name, c.quarter FROM students s, courses c, courses_students cs WHERE c.id = cs.course_id AND s.id = cs.student_id AND c.number = 'ART101'; | name | quarter | | Jones | Fall 2008 | | Chen | Fall 2008 | | Anderson | Winter 2009 |
CS 140 Lecture Notes: File SystemsSlide 14