diff --git a/2-Working-With-Data/05-relational-databases/README.md b/2-Working-With-Data/05-relational-databases/README.md index 59d24bc6..a2c75228 100644 --- a/2-Working-With-Data/05-relational-databases/README.md +++ b/2-Working-With-Data/05-relational-databases/README.md @@ -54,6 +54,8 @@ Let's return to our data and determine how we want to split things up. We know w But before we create the next table, we need to figure out how to reference each city. We need some form of an identifier, ID or (in technical database terms) a primary key. A primary key is a value used to identify one specific row in a table. While this could be based on a value itself (we could use the name of the city, for example), it should almost always be a number or other identifier. We don't want the id to ever change as it would break the relationship. You will find in most cases the primary key or id will be an auto-generated number. +> [!NOTE] Foreign key is frequently abbreviated as PK + ### cities | city_id | city | country | @@ -80,7 +82,9 @@ With our cities table created, let's store the rainfall. Rather than duplicating | 8 | 3 | 2019 | 942 | | 9 | 3 | 2020 | 1176 | -Notice the **city_id** column inside the newly created **rainfall** table. This column contains values which reference the IDs in the **cities** table. In technical relational data terms, this is called a foreign key; it's a primary key from another table. You can just think of it as a reference or a pointer. **city_id** 1 references Tokyo. +Notice the **city_id** column inside the newly created **rainfall** table. This column contains values which reference the IDs in the **cities** table. In technical relational data terms, this is called a **foreign key**; it's a primary key from another table. You can just think of it as a reference or a pointer. **city_id** 1 references Tokyo. + +> [!NOTE] Foreign key is frequently abbreviated as FK ## Retrieving the data @@ -154,7 +158,7 @@ Relational databases are centered around dividing information between multiple t ## 🚀 Challenge -TBD +There are numerous relational databases available on the internet. You can explore the data by using the skills you've learned above. ## Post-Lecture Quiz @@ -162,7 +166,10 @@ TBD ## Review & Self Study -- SQL content on Learn +There are several resources available on [Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-40229-cxa) for you to continue your exploration of SQL and relational database concepts + +- [Describe concepts of relational data](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-40229-cxa) +- [Get Started Querying with Transact-SQL](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-40229-cxa) (Transact-SQL is a version of SQL) ## Assignment diff --git a/2-Working-With-Data/05-relational-databases/airports.db b/2-Working-With-Data/05-relational-databases/airports.db new file mode 100644 index 00000000..05fdcbf6 Binary files /dev/null and b/2-Working-With-Data/05-relational-databases/airports.db differ diff --git a/2-Working-With-Data/05-relational-databases/assignment.md b/2-Working-With-Data/05-relational-databases/assignment.md index b7af6412..006d6090 100644 --- a/2-Working-With-Data/05-relational-databases/assignment.md +++ b/2-Working-With-Data/05-relational-databases/assignment.md @@ -1,8 +1,59 @@ -# Title +# Displaying airport data + +You have been provided a [database](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) built on [SQLite](https://sqlite.org/index.html) which contains information about airports. The schema is displayed below. You will use the [SQLite extension](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-40229-cxa) in [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-40229-cxa) to display information about different cities' airports. ## Instructions +To get started with the assignment, you'll need to perform a couple of steps. You'll need to install a bit of tooling and download the sample database. + +### Setup your system + +You can use Visual Studio Code and the SQLite extension to interact with the database. + +1. Navigate to [code.visualstudio.com](https://code.visualstudio.com?WT.mc_id=academic-40229-cxa) and follow the instructions to install Visual Studio Code +1. Install the [SQLite extension](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-40229-cxa) extension as instructed on the Marketplace page + +### Download and open the database + +Next you will download an open the database. + +1. Download the [database file from GitHub](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) and save it to a directory +1. Open Visual Studio Code +1. Open the database in the SQLite extension by selecting **Ctl-Shift-P** (or **Cmd-Shift-P** on a Mac) and typing `SQLite: Open database` +1. Select **Choose database from file** and open the **airports.db** file you downloaded previously +1. After opening the database (you won't see an update on the screen), create a new query window by selecting **Ctl-Shift-P** (or **Cmd-Shift-P** on a Mac) and typing `SQLite: New query` + +Once open, the new query window can be used to run SQL statements against the database. You can use the command **Ctl-Shift-Q** (or **Cmd-Shift-Q** on a Mac) to run queries against the database. + +> [!NOTE] For more information about the SQLite extension, you can consult the [documentation](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-40229-cxa) + +## Database schema + +A database's schema is its table design and structure. The **airports** database as two tables, `cities`, which contains a list of cities in the United Kingdom and Ireland, and `airports`, which contains the list of all airports. Because some cities may have multiple airports, two tables were created to store the information. In this exercise you will use joins to display information for different cities. + +| Cities | +| ---------------- | +| id (PK, integer) | +| city (text) | +| country (text) | + +| Airports | +| -------------------------------- | +| id (PK, integer) | +| name (text) | +| code (text) | +| city_id (FK to id in **Cities**) | + +## Assignment + +Create queries to return the following information: + +1. all city names in the `Cities` table +1. all cities in Ireland in the `Cities` table +1. all airport names with their city and country +1. all airports in London, United Kingdom + ## Rubric -Exemplary | Adequate | Needs Improvement ---- | --- | -- | +| Exemplary | Adequate | Needs Improvement | +| --------- | -------- | ----------------- | diff --git a/2-Working-With-Data/05-relational-databases/insert-airports.sql b/2-Working-With-Data/05-relational-databases/insert-airports.sql new file mode 100644 index 00000000..1001be84 --- /dev/null +++ b/2-Working-With-Data/05-relational-databases/insert-airports.sql @@ -0,0 +1,187 @@ +INSERT INTO Airports (name, code, city_id) +VALUES +('Belfast International Airport', 'EGAA', (SELECT id FROM Cities WHERE name = 'Belfast' AND country = 'United Kingdom')), +('St Angelo Airport', 'EGAB', (SELECT id FROM Cities WHERE name = 'Enniskillen' AND country = 'United Kingdom')), +('George Best Belfast City Airport', 'EGAC', (SELECT id FROM Cities WHERE name = 'Belfast' AND country = 'United Kingdom')), +('City of Derry Airport', 'EGAE', (SELECT id FROM Cities WHERE name = 'Londonderry' AND country = 'United Kingdom')), +('Birmingham International Airport', 'EGBB', (SELECT id FROM Cities WHERE name = 'Birmingham' AND country = 'United Kingdom')), +('Coventry Airport', 'EGBE', (SELECT id FROM Cities WHERE name = 'Coventry' AND country = 'United Kingdom')), +('Leicester Airport', 'EGBG', (SELECT id FROM Cities WHERE name = 'Leicester' AND country = 'United Kingdom')), +('Gloucestershire Airport', 'EGBJ', (SELECT id FROM Cities WHERE name = 'Golouchestershire' AND country = 'United Kingdom')), +('Wolverhampton Halfpenny Green Airport', 'EGBO', (SELECT id FROM Cities WHERE name = 'Halfpenny Green' AND country = 'United Kingdom')), +('Cotswold Airport', 'EGBP', (SELECT id FROM Cities WHERE name = 'Pailton' AND country = 'United Kingdom')), +('Turweston Airport', 'EGBT', (SELECT id FROM Cities WHERE name = 'Turweston' AND country = 'United Kingdom')), +('Wellesbourne Mountford Airport', 'EGBW', (SELECT id FROM Cities WHERE name = 'Wellesbourne' AND country = 'United Kingdom')), +('Manchester Airport', 'EGCC', (SELECT id FROM Cities WHERE name = 'Manchester' AND country = 'United Kingdom')), +('Manchester Woodford Airport', 'EGCD', (SELECT id FROM Cities WHERE name = 'Woodfort' AND country = 'United Kingdom')), +('Royal Marines Base Chivenor Airport', 'EGDC', (SELECT id FROM Cities WHERE name = 'Chivenor' AND country = 'United Kingdom')), +('Newquay Cornwall Airport', 'EGHQ', (SELECT id FROM Cities WHERE name = 'Newquai' AND country = 'United Kingdom')), +('RAF Lyneham', 'EGDL', (SELECT id FROM Cities WHERE name = 'Lyneham' AND country = 'United Kingdom')), +('MoD Boscombe Down Airport', 'EGDM', (SELECT id FROM Cities WHERE name = 'Boscombe Down' AND country = 'United Kingdom')), +('RNAS Culdrose', 'EGDR', (SELECT id FROM Cities WHERE name = 'Culdrose' AND country = 'United Kingdom')), +('MoD St. Athan', 'EGDX', (SELECT id FROM Cities WHERE name = 'St. Athan' AND country = 'United Kingdom')), +('RNAS Yeovilton', 'EGDY', (SELECT id FROM Cities WHERE name = 'Yeovilton' AND country = 'United Kingdom')), +('Haverfordwest Airport', 'EGFE', (SELECT id FROM Cities WHERE name = 'Haverfordwest' AND country = 'United Kingdom')), +('Cardiff International Airport', 'EGFF', (SELECT id FROM Cities WHERE name = 'Cardiff' AND country = 'United Kingdom')), +('Swansea Airport', 'EGFH', (SELECT id FROM Cities WHERE name = 'Swansea' AND country = 'United Kingdom')), +('Bristol Airport', 'EGGD', (SELECT id FROM Cities WHERE name = 'Bristol' AND country = 'United Kingdom')), +('Liverpool John Lennon Airport', 'EGGP', (SELECT id FROM Cities WHERE name = 'Liverpool' AND country = 'United Kingdom')), +('London Luton Airport', 'EGGW', (SELECT id FROM Cities WHERE name = 'London' AND country = 'United Kingdom')), +('Plymouth City Airport', 'EGHD', (SELECT id FROM Cities WHERE name = 'Plymouth' AND country = 'United Kingdom')), +('Bournemouth Airport', 'EGHH', (SELECT id FROM Cities WHERE name = 'Bournemouth' AND country = 'United Kingdom')), +('Southampton Airport', 'EGHI', (SELECT id FROM Cities WHERE name = 'Southampton' AND country = 'United Kingdom')), +('Lasham Airport', 'EGHL', (SELECT id FROM Cities WHERE name = 'Lasham' AND country = 'United Kingdom')), +('Shoreham Airport', 'EGKA', (SELECT id FROM Cities WHERE name = 'Shoreham By Sea' AND country = 'United Kingdom')), +('London Biggin Hill Airport', 'EGKB', (SELECT id FROM Cities WHERE name = 'Biggin Hill' AND country = 'United Kingdom')), +('London Gatwick Airport', 'EGKK', (SELECT id FROM Cities WHERE name = 'London' AND country = 'United Kingdom')), +('London City Airport', 'EGLC', (SELECT id FROM Cities WHERE name = 'London' AND country = 'United Kingdom')), +('Farnborough Airport', 'EGLF', (SELECT id FROM Cities WHERE name = 'Farnborough' AND country = 'United Kingdom')), +('Chalgrove Airport', 'EGLJ', (SELECT id FROM Cities WHERE name = 'Chalsgrove' AND country = 'United Kingdom')), +('Blackbushe Airport', 'EGLK', (SELECT id FROM Cities WHERE name = 'Blackbushe' AND country = 'United Kingdom')), +('London Heathrow Airport', 'EGLL', (SELECT id FROM Cities WHERE name = 'London' AND country = 'United Kingdom')), +('Southend Airport', 'EGMC', (SELECT id FROM Cities WHERE name = 'Southend' AND country = 'United Kingdom')), +('Lydd Airport', 'EGMD', (SELECT id FROM Cities WHERE name = 'Lydd' AND country = 'United Kingdom')), +('Kent International Airport', 'EGMH', (SELECT id FROM Cities WHERE name = 'Manston' AND country = 'United Kingdom')), +('Brough Airport', 'EGNB', (SELECT id FROM Cities WHERE name = 'Brough' AND country = 'United Kingdom')), +('Carlisle Airport', 'EGNC', (SELECT id FROM Cities WHERE name = 'Carlisle' AND country = 'United Kingdom')), +('Retford Gamston Airport', 'EGNE', (SELECT id FROM Cities WHERE name = 'Repton' AND country = 'United Kingdom')), +('Blackpool International Airport', 'EGNH', (SELECT id FROM Cities WHERE name = 'Blackpool' AND country = 'United Kingdom')), +('Humberside Airport', 'EGNJ', (SELECT id FROM Cities WHERE name = 'Humberside' AND country = 'United Kingdom')), +('Barrow Walney Island Airport', 'EGNL', (SELECT id FROM Cities WHERE name = 'Barrow Island' AND country = 'United Kingdom')), +('Leeds Bradford Airport', 'EGNM', (SELECT id FROM Cities WHERE name = 'Leeds' AND country = 'United Kingdom')), +('Warton Airport', 'EGNO', (SELECT id FROM Cities WHERE name = 'Warton' AND country = 'United Kingdom')), +('Hawarden Airport', 'EGNR', (SELECT id FROM Cities WHERE name = 'Hawarden' AND country = 'United Kingdom')), +('Newcastle Airport', 'EGNT', (SELECT id FROM Cities WHERE name = 'Newcastle' AND country = 'United Kingdom')), +('Durham Tees Valley Airport', 'EGNV', (SELECT id FROM Cities WHERE name = 'Teesside' AND country = 'United Kingdom')), +('East Midlands Airport', 'EGNX', (SELECT id FROM Cities WHERE name = 'East Midlands' AND country = 'United Kingdom')), +('Llanbedr Airport', 'EGOD', (SELECT id FROM Cities WHERE name = 'Llanbedr' AND country = 'United Kingdom')), +('RAF Ternhill', 'EGOE', (SELECT id FROM Cities WHERE name = 'Ternhill' AND country = 'United Kingdom')), +('RAF Shawbury', 'EGOS', (SELECT id FROM Cities WHERE name = 'Shawbury' AND country = 'United Kingdom')), +('RAF Woodvale', 'EGOW', (SELECT id FROM Cities WHERE name = 'Woodvale' AND country = 'United Kingdom')), +('Kirkwall Airport', 'EGPA', (SELECT id FROM Cities WHERE name = 'Kirkwall' AND country = 'United Kingdom')), +('Sumburgh Airport', 'EGPB', (SELECT id FROM Cities WHERE name = 'Sumburgh' AND country = 'United Kingdom')), +('Wick Airport', 'EGPC', (SELECT id FROM Cities WHERE name = 'Wick' AND country = 'United Kingdom')), +('Aberdeen Dyce Airport', 'EGPD', (SELECT id FROM Cities WHERE name = 'Aberdeen' AND country = 'United Kingdom')), +('Inverness Airport', 'EGPE', (SELECT id FROM Cities WHERE name = 'Inverness' AND country = 'United Kingdom')), +('Glasgow International Airport', 'EGPF', (SELECT id FROM Cities WHERE name = 'Glasgow' AND country = 'United Kingdom')), +('Edinburgh Airport', 'EGPH', (SELECT id FROM Cities WHERE name = 'Edinburgh' AND country = 'United Kingdom')), +('Islay Airport', 'EGPI', (SELECT id FROM Cities WHERE name = 'Islay' AND country = 'United Kingdom')), +('Glasgow Prestwick Airport', 'EGPK', (SELECT id FROM Cities WHERE name = 'Prestwick' AND country = 'United Kingdom')), +('Benbecula Airport', 'EGPL', (SELECT id FROM Cities WHERE name = 'Benbecula' AND country = 'United Kingdom')), +('Scatsta Airport', 'EGPM', (SELECT id FROM Cities WHERE name = 'Scatsta' AND country = 'United Kingdom')), +('Dundee Airport', 'EGPN', (SELECT id FROM Cities WHERE name = 'Dundee' AND country = 'United Kingdom')), +('Stornoway Airport', 'EGPO', (SELECT id FROM Cities WHERE name = 'Stornoway' AND country = 'United Kingdom')), +('Tiree Airport', 'EGPU', (SELECT id FROM Cities WHERE name = 'Tiree' AND country = 'United Kingdom')), +('RAF Leuchars', 'EGQL', (SELECT id FROM Cities WHERE name = 'Leuchars' AND country = 'United Kingdom')), +('RAF Lossiemouth', 'EGQS', (SELECT id FROM Cities WHERE name = 'Lossiemouth' AND country = 'United Kingdom')), +('Cambridge Airport', 'EGSC', (SELECT id FROM Cities WHERE name = 'Cambridge' AND country = 'United Kingdom')), +('Peterborough Business Airport', 'EGSF', (SELECT id FROM Cities WHERE name = 'Peterborough' AND country = 'United Kingdom')), +('Norwich International Airport', 'EGSH', (SELECT id FROM Cities WHERE name = 'Norwich' AND country = 'United Kingdom')), +('London Stansted Airport', 'EGSS', (SELECT id FROM Cities WHERE name = 'London' AND country = 'United Kingdom')), +('North Weald Airport', 'EGSX', (SELECT id FROM Cities WHERE name = 'North Weald' AND country = 'United Kingdom')), +('Sheffield City Heliport', 'EGSY', (SELECT id FROM Cities WHERE name = 'Fowlmere' AND country = 'United Kingdom')), +('Cranfield Airport', 'EGTC', (SELECT id FROM Cities WHERE name = 'Cranfield' AND country = 'United Kingdom')), +('Exeter International Airport', 'EGTE', (SELECT id FROM Cities WHERE name = 'Exeter' AND country = 'United Kingdom')), +('Bristol Filton Airport', 'EGTG', (SELECT id FROM Cities WHERE name = 'Bristol' AND country = 'United Kingdom')), +('Oxford (Kidlington) Airport', 'EGTK', (SELECT id FROM Cities WHERE name = 'Oxford' AND country = 'United Kingdom')), +('RAF Benson', 'EGUB', (SELECT id FROM Cities WHERE name = 'Benson' AND country = 'United Kingdom')), +('RAF Lakenheath', 'EGUL', (SELECT id FROM Cities WHERE name = 'Lakenheath' AND country = 'United Kingdom')), +('RAF Mildenhall', 'EGUN', (SELECT id FROM Cities WHERE name = 'Mildenhall' AND country = 'United Kingdom')), +('RAF Wattisham', 'EGUW', (SELECT id FROM Cities WHERE name = 'Wattisham' AND country = 'United Kingdom')), +('RAF Wyton', 'EGUY', (SELECT id FROM Cities WHERE name = 'Wyton' AND country = 'United Kingdom')), +('RAF Fairford', 'EGVA', (SELECT id FROM Cities WHERE name = 'Fairford' AND country = 'United Kingdom')), +('RAF Brize Norton', 'EGVN', (SELECT id FROM Cities WHERE name = 'Brize Norton' AND country = 'United Kingdom')), +('RAF Odiham', 'EGVO', (SELECT id FROM Cities WHERE name = 'Odiham' AND country = 'United Kingdom')), +('DCAE Cosford Air Base', 'EGWC', (SELECT id FROM Cities WHERE name = 'Cosford' AND country = 'United Kingdom')), +('RAF Northolt', 'EGWU', (SELECT id FROM Cities WHERE name = 'Northolt' AND country = 'United Kingdom')), +('RAF Coningsby', 'EGXC', (SELECT id FROM Cities WHERE name = 'Coningsby' AND country = 'United Kingdom')), +('RAF Dishforth', 'EGXD', (SELECT id FROM Cities WHERE name = 'Dishforth' AND country = 'United Kingdom')), +('Leeming Airport', 'EGXE', (SELECT id FROM Cities WHERE name = 'Leeming' AND country = 'United Kingdom')), +('Leeds East Airport', 'EGXG', (SELECT id FROM Cities WHERE name = 'Church Fenton' AND country = 'United Kingdom')), +('RAF Honington', 'EGXH', (SELECT id FROM Cities WHERE name = 'Honington' AND country = 'United Kingdom')), +('RAF Cottesmore', 'EGXJ', (SELECT id FROM Cities WHERE name = 'Cottesmore' AND country = 'United Kingdom')), +('RAF Scampton', 'EGXP', (SELECT id FROM Cities WHERE name = 'Scampton' AND country = 'United Kingdom')), +('RAF Wittering', 'EGXT', (SELECT id FROM Cities WHERE name = 'Wittering' AND country = 'United Kingdom')), +('RAF Linton-On-Ouse', 'EGXU', (SELECT id FROM Cities WHERE name = 'Linton-on-ouse' AND country = 'United Kingdom')), +('RAF Waddington', 'EGXW', (SELECT id FROM Cities WHERE name = 'Waddington' AND country = 'United Kingdom')), +('RAF Topcliffe', 'EGXZ', (SELECT id FROM Cities WHERE name = 'Topcliffe' AND country = 'United Kingdom')), +('RAF Cranwell', 'EGYD', (SELECT id FROM Cities WHERE name = 'Cranwell' AND country = 'United Kingdom')), +('RAF Barkston Heath', 'EGYE', (SELECT id FROM Cities WHERE name = 'Barkston Heath' AND country = 'United Kingdom')), +('RAF Marham', 'EGYM', (SELECT id FROM Cities WHERE name = 'Marham' AND country = 'United Kingdom')), +('Cork Airport', 'EICK', (SELECT id FROM Cities WHERE name = 'Cork' AND country ='Ireland')), +('Galway Airport', 'EICM', (SELECT id FROM Cities WHERE name = 'Galway' AND country ='Ireland')), +('Dublin Airport', 'EIDW', (SELECT id FROM Cities WHERE name = 'Dublin' AND country ='Ireland')), +('Ireland West Knock Airport', 'EIKN', (SELECT id FROM Cities WHERE name = 'Connaught' AND country ='Ireland')), +('Kerry Airport', 'EIKY', (SELECT id FROM Cities WHERE name = 'Kerry' AND country ='Ireland')), +('Casement Air Base', 'EIME', (SELECT id FROM Cities WHERE name = 'Casement' AND country ='Ireland')), +('Shannon Airport', 'EINN', (SELECT id FROM Cities WHERE name = 'Shannon' AND country ='Ireland')), +('Sligo Airport', 'EISG', (SELECT id FROM Cities WHERE name = 'Sligo' AND country ='Ireland')), +('Waterford Airport', 'EIWF', (SELECT id FROM Cities WHERE name = 'Waterford' AND country ='Ireland')), +('Nottingham Airport', 'EGBN', (SELECT id FROM Cities WHERE name = 'Nottingham' AND country = 'United Kingdom')), +('Campbeltown Airport', 'EGEC', (SELECT id FROM Cities WHERE name = 'Campbeltown' AND country = 'United Kingdom')), +('Eday Airport', 'EGED', (SELECT id FROM Cities WHERE name = 'Eday' AND country = 'United Kingdom')), +('Fair Isle Airport', 'EGEF', (SELECT id FROM Cities WHERE name = 'Fair Isle' AND country = 'United Kingdom')), +('North Ronaldsay Airport', 'EGEN', (SELECT id FROM Cities WHERE name = 'North Ronaldsay' AND country = 'United Kingdom')), +('Papa Westray Airport', 'EGEP', (SELECT id FROM Cities WHERE name = 'Papa Westray' AND country = 'United Kingdom')), +('Stronsay Airport', 'EGER', (SELECT id FROM Cities WHERE name = 'Stronsay' AND country = 'United Kingdom')), +('Sanday Airport', 'EGES', (SELECT id FROM Cities WHERE name = 'Sanday' AND country = 'United Kingdom')), +('Lerwick / Tingwall Airport', 'EGET', (SELECT id FROM Cities WHERE name = 'Lerwick' AND country = 'United Kingdom')), +('Westray Airport', 'EGEW', (SELECT id FROM Cities WHERE name = 'Westray' AND country = 'United Kingdom')), +('Penzance Heliport', 'EGHK', (SELECT id FROM Cities WHERE name = 'Penzance' AND country = 'United Kingdom')), +('Anglesey Airport', 'EGOV', (SELECT id FROM Cities WHERE name = 'Angelsey' AND country = 'United Kingdom')), +('Barra Airport', 'EGPR', (SELECT id FROM Cities WHERE name = 'Barra' AND country = 'United Kingdom')), +('Donegal Airport', 'EIDL', (SELECT id FROM Cities WHERE name = 'Dongloe' AND country ='Ireland')), +('Weston Airport', 'EIWT', (SELECT id FROM Cities WHERE name = 'Leixlip' AND country ='Ireland')), +('Outer Skerries Airport', 'EGOU', (SELECT id FROM Cities WHERE name = 'Outer Skerries' AND country = 'United Kingdom')), +('Inishmore Aerodrome', 'EIIM', (SELECT id FROM Cities WHERE name = 'Inis Mor' AND country ='Ireland')), +('Connemara Regional Airport', 'EICA', (SELECT id FROM Cities WHERE name = 'Indreabhan' AND country ='Ireland')), +('Unst Airport', 'EGPW', (SELECT id FROM Cities WHERE name = 'Unst' AND country = 'United Kingdom')), +('Oban Airport', 'EGEO', (SELECT id FROM Cities WHERE name = 'North Connel' AND country = 'United Kingdom')), +('Isle of Wight / Sandown Airport', 'EGHN', (SELECT id FROM Cities WHERE name = 'Isle Of Wight' AND country = 'United Kingdom')), +('Lympne Airport', 'EGMK', (SELECT id FROM Cities WHERE name = 'Lympne' AND country = 'United Kingdom')), +('Inisheer Aerodrome', 'EIIR', (SELECT id FROM Cities WHERE name = 'Inisheer' AND country ='Ireland')), +('Inishmaan Aerodrome', 'EIMN', (SELECT id FROM Cities WHERE name = 'Inishmaan' AND country ='Ireland')), +('Colonsay Airstrip', 'EGEY', (SELECT id FROM Cities WHERE name = 'Colonsay' AND country = 'United Kingdom')), +('Tresco Heliport', 'EGHT', (SELECT id FROM Cities WHERE name = 'Tresco' AND country = 'United Kingdom')), +('London Heliport', 'EGLW', (SELECT id FROM Cities WHERE name = 'London' AND country = 'United Kingdom')), +('White Waltham Airfield', 'EGLM', (SELECT id FROM Cities WHERE name = 'Maidenhead' AND country = 'United Kingdom')), +('Wycombe Air Park', 'EGTB', (SELECT id FROM Cities WHERE name = 'Wycombe' AND country = 'United Kingdom')), +('Bembridge Airport', 'EGHJ', (SELECT id FROM Cities WHERE name = 'Bembridge' AND country = 'United Kingdom')), +('Compton Abbas Aerodrome', 'EGHA', (SELECT id FROM Cities WHERE name = 'Shaftesbury' AND country = 'United Kingdom')), +('Glasgow City Heliport', 'EGEG', (SELECT id FROM Cities WHERE name = 'Glasgow' AND country = 'United Kingdom')), +('Orlampa Inc Airport', 'FA08', (SELECT id FROM Cities WHERE name = 'Forties Alpha' AND country = 'United Kingdom')), +('Perth/Scone Airport', 'EGPT', (SELECT id FROM Cities WHERE name = 'Perth' AND country = 'United Kingdom')), +('Caernarfon Airport', 'EGCK', (SELECT id FROM Cities WHERE name = 'Caernarfon' AND country = 'United Kingdom')), +('Newcastle Aerodrome', 'EINC', (SELECT id FROM Cities WHERE name = 'Newcastle' AND country ='Ireland')), +('Bantry Aerodrome', 'EIBN', (SELECT id FROM Cities WHERE name = 'Bantry' AND country ='Ireland')), +('Duxford Aerodrome', 'EGSU', (SELECT id FROM Cities WHERE name = 'Duxford' AND country = 'United Kingdom')), +('Fairoaks Airport', 'EGTF', (SELECT id FROM Cities WHERE name = 'Fairoaks' AND country = 'United Kingdom')), +('Rochester Airport', 'EGTO', (SELECT id FROM Cities WHERE name = 'Rochester' AND country = 'United Kingdom')), +('Rothera Research Station', 'EGAR', (SELECT id FROM Cities WHERE name = 'Rothera Research Station' AND country = 'United Kingdom')), +('Beccles Airport', 'EGSM', (SELECT id FROM Cities WHERE name = 'Beccles' AND country = 'United Kingdom')), +('RAF Brawdy', 'EGDA', (SELECT id FROM Cities WHERE name = 'Brawdy' AND country = 'United Kingdom')), +('Redhill Aerodrome', 'EGKR', (SELECT id FROM Cities WHERE name = 'Redhill' AND country = 'United Kingdom')), +('Enstone Aerodrome', 'EGTN', (SELECT id FROM Cities WHERE name = 'Enstone' AND country = 'United Kingdom')), +('Elstree Airfield', 'EGTR', (SELECT id FROM Cities WHERE name = 'Elstree' AND country = 'United Kingdom')), +('Sandtoft Airfield', 'EGCF', (SELECT id FROM Cities WHERE name = 'Sandtoft' AND country = 'United Kingdom')), +('Popham Airfield', 'EGHP', (SELECT id FROM Cities WHERE name = 'Popham' AND country = 'United Kingdom')), +('City Airport Manchester', 'EGCB', (SELECT id FROM Cities WHERE name = 'Manchester' AND country = 'United Kingdom')), +('Sleap Airport', 'EGCV', (SELECT id FROM Cities WHERE name = 'Shrewsbury' AND country = 'United Kingdom')), +('Tatenhill Airfield', 'EGBM', (SELECT id FROM Cities WHERE name = 'Burton-on-Trent' AND country = 'United Kingdom')), +('Full Sutton Airfield', 'EGNU', (SELECT id FROM Cities WHERE name = 'York' AND country = 'United Kingdom')), +('Sherburn-In-Elmet Airfield', 'EGCJ', (SELECT id FROM Cities WHERE name = 'Leeds' AND country = 'United Kingdom')), +('Shobdon Aerodrome', 'EGBS', (SELECT id FROM Cities WHERE name = 'Shobdon' AND country = 'United Kingdom')), +('Newtownards Airport', 'EGAD', (SELECT id FROM Cities WHERE name = 'Newtownards' AND country = 'United Kingdom')), +('Lashenden (Headcorn) Airfield', 'EGKH', (SELECT id FROM Cities WHERE name = 'Headcorn' AND country = 'United Kingdom')), +('Panshanger Aerodrome', 'EGLG', (SELECT id FROM Cities WHERE name = 'Panshanger' AND country = 'United Kingdom')), +('Thurrock Airfield', 'EGMT', (SELECT id FROM Cities WHERE name = 'Thurrock' AND country = 'United Kingdom')), +('Stapleford Aerodrome', 'EGSG', (SELECT id FROM Cities WHERE name = 'Stapleford' AND country = 'United Kingdom')), +('Chichester/Goodwood Airport', 'EGHR', (SELECT id FROM Cities WHERE name = 'Goodwood' AND country = 'United Kingdom')), +('RAF Spadeadam', 'EGOM', (SELECT id FROM Cities WHERE name = 'Spadeadam' AND country = 'United Kingdom')), +('RAF Kinloss', 'EGQK', (SELECT id FROM Cities WHERE name = 'Kinloss' AND country = 'United Kingdom')), +('RAF Mona', 'EGOQ', (SELECT id FROM Cities WHERE name = 'Mona' AND country = 'United Kingdom')), +('St. Helena Airport', 'FHSH', (SELECT id FROM Cities WHERE name = 'Longwood' AND country = 'United Kingdom')); + + +SELECT * +FROM Airports \ No newline at end of file diff --git a/2-Working-With-Data/05-relational-databases/insert-cities.sql b/2-Working-With-Data/05-relational-databases/insert-cities.sql new file mode 100644 index 00000000..18d82c62 --- /dev/null +++ b/2-Working-With-Data/05-relational-databases/insert-cities.sql @@ -0,0 +1,185 @@ +-- SQLite + +INSERT INTO Cities (name, country) +VALUES +('Belfast','United Kingdom'), +('Enniskillen','United Kingdom'), +('Belfast','United Kingdom'), +('Londonderry','United Kingdom'), +('Birmingham','United Kingdom'), +('Coventry','United Kingdom'), +('Leicester','United Kingdom'), +('Golouchestershire','United Kingdom'), +('Halfpenny Green','United Kingdom'), +('Pailton','United Kingdom'), +('Turweston','United Kingdom'), +('Wellesbourne','United Kingdom'), +('Manchester','United Kingdom'), +('Woodfort','United Kingdom'), +('Chivenor','United Kingdom'), +('Newquai','United Kingdom'), +('Lyneham','United Kingdom'), +('Boscombe Down','United Kingdom'), +('Culdrose','United Kingdom'), +('St. Athan','United Kingdom'), +('Yeovilton','United Kingdom'), +('Haverfordwest','United Kingdom'), +('Cardiff','United Kingdom'), +('Swansea','United Kingdom'), +('Bristol','United Kingdom'), +('Liverpool','United Kingdom'), +('London','United Kingdom'), +('Plymouth','United Kingdom'), +('Bournemouth','United Kingdom'), +('Southampton','United Kingdom'), +('Lasham','United Kingdom'), +('Shoreham By Sea','United Kingdom'), +('Biggin Hill','United Kingdom'), +('London','United Kingdom'), +('London','United Kingdom'), +('Farnborough','United Kingdom'), +('Chalsgrove','United Kingdom'), +('Blackbushe','United Kingdom'), +('London','United Kingdom'), +('Southend','United Kingdom'), +('Lydd','United Kingdom'), +('Manston','United Kingdom'), +('Brough','United Kingdom'), +('Carlisle','United Kingdom'), +('Repton','United Kingdom'), +('Blackpool','United Kingdom'), +('Humberside','United Kingdom'), +('Barrow Island','United Kingdom'), +('Leeds','United Kingdom'), +('Warton','United Kingdom'), +('Hawarden','United Kingdom'), +('Newcastle','United Kingdom'), +('Teesside','United Kingdom'), +('East Midlands','United Kingdom'), +('Llanbedr','United Kingdom'), +('Ternhill','United Kingdom'), +('Shawbury','United Kingdom'), +('Woodvale','United Kingdom'), +('Kirkwall','United Kingdom'), +('Sumburgh','United Kingdom'), +('Wick','United Kingdom'), +('Aberdeen','United Kingdom'), +('Inverness','United Kingdom'), +('Glasgow','United Kingdom'), +('Edinburgh','United Kingdom'), +('Islay','United Kingdom'), +('Prestwick','United Kingdom'), +('Benbecula','United Kingdom'), +('Scatsta','United Kingdom'), +('Dundee','United Kingdom'), +('Stornoway','United Kingdom'), +('Tiree','United Kingdom'), +('Leuchars','United Kingdom'), +('Lossiemouth','United Kingdom'), +('Cambridge','United Kingdom'), +('Peterborough','United Kingdom'), +('Norwich','United Kingdom'), +('London','United Kingdom'), +('North Weald','United Kingdom'), +('Fowlmere','United Kingdom'), +('Cranfield','United Kingdom'), +('Exeter','United Kingdom'), +('Bristol','United Kingdom'), +('Oxford','United Kingdom'), +('Benson','United Kingdom'), +('Lakenheath','United Kingdom'), +('Mildenhall','United Kingdom'), +('Wattisham','United Kingdom'), +('Wyton','United Kingdom'), +('Fairford','United Kingdom'), +('Brize Norton','United Kingdom'), +('Odiham','United Kingdom'), +('Cosford','United Kingdom'), +('Northolt','United Kingdom'), +('Coningsby','United Kingdom'), +('Dishforth','United Kingdom'), +('Leeming','United Kingdom'), +('Church Fenton','United Kingdom'), +('Honington','United Kingdom'), +('Cottesmore','United Kingdom'), +('Scampton','United Kingdom'), +('Wittering','United Kingdom'), +('Linton-on-ouse','United Kingdom'), +('Waddington','United Kingdom'), +('Topcliffe','United Kingdom'), +('Cranwell','United Kingdom'), +('Barkston Heath','United Kingdom'), +('Marham','United Kingdom'), +('Cork','Ireland'), +('Galway','Ireland'), +('Dublin','Ireland'), +('Connaught','Ireland'), +('Kerry','Ireland'), +('Casement','Ireland'), +('Shannon','Ireland'), +('Sligo','Ireland'), +('Waterford','Ireland'), +('Nottingham','United Kingdom'), +('Campbeltown','United Kingdom'), +('Eday','United Kingdom'), +('Fair Isle','United Kingdom'), +('North Ronaldsay','United Kingdom'), +('Papa Westray','United Kingdom'), +('Stronsay','United Kingdom'), +('Sanday','United Kingdom'), +('Lerwick','United Kingdom'), +('Westray','United Kingdom'), +('Penzance','United Kingdom'), +('Angelsey','United Kingdom'), +('Barra','United Kingdom'), +('Dongloe','Ireland'), +('Leixlip','Ireland'), +('Outer Skerries','United Kingdom'), +('Inis Mor','Ireland'), +('Indreabhan','Ireland'), +('Unst','United Kingdom'), +('North Connel','United Kingdom'), +('Isle Of Wight','United Kingdom'), +('Lympne','United Kingdom'), +('Inisheer','Ireland'), +('Inishmaan','Ireland'), +('Colonsay','United Kingdom'), +('Tresco','United Kingdom'), +('London','United Kingdom'), +('Maidenhead','United Kingdom'), +('Wycombe','United Kingdom'), +('Bembridge','United Kingdom'), +('Shaftesbury','United Kingdom'), +('Glasgow','United Kingdom'), +('Forties Alpha','United Kingdom'), +('Perth','United Kingdom'), +('Caernarfon','United Kingdom'), +('Newcastle','Ireland'), +('Bantry','Ireland'), +('Duxford','United Kingdom'), +('Fairoaks','United Kingdom'), +('Rochester','United Kingdom'), +('Rothera Research Station','United Kingdom'), +('Beccles','United Kingdom'), +('Brawdy','United Kingdom'), +('Redhill','United Kingdom'), +('Enstone','United Kingdom'), +('Elstree','United Kingdom'), +('Sandtoft','United Kingdom'), +('Popham','United Kingdom'), +('Manchester','United Kingdom'), +('Shrewsbury','United Kingdom'), +('Burton-on-Trent','United Kingdom'), +('York','United Kingdom'), +('Leeds','United Kingdom'), +('Shobdon','United Kingdom'), +('Newtownards','United Kingdom'), +('Headcorn','United Kingdom'), +('Panshanger','United Kingdom'), +('Thurrock','United Kingdom'), +('Stapleford','United Kingdom'), +('Goodwood','United Kingdom'), +('Spadeadam','United Kingdom'), +('Kinloss','United Kingdom'), +('Mona','United Kingdom'), +('Longwood','United Kingdom');