From d008f950b11e2b9664c3cbba57d97825aab4b73f Mon Sep 17 00:00:00 2001 From: Bee C Date: Wed, 5 Sep 2018 18:27:31 -0400 Subject: [PATCH 1/3] Bee Choeung --- README.md | 3 ++- answers | 17 +++++++++++++++++ music.db | 0 setup.sql | 18 ++++++++++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 answers create mode 100644 music.db diff --git a/README.md b/README.md index a6d7c7c..5c86aae 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,13 @@ # SQL + See [the Lambda page on Relational Databases](https://github.com/LambdaSchool/Relational-Databases) for more information. (Note that page is for PostgreSQL, but the SQL information is valid here.) ## SQLite - +sql SQLite is a popular, simple SQL database. You can launch into a memory-only DB by running: diff --git a/answers b/answers new file mode 100644 index 0000000..ff83743 --- /dev/null +++ b/answers @@ -0,0 +1,17 @@ +CREATE TABLE album ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(128) NOT NULL, + release_year INTEGER +); + +CREATE TABLE artist ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(128) NOT NULL +); + +REATE TABLE track ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(128) NOT NULL, + album_id INTEGER NOT NULL, + FOREIGN KEY(album_id) REFERENCES album(id) +); diff --git a/music.db b/music.db new file mode 100644 index 0000000..e69de29 diff --git a/setup.sql b/setup.sql index 94bf2cf..22b3288 100644 --- a/setup.sql +++ b/setup.sql @@ -1,3 +1,21 @@ +CREATE TABLE album ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(128) NOT NULL, + release_year INTEGER +); + +CREATE TABLE artist ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(128) NOT NULL +); + +REATE TABLE track ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(128) NOT NULL, + album_id INTEGER NOT NULL, + FOREIGN KEY(album_id) REFERENCES album(id) +); + INSERT INTO album (title, release_year) VALUES ("Super Awesome Album", 1990); INSERT INTO album (title) VALUES ("Super Funky Album"); INSERT INTO album (title, release_year) VALUES ("Super Disco Album", 1978); From c2c611f4362528ab13d814bf8aaf96f7d264c816 Mon Sep 17 00:00:00 2001 From: Bee C Date: Wed, 5 Sep 2018 22:35:55 -0400 Subject: [PATCH 2/3] completed day 1 --- answers | 17 ---------------- answers.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++ music.db | Bin 0 -> 24576 bytes setup.sql | 9 ++++++++- 4 files changed, 64 insertions(+), 18 deletions(-) delete mode 100644 answers create mode 100644 answers.md diff --git a/answers b/answers deleted file mode 100644 index ff83743..0000000 --- a/answers +++ /dev/null @@ -1,17 +0,0 @@ -CREATE TABLE album ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - title VARCHAR(128) NOT NULL, - release_year INTEGER -); - -CREATE TABLE artist ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - name VARCHAR(128) NOT NULL -); - -REATE TABLE track ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - title VARCHAR(128) NOT NULL, - album_id INTEGER NOT NULL, - FOREIGN KEY(album_id) REFERENCES album(id) -); diff --git a/answers.md b/answers.md new file mode 100644 index 0000000..b732da4 --- /dev/null +++ b/answers.md @@ -0,0 +1,56 @@ +CREATE TABLE album ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(128) NOT NULL, + release_year INTEGER +); + +CREATE TABLE artist ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(128) NOT NULL +); + +CREATE TABLE track ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + title VARCHAR(128) NOT NULL, + album_id INTEGER NOT NULL, + FOREIGN KEY(album_id) REFERENCES album(id) +); + +CREATE TABLE artist_albums ( + artist_id INTEGER, + album_id INTEGER, + FOREIGN KEY(artist_id) REFERENCES artist(id), + FOREIGN KEY(album_id) REFERENCES album(id) +); + +SELECT * FROM album; + +SELECT * FROM album WHERE release_year >= 1975 AND release_year < 1990; + +SELECT * FROM album WHERE title LIKE "Super D%"; + +SELECT * FROM album WHERE release_year IS NULL; + +SELECT track.title FROM track, album + WHERE track.album_id = album.id AND album.title = "Super Funky Album"; + +SELECT track.title AS "Track Title" FROM track, album + WHERE track.album_id = album.id AND album.title = "Super Funky Album"; + +SELECT album.title FROM album, artist_album, artist + WHERE artist_album.album_id = album.id AND + artist_album.artist_id = artist.id AND + artist.name = "Han Solo"; + +SELECT AVG(release_year) FROM album; + +SELECT AVG(release_year) FROM album, artist_album, artist + WHERE artist_album.album_id = album.id AND + artist_album.artist_id = artist.id AND + artist.name = "Leia and the Ewoks"; + +SELECT COUNT(*) FROM artist; + +SELECT COUNT(*) FROM track, album + WHERE track.album_id = album.id AND + album.title = "Super Dubstep Album"; diff --git a/music.db b/music.db index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..41c90cad85e44097106b367d208af5f9102c350c 100644 GIT binary patch literal 24576 zcmeI(PiP}m90%|>^WG#T>&$D_I+Fz9T^5qFlbx5YHAX;$bdOxqDd(quO? zVd>58N$*}fc@eLkym%@I9t1rKf{F)4ym(R+_u`vB={99XDJ(3-?}KC}@0*!fgv+GzdTd0uX=z1Rwwb2tWV=k3-;ON6VVmuPgTtd}n{)I%B`*`CVtQKRG(T zpIL3&jgBokjn|sCIG>1eUdR@A^$x{mt7G4?+c%@`;6&Yvz3ba;d-GOHyl(H6&kn4J zw!Ln*?bfQj8=tP+JFGdp=j;JNXYl=eV>d+Izv+MB{d6d$T2v+Ok`nXdr&iAGqSpMtgOm(JohOFI7ZqyCYh+o6Y1I zUx+U=kz<-Q3kBt5>)fr0xY*20qP|N{W#}BG%p_mgQ8VV^qOuoW*}FTCkI7xny*qJ- z2kwQBbY?6U!g6qtoASuY$-ENX6(yQYxWa-rb>{eROx|3L1dK>z{}fB*y_009U<00Izz00bcLhy_fIkviF(+;PWZZL;tA z?j6wxeiJA%MwZnm*l>E|eP?(WCD~JxGV(&4t@XTvQ5<}>pvoXV+xleKKaPTeA}z{}fB*y_009U<00Izz00ba#s}j=dWZgK=z78Pzoid? z`u{KaC;WYW%)8v?i+tYr)A-)_-1yjd&lninM$K5z|I)wHPxX)VcjWue{xg}p8qraTf+b5zw_VtFZ@UO0Sy8WfB*y_009U<00Izz m00bZafvX{)WvHT1rfI>3YD{ial~JnXRHn**0H{on@7h1lc>-$y literal 0 HcmV?d00001 diff --git a/setup.sql b/setup.sql index 22b3288..1d2b6b0 100644 --- a/setup.sql +++ b/setup.sql @@ -9,13 +9,20 @@ CREATE TABLE artist ( name VARCHAR(128) NOT NULL ); -REATE TABLE track ( +CREATE TABLE track ( id INTEGER PRIMARY KEY AUTOINCREMENT, title VARCHAR(128) NOT NULL, album_id INTEGER NOT NULL, FOREIGN KEY(album_id) REFERENCES album(id) ); +CREATE TABLE artist_album ( + artist_id INTEGER, + album_id INTEGER, + FOREIGN KEY(artist_id) REFERENCES artist(id), + FOREIGN KEY(album_id) REFERENCES album(id) +); + INSERT INTO album (title, release_year) VALUES ("Super Awesome Album", 1990); INSERT INTO album (title) VALUES ("Super Funky Album"); INSERT INTO album (title, release_year) VALUES ("Super Disco Album", 1978); From bf028691fb29a88f6d15cda91ad80a0155cae97b Mon Sep 17 00:00:00 2001 From: Bee C Date: Thu, 6 Sep 2018 18:50:57 -0400 Subject: [PATCH 3/3] completed day 2 with assistance and also checking my answers against the solution branch --- answers.md => Day1_Answers.md | 0 notes.sql | 46 +++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) rename answers.md => Day1_Answers.md (100%) create mode 100644 notes.sql diff --git a/answers.md b/Day1_Answers.md similarity index 100% rename from answers.md rename to Day1_Answers.md diff --git a/notes.sql b/notes.sql new file mode 100644 index 0000000..3745783 --- /dev/null +++ b/notes.sql @@ -0,0 +1,46 @@ +PRAGMA foreign_keys = ON; + +DROP TABLE IF EXISTS note; +DROP TABLE IF EXISTS author; + +CREATE TABLE note ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + author_id INTEGER, + title VARCHAR(128), + content TEXT, + created_on DATETIME, + FOREIGN KEY(author_id) REFERENCES author(id) ON DELETE CASCADE +); + +CREATE TABLE author ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(128) +); + +INSERT INTO author (name) VALUES ("Author Name 1"); +INSERT INTO author (name) VALUES ("Author Name 2"); +INSERT INTO author (name) VALUES ("Author Name 3"); +INSERT INTO author (name) VALUES ("Author Name 4"); +INSERT INTO author (name) VALUES ("Author Name 5"); + +INSERT INTO note (author_id, title, content, created_on) VALUES (1, "Author 1 Note 1", "A1N1 Content", CURRENT_TIMESTAMP); +INSERT INTO note (author_id, title, content, created_on) VALUES (1, "Author 1 Note 2", "A1N2 Content", CURRENT_TIMESTAMP); +INSERT INTO note (author_id, title, content, created_on) VALUES (3, "Author 3 Note 1", "A3N1 Content", CURRENT_TIMESTAMP); +INSERT INTO note (author_id, title, content, created_on) VALUES (4, "Author 4 Note 1", "A4N1 Content", CURRENT_TIMESTAMP); +INSERT INTO note (author_id, title, content, created_on) VALUES (5, "Author 5 Note 1", "A5N1 Content", CURRENT_TIMESTAMP); +INSERT INTO note (author_id, title, content, created_on) VALUES (5, "Author 5 Note 2", "A5N2 Content", CURRENT_TIMESTAMP); +INSERT INTO note (author_id, title, content, created_on) VALUES (5, "Author 5 Note 3", "A5N3 Content", CURRENT_TIMESTAMP); + +SELECT title, content FROM note, author + WHERE note.author_id = author.id AND + author.name = "Author Name 5"; + +SELECT name FROM note, author + WHERE note.author_id = author.id AND + note.id = 6; + +SELECT name, COUNT(*) FROM note, author + WHERE note.author_id = author.id + GROUP BY author_id; + +DELETE FROM author WHERE id = 3; \ No newline at end of file