❖ SQL Sample Database |
It is easier to discuss SQL via concrete examples
We use a database about beer, people who drink it, ...
This database is not autobiographical ...
❖ SQL Sample Database (cont) |
SQL schema for beer database ...
-- Some useful data "types" create domain BeerName varchar(50); create domain BarName varchar(30); create domain DrinkerName varchar(20); -- Tables based on entities create table Beers ( name BeerName, brewer varchar(40) not null, style varchar(40), primary key (name) ); create table Bars ( name BarName, addr varchar(20), license integer not null, primary key (name) ); create table Drinkers ( name DrinkerName, addr varchar(30) not null, phone char(10) not null, primary key (name) ); -- Tables based on relationships create table Sells ( bar BarName, beer BeerName, price float, primary key (bar,beer), foreign key (bar) references Bars(name), foreign key (beer) references Beers(name) ); create table Likes ( drinker DrinkerName, beer BeerName, primary key (drinker,beer), foreign key (drinker) references Drinkers(name), foreign key (beer) references Beers(name) ); create table Frequents ( drinker DrinkerName, bar BarName, primary key (drinker,bar), foreign key (drinker) references Drinkers(name), foreign key (bar) references Bars(name) );
❖ SQL Sample Database (cont) |
Sample beer data ...
beer=# select * from Beers order by name limit 15; name | brewer | style ---------------------+----------------+------------------------ 1750 Export Porter | Kees | 4D | Dainton | Imperial Red Rye IPA 80/- | Caledonian | Scotch Ale Age of Aquarius | Garage Project | NEIPA Alexander | Rodenbach | Flanders Red Ale Amber Ale | James Squire | Amber Ale Apollo After Dark | Hawkers | Imperial Stout Astrolabe | Frenchies | Red Biere de Garde BBARIS | Mismatch | Russian Imperial Stout Banana Pastry Stout | Hop Nation | Pastry Stout Barley Griffin | Bentspoke | Pale Ale Berserker | Ekim | Amber IPA Betelgeuse | Kaiju | Double Red Ale Big Nut | Bentspoke | Dark IPA Bigfoot | Sierra Nevada | Barleywine (15 rows)
❖ SQL Sample Database (cont) |
Sample data about drinkers ..
beer=# select * from Drinkers; name | addr | phone --------+------------+------------ Adam | Randwick | 9385-4444 Gernot | Newtown | 9415-3378 John | Alexandria | 9665-1234 Andrew | Clovelly | 9123-1234 Justin | Mosman | 9845-4321 Helen | Coogee | 9876-5432 (6 rows)
❖ SQL Sample Database (cont) |
Sample data about drinkers ..
beer=# select * from Bars; name | addr | license ------------------+--------------+--------- Australia Hotel | The Rocks | 123456 Coogee Bay Hotel | Coogee | 966500 Lord Nelson | The Rocks | 123888 Marble Bar | Sydney | 122123 Regent Hotel | Kingsford | 987654 Royal Hotel | Randwick | 938500 Local Taphouse | Darlinghurst | 884488 (7 rows)
Produced: 27 Sep 2020