From 04f2ca9aba94de27f2e78fcdb2f71ac9afbd3d99 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Thu, 22 Feb 2024 15:08:55 +0100 Subject: [PATCH] add lab-database --- index.html | 1 + infotro/SDi/labs/database/README.md | 109 +++++++++ infotro/SDi/labs/database/relations.png | Bin 0 -> 35921 bytes infotro/SDi/labs/database/sdi04.sql | 294 ++++++++++++++++++++++++ 4 files changed, 404 insertions(+) create mode 100644 infotro/SDi/labs/database/README.md create mode 100644 infotro/SDi/labs/database/relations.png create mode 100644 infotro/SDi/labs/database/sdi04.sql diff --git a/index.html b/index.html index cc31608..773e2ab 100644 --- a/index.html +++ b/index.html @@ -156,6 +156,7 @@ + diff --git a/infotro/SDi/labs/database/README.md b/infotro/SDi/labs/database/README.md new file mode 100644 index 0000000..0b50de5 --- /dev/null +++ b/infotro/SDi/labs/database/README.md @@ -0,0 +1,109 @@ +

+Lab databases +

+ +---------- +# Create & populate tables +![relations.png](relations.png) + + +# Queries + +#### 1) the description of all Function + +```sql +SELECT `description` FROM `Function` +``` +> [!NOTE|label:Result] +> +> "description"
+> "Fast backwards"
+> "Raise up the low frequencies. Cut off frequency : 200 Hz"
+> "Reduce the low frequencies. Cut off frequency : 200 Hz"
+> "Fast forwards"
+> "Tunes down"
+> "Tunes up"
+> "Plays to the next track"
+> "Open or close the player's tray"
+> "Pauses the current track"
+> "Plays the selected track"
+> "Select the preset 1"
+> "Select the preset 2"
+> "Select the preset 3"
+> "Plays to the previous track"
+> "Stores the current frequency to a preset"
+> "Stops the current track"
+> "Reduce the high frequencies.Cut off frequency : 4000 Hz"
+> "Raise up the high frequencies. Cut off frequency : 4000 Hz"
+> "Slow down fine tuning"
+> "Slow up fine tuning"
+> "Raise up the volume"
+> "Reduce the volume"
+> "Select the source of the input (BD, DVD, HDMI, ...)"
+> "Select the Audio format to use with the current source (2ch stereo, 5.1, 7.2, 9.2, ...)"
+ + +#### 2) the `name` of manufacturers that have at least one entry in the `Model` table +```sql +SELECT `Manufacturer`.`manufacturerName` +FROM `Manufacturer` +WHERE EXISTS( SELECT * + FROM `Model` + WHERE `Model`.`manufacturerID`=`Manufacturer`.`manufacturerID`) +``` +> [!NOTE|label:Result] +> +> "manufacturerName"
+> "HEVs"
+> "Sony"
+> "Onkyo" + + + +#### 3) the `modelName` of device models together with the `manufacturerName` of their manufacturers +```sql +SELECT `Model`.`modelName`, `Manufacturer`.`manufacturerName` +FROM `Model`, `Manufacturer` +WHERE `Model`.`manufacturerID` = `Manufacturer`.`manufacturerID` +``` +> [!NOTE|label:Result] +> +> "modelName","manufacturerName"
+> "MHC-900","Sony"
+> "SDi-Ampli-01","HEVs" +> "SDi-CdDvd-01","HEVs"
+> "SDi-Tuner-01","HEVs"
+> "UBP-X800M2","Sony"
+> "TX-RZ70","Onkyo" + +#### 4) the description of the Function with functionLabel “Stop” +```sql +SELECT `Function`.`description` +FROM `Function` +WHERE `Function`.`functionLabel` like 'Stop' +``` +> [!NOTE|label:Result] +> "description"
+> "Stops the current track" + +#### 5) the `functionLabel` for `Function` with `functionID` > 10 and with a `description` containing the word “`preset`” (SQL wildcard character is “`%`”) +```sql +SELECT `Function`.`functionLabel` +FROM `Function` +WHERE `Function`.`functionID` > '10' AND `Function`.`description` like '%preset%' +``` +> [!NOTE|label:Result] +> "functionLabel"
+> "Preset 1"
+> "Preset 2"
+> "Preset 3"
+> "Save preset" + +#### 6) the product of the tables `Code` and `FunctionList` (with and without the `JOIN` keyword), as well as the number of entries in the resulting product table +```sql + +``` +> [!NOTE|label:Result] +> + +# Test constraints \ No newline at end of file diff --git a/infotro/SDi/labs/database/relations.png b/infotro/SDi/labs/database/relations.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc6d71dbbfbcd708348c476bb03001816ecbfaf GIT binary patch literal 35921 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 JagIVW{LKWI7FRG_8} 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