From d92b491865e84086c1241c98ceb69373330b04ba Mon Sep 17 00:00:00 2001 From: yikth Date: Fri, 4 Sep 2020 20:59:14 +0800 Subject: [PATCH] prepare homework1 --- README.md | 53 +++++- .../homework1/backend_database_homework1.docx | Bin 0 -> 16296 bytes files/sample-homework-data.sql | 173 ++++++++++++++++++ 3 files changed, 221 insertions(+), 5 deletions(-) create mode 100644 files/homework1/backend_database_homework1.docx create mode 100644 files/sample-homework-data.sql diff --git a/README.md b/README.md index 33d6148..14b7d0e 100644 --- a/README.md +++ b/README.md @@ -295,7 +295,9 @@ mysql> ALTER TABLE table2 ADD FOREIGN KEY (COL2) REFERENCE table1(COL2); ``` -* Practical Exercise #4 +## Practical Exercise #4 + +### Trial Result ```sql // Q1 @@ -317,7 +319,48 @@ mysql> select s.seller_id, s.seller_name, avg(t.transaction_amount) FROM seller ``` -PE #4 Answers -1. select c.customer_name, t.transaction_datetime from customer as c left join transaction as t on c.customer_id = t.customer_id; -2. select c.customer_name, max(t.transaction_datetime) from customer as c left join transaction as t on c.customer_id = t.customer_id group by c.customer_id; -3. select s.seller_name, avg(t.transaction_amount) from seller as s left join transaction as t on s.seller_id = t.seller_id group by s.seller_id; +### Model Answers + +```sql +// Q1 +mysql> select c.customer_name, t.transaction_datetime from customer as c left join transaction as t on c.customer_id = t.customer_id; + + +// Q2 +mysql> select c.customer_name, max(t.transaction_datetime) from customer as c left join transaction as t on c.customer_id = t.customer_id group by c.customer_id; + + +// Q3 +mysql> select s.seller_name, avg(t.transaction_amount) from seller as s left join transaction as t on s.seller_id = t.seller_id group by s.seller_id; +``` + +## Data mock tools +* [mockaroo](https://www.mockaroo.com/) +* [generatedata](https://www.generatedata.com/) + +## Using MySQL Shell +1. Switch to SQL mode +```sql +MySQL JS> \sql + +// connect data +MySQL JS> \connect root@localhost:3306 + +// proceed with normal sql command +MySQL localhost:3306 ssl SQL> show databases; + +// open ntuc db +MySQL localhost:3306 ssl SQL> use ntuc; + +// show tables in ntuc +MySQL localhost:3306 ssl SQL> show tables; + +// show store_test table description +MySQL localhost:3306 ssl SQL> describe store_test; + +// display table records +MySQL localhost:3306 ssl SQL> select * from store_test; + + + +``` \ No newline at end of file diff --git a/files/homework1/backend_database_homework1.docx b/files/homework1/backend_database_homework1.docx new file mode 100644 index 0000000000000000000000000000000000000000..9510f8221c0d6bc188d2401a7e0bb4598c2dfd1c GIT binary patch literal 16296 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 literal 0 HcmV?d00001 diff --git a/files/sample-homework-data.sql b/files/sample-homework-data.sql new file mode 100644 index 0000000..7f91ff5 --- /dev/null +++ b/files/sample-homework-data.sql @@ -0,0 +1,173 @@ +-- MySQL dump 10.13 Distrib 8.0.19, for osx10.15 (x86_64) +-- +-- Host: 127.0.0.1 Database: test +-- ------------------------------------------------------ +-- Server version 8.0.19 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!50503 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `customer` +-- + +DROP TABLE IF EXISTS `customer`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `customer` ( + `customer_id` int NOT NULL AUTO_INCREMENT, + `customer_type` tinyint DEFAULT '0', + `customer_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, + `customer_email` varchar(255) DEFAULT NULL, + `customer_wallet` double(11,0) NOT NULL, + `customer_tolerance` double(11,2) NOT NULL, + PRIMARY KEY (`customer_id`) +) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `customer` +-- + +LOCK TABLES `customer` WRITE; +/*!40000 ALTER TABLE `customer` DISABLE KEYS */; +INSERT INTO `customer` VALUES (1,0,'Simone','knsejnf@gmail.com',8000,0.80),(2,1,'Betsy','sdbsakd@gmail.com',10000,0.60),(3,0,'Matthew','dfnsd@gmail.com',9000,0.80),(4,1,'Lisa','skadsla@gmail.com',8000,0.80),(5,1,'Jimmy','bk34d34@gmail.com',8000,0.50),(6,0,'Ximeng','lmkefnew@gmail.com',6000,0.80),(7,1,'Laoxi','mnljewe@gmail.com',6000,0.50),(8,0,'Xiaoxing','asdsa@gmail.com',6000,0.80),(9,1,'Xiaoqi','mkrntc@gmail.com',6000,0.50),(10,0,'Meiqi','msnrgjfn@gmail.com',8000,0.70),(11,0,'Zixuan','kmfehfe@gmail.com',8000,0.70),(12,0,'Xuanyi','knfiurb4r@gmail.com',6000,0.80),(13,1,'Laoxi','mndff473@gmail.com',6000,0.50),(14,0,'Xiaoxing','lknfo4rh@gmail.com',6000,0.80),(15,1,'Xiaoqi','kewnfo4@gmail.com',6000,0.50),(16,0,'Meiqi','i12ednd@gmail.com',8000,0.70),(17,0,'Zixuan','ionqwh3@gmail.com',8000,0.70),(18,0,'Ximeng','kekln44@gmail.com',6000,0.80),(19,1,'Laoxi','lmsxn21@gmail.com',6000,0.50),(20,0,'Xiaoxing','asd233@gmail.com',6000,0.80),(21,2,'Fujing','xvebr4u@gmail.com',6000,0.50),(22,2,'Yammy','nsdknfl@gmail.com',8000,0.50),(23,2,'Dajuan','mxwdnwvd@gmail.com',8000,0.50),(24,2,'Sunnee','nxsasg@gmail.com',6000,0.50),(25,2,'Chaoyue','lmd3nd@gmail.com',6000,0.50),(26,2,'Shanzhi','2wssbahsd@gmail.com',6000,0.50),(27,2,'Zining','sascsax@gmail.com',6000,0.50),(28,2,'Ziting','vaxayew@gmail.com',8000,0.50),(29,2,'Zixuan','bshsdwd@gmail.com',8000,0.50); +/*!40000 ALTER TABLE `customer` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `account` +-- + +DROP TABLE IF EXISTS `account`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `product` ( + `product_id` int NOT NULL AUTO_INCREMENT, + `product_name` varchar(255) DEFAULT NULL, + `product_market_price` double DEFAULT NULL, + PRIMARY KEY (`product_id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `product` +-- + +LOCK TABLES `product` WRITE; +/*!40000 ALTER TABLE `product` DISABLE KEYS */; +INSERT INTO `product` VALUES (1,'iPhone XS',500),(2,'iPhone XR',600),(3,'Google pixel',500),(4,'Huawei P30 pro',300),(5,'iPhone XS case',10),(6,'iPhone XR case',10),(7,'Google pixel case',15),(8,'Huawei P30 pro case',20); +/*!40000 ALTER TABLE `product` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `seller` +-- + +DROP TABLE IF EXISTS `seller`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `seller` ( + `seller_id` int NOT NULL AUTO_INCREMENT, + `seller_name` varchar(255) DEFAULT NULL, + `seller_wallet` double(11,2) DEFAULT '0.00', + PRIMARY KEY (`seller_id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `seller` +-- + +LOCK TABLES `seller` WRITE; +/*!40000 ALTER TABLE `seller` DISABLE KEYS */; +INSERT INTO `seller` VALUES (1,'Alice',143600.00),(2,'Bob',29350.00),(3,'Carol',113500.00),(4,'Dave',55900.00),(5,'Eve',49950.00),(6,'Farah',10000.00); +/*!40000 ALTER TABLE `seller` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `stock` +-- + +DROP TABLE IF EXISTS `stock`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `stock` ( + `id` int NOT NULL AUTO_INCREMENT, + `product_id` int NOT NULL, + `product_quality` double(11,2) DEFAULT NULL, + `seller_id` int NOT NULL, + `stock_quantity` int DEFAULT '0', + `stock_cost` double DEFAULT '0', + `stock_price` double DEFAULT '0', + PRIMARY KEY (`id`), + KEY `product_id` (`product_id`), + KEY `seller_id` (`seller_id`), + CONSTRAINT `stock_ibfk_1` FOREIGN KEY (`product_id`) REFERENCES `product` (`product_id`), + CONSTRAINT `stock_ibfk_2` FOREIGN KEY (`seller_id`) REFERENCES `seller` (`seller_id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `stock` +-- + +LOCK TABLES `stock` WRITE; +/*!40000 ALTER TABLE `stock` DISABLE KEYS */; +INSERT INTO `stock` VALUES (1,1,0.80,1,0,30,500),(2,2,0.70,2,7,20,330),(3,3,0.80,4,50,60,1000),(4,4,0.60,3,38,60,810),(5,5,0.50,5,47,60,1000),(6,6,0.80,1,33,70,900),(7,7,0.70,2,10,60,1000),(8,8,0.80,4,42,60,1000); +/*!40000 ALTER TABLE `stock` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `transaction` +-- + +DROP TABLE IF EXISTS `transaction`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!50503 SET character_set_client = utf8mb4 */; +CREATE TABLE `transaction` ( + `transaction_id` int NOT NULL AUTO_INCREMENT, + `transaction_datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `seller_id` int NOT NULL, + `customer_id` int NOT NULL, + `product_id` int NOT NULL, + `transaction_quantity` int DEFAULT '0', + `transaction_amount` double DEFAULT '0', + PRIMARY KEY (`transaction_id`), + KEY `seller_id` (`seller_id`), + KEY `customer_id` (`customer_id`), + KEY `product_id` (`product_id`), + CONSTRAINT `transaction_ibfk_1` FOREIGN KEY (`seller_id`) REFERENCES `seller` (`seller_id`), + CONSTRAINT `transaction_ibfk_2` FOREIGN KEY (`customer_id`) REFERENCES `customer` (`customer_id`), + CONSTRAINT `transaction_ibfk_3` FOREIGN KEY (`product_id`) REFERENCES `product` (`product_id`) +) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `transaction` +-- + +LOCK TABLES `transaction` WRITE; +/*!40000 ALTER TABLE `transaction` DISABLE KEYS */; +INSERT INTO `transaction` VALUES (1,'2019-03-08 20:16:00',3,2,2,1,480),(2,'2019-04-11 12:48:57',4,1,3,1,400),(3,'2019-04-11 12:48:57',4,1,7,1,80),(4,'2019-05-16 22:57:07',2,1,5,2,200),(5,'2019-07-17 16:23:27',5,3,4,1,300),(6,'2019-07-18 08:59:37',5,3,8,2,160),(7,'2019-09-01 21:00:52',1,2,6,1,95),(8,'2019-11-30 13:58:52',1,1,6,1,1000),(9,'2019-11-30 13:58:52',3,7,4,2,1950),(10,'2019-11-30 13:58:52',4,10,8,1,1000),(11,'2019-11-30 13:58:52',2,5,7,2,1950),(12,'2019-11-30 13:58:52',1,4,1,3,1500),(13,'2019-11-30 13:58:52',3,2,4,3,2800),(14,'2019-11-30 13:58:52',5,25,5,1,1000),(15,'2019-11-30 13:58:52',1,6,1,3,1500),(16,'2019-11-30 13:58:52',1,11,6,3,2950),(17,'2019-11-30 13:58:52',5,19,5,2,1950),(18,'2019-11-30 13:58:52',2,29,7,1,1000),(19,'2019-11-30 13:58:52',2,13,7,4,3950),(20,'2019-11-30 13:58:52',1,24,6,2,1950),(21,'2019-11-30 13:58:52',1,12,1,3,1500),(22,'2019-11-30 13:58:52',4,21,8,3,2950),(23,'2019-11-30 13:58:52',4,8,8,3,2950),(24,'2019-11-30 13:58:52',1,9,1,5,2450),(25,'2019-11-30 13:58:52',3,15,4,5,4950),(26,'2019-11-30 13:58:52',2,28,7,3,2950),(27,'2019-11-30 13:58:52',3,22,4,2,1950),(28,'2019-11-30 13:58:52',1,20,1,1,500),(29,'2019-11-30 13:58:52',4,23,8,1,1000),(30,'2019-11-30 13:58:52',1,17,1,5,2450),(31,'2019-11-30 13:58:52',1,18,6,1,1000),(32,'2019-11-30 13:58:52',2,16,2,3,900),(33,'2019-11-30 13:58:52',1,3,6,4,3950),(34,'2019-11-30 13:58:52',1,25,6,1,1000),(35,'2019-11-30 13:58:52',1,14,6,5,4950); +/*!40000 ALTER TABLE `transaction` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2020-07-21 17:40:55