From af089b5776e0d2a394ba50143e02e04805c0e315 Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 11:14:25 -0400 Subject: [PATCH 1/9] - Initital Commit - completed CREATE TABLE for oranization --- queries.sql | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 queries.sql diff --git a/queries.sql b/queries.sql new file mode 100644 index 0000000..0268333 --- /dev/null +++ b/queries.sql @@ -0,0 +1,6 @@ +-- Organization Table -- +CREATE TABLE organization ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(64) NOT NULL UNIQUE, + created TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); \ No newline at end of file From 4a3083341ad2dc52a774465bf753fb0cb77a9c67 Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 11:18:55 -0400 Subject: [PATCH 2/9] -channel table completed --- queries.sql | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/queries.sql b/queries.sql index 0268333..03ae622 100644 --- a/queries.sql +++ b/queries.sql @@ -3,4 +3,13 @@ CREATE TABLE organization ( id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(64) NOT NULL UNIQUE, created TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Channel Table -- +CREATE TABLE channel ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(64) NOT NULL UNIQUE, + organization_id INTEGER REFERENCES organization(id), + created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); \ No newline at end of file From 6efb967ee045fa092a6e93136ac7af046eaf8c73 Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 11:22:01 -0400 Subject: [PATCH 3/9] -completed User table with name and username fields --- queries.sql | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/queries.sql b/queries.sql index 03ae622..6bf4844 100644 --- a/queries.sql +++ b/queries.sql @@ -12,4 +12,13 @@ CREATE TABLE channel ( organization_id INTEGER REFERENCES organization(id), created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- User Table -- +CREATE TABLE user ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + name VARCHAR(64) NOT NULL UNIQUE, + username VARCHAR(32) NOT NULL UNIQUE, + created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); \ No newline at end of file From e4896fffc08433251065a6f497ce7d7efd6bc948 Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 11:28:06 -0400 Subject: [PATCH 4/9] -completed message table with f. keys to ref user and channel table --- queries.sql | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/queries.sql b/queries.sql index 6bf4844..43751cc 100644 --- a/queries.sql +++ b/queries.sql @@ -21,4 +21,14 @@ CREATE TABLE user ( username VARCHAR(32) NOT NULL UNIQUE, created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Message Table -- +CREATE TABLE message ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + content TEXT, + user_id INTEGER REFERENCES user(id), + channel_id INTEGER REFERENCES channel(id), + created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); \ No newline at end of file From 5da5323a53bb9da4f2ca6ce017c99cac79d42afa Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 11:35:17 -0400 Subject: [PATCH 5/9] -added user channel table to reference user id and channled id --- queries.sql | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/queries.sql b/queries.sql index 43751cc..ed0ca47 100644 --- a/queries.sql +++ b/queries.sql @@ -31,4 +31,23 @@ CREATE TABLE message ( channel_id INTEGER REFERENCES channel(id), created TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); \ No newline at end of file +); + +-- user_channel -- +CREATE TABLE user_channel ( + user_id INTEGER REFERENCES user(id), + channel_id INTEGER REFERENCES channel(id) +); + +-- inserting data into database +INSERT INTO user +(name, username) +VALUES("Alice", "A_wonderLand"); + +INSERT INTO user +(name, username) +VALUES("Bob", "Pyscho_B_N_Springfield"); + +INSERT INTO user +(name, username) +VALUES("Chris Hensworth", "Thor"); From f95400e1ed5bd28510a5a6d98c6fb674759488aa Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 11:41:12 -0400 Subject: [PATCH 6/9] - inserted data into organzition Lambda School and into two channels --- queries.sql | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/queries.sql b/queries.sql index ed0ca47..3f3171d 100644 --- a/queries.sql +++ b/queries.sql @@ -51,3 +51,19 @@ VALUES("Bob", "Pyscho_B_N_Springfield"); INSERT INTO user (name, username) VALUES("Chris Hensworth", "Thor"); + + +-- organizations -- +INSERT INTO organization +(name) +VALUES("Lambda School"); + + +-- channels -- +INSERT INTO channel +(name, organization_id) +VALUES("#general", 1); + +INSERT INTO channel +(name, organization_id) +VALUES("#random", 2); From 50a3838243973ce94d0df22fb6f6481f8f944f8d Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 11:51:47 -0400 Subject: [PATCH 7/9] -inserted messages to users with content --- queries.sql | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/queries.sql b/queries.sql index 3f3171d..d3c99b9 100644 --- a/queries.sql +++ b/queries.sql @@ -67,3 +67,48 @@ VALUES("#general", 1); INSERT INTO channel (name, organization_id) VALUES("#random", 2); + +-- messages -- +INSERT INTO message + (content, user_id, channel_id) +VALUES("I'M THE KING OF THE WORLD", 3, 2); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("OH, you did an actual query. That’s awesome lol", 2, 1); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("So many repos.", 1, 1); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("Don't worry guys.", 1, 2); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("Why do I type so slow?", 3, 2); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("Two hours of sleep is rough.", 3, 2); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("What's the repo for today?", 2, 1); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("Can you make a PR request please", 1, 1); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("Are we doing #after-hours?", 2, 2); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("Don’t forget to put your name on your pull request.", 3, 1); + +INSERT INTO message + (content, user_id, channel_id) +VALUES("Please take a moment to reflect upon your day and fill out your Daily Standup report: https:\/\/airtable.com\/shr8ZYuNjevMLRsxI", 1, 1); \ No newline at end of file From 36d7cdb6fa2cb10ed3b20d3d2d076f30cbba4a8d Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 12:49:12 -0400 Subject: [PATCH 8/9] -completed queries --- queries.sql | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/queries.sql b/queries.sql index d3c99b9..b8747d1 100644 --- a/queries.sql +++ b/queries.sql @@ -111,4 +111,41 @@ VALUES("Don’t forget to put your name on your pull request.", 3, 1); INSERT INTO message (content, user_id, channel_id) -VALUES("Please take a moment to reflect upon your day and fill out your Daily Standup report: https:\/\/airtable.com\/shr8ZYuNjevMLRsxI", 1, 1); \ No newline at end of file +VALUES("Please take a moment to reflect upon your day and fill out your Daily Standup report: https:\/\/airtable.com\/shr8ZYuNjevMLRsxI", 1, 1); + +-- SELECT QUERIES -- +SELECT name + from organization; + +SELECT name + from channel; + +SELECT channel.name + FROM channel, organization + WHERE organization_id = organization.id + AND organization.name = "Lambda School"; + +SELECT content + FROM message AS + "GENERAL MESSAGES" WHERE channel_id IS + (SELECT id FROM channel + WHERE name IS '#general') + ORDER BY created DESC; + +SELECT content FROM message INNER JOIN user ON message.user_id IS user.id WHERE user.name IS "Alice"; + +SELECT content +FROM message, channel, user +WHERE user_id = user.id + AND channel_id = channel.id + AND channel.name = "#random" + AND user.name = "Bob" + +SELECT COUNT(user.id) AS "MESSAGE COUNT", user.name AS "Name" +FROM message +INNER JOIN user + ON message.user_id +IS user.id +INNER JOIN channel +WHERE message.channel_id IS channel.id +GROUP BY user.id; \ No newline at end of file From c2cdc4b71746892fd7dcc539caa0b5f1766d7067 Mon Sep 17 00:00:00 2001 From: Brandon Hopper Date: Fri, 7 Sep 2018 12:57:44 -0400 Subject: [PATCH 9/9] - answered question #6 --- queries.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/queries.sql b/queries.sql index b8747d1..2853aec 100644 --- a/queries.sql +++ b/queries.sql @@ -148,4 +148,6 @@ INNER JOIN user IS user.id INNER JOIN channel WHERE message.channel_id IS channel.id -GROUP BY user.id; \ No newline at end of file +GROUP BY user.id; + +-- DROP USER [ IF EXISTS ] user_name -- \ No newline at end of file