-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschema.sql
More file actions
313 lines (301 loc) · 16.9 KB
/
schema.sql
File metadata and controls
313 lines (301 loc) · 16.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS reviews;
DROP TABLE IF EXISTS pub_beers;
DROP TABLE IF EXISTS beers;
DROP TABLE IF EXISTS pubs;
DROP TABLE IF EXISTS users;
SET FOREIGN_KEY_CHECKS=1;
-- USERS
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
first_name VARCHAR(100) NOT NULL,
last_name VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
date_of_birth DATE NOT NULL,
bio TEXT,
profile_image VARCHAR(255),
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
-- PUBS
CREATE TABLE pubs (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL,
postcode VARCHAR(20) NOT NULL,
latitude DECIMAL(10,8) NOT NULL,
longitude DECIMAL(11,8) NOT NULL,
description TEXT,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
-- BEERS
CREATE TABLE beers (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
brewery VARCHAR(255),
type VARCHAR(100),
abv DECIMAL(3,1),
PRIMARY KEY (id)
);
-- PUB_BEERS
CREATE TABLE pub_beers (
pub_id INT NOT NULL,
beer_id INT NOT NULL,
is_available TINYINT(1) DEFAULT 1,
PRIMARY KEY (pub_id, beer_id),
FOREIGN KEY (pub_id) REFERENCES pubs(id) ON DELETE CASCADE,
FOREIGN KEY (beer_id) REFERENCES beers(id) ON DELETE CASCADE
);
-- REVIEWS
CREATE TABLE reviews (
id INT NOT NULL AUTO_INCREMENT,
user_id INT NOT NULL,
pub_id INT NOT NULL,
beer_id INT NOT NULL,
rating INT NOT NULL CHECK (rating BETWEEN 1 AND 5),
ai_pour_score DECIMAL(3,2),
image_url VARCHAR(255),
comment TEXT,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY (pub_id) REFERENCES pubs(id) ON DELETE CASCADE,
FOREIGN KEY (beer_id) REFERENCES beers(id) ON DELETE CASCADE
);
-- USERS DATA
INSERT INTO users VALUES
(1,'Sujal','Shah','sujal@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','2005-04-12',NULL,NULL,NOW()),
(2,'Luke','Pring','luke@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','2003-09-21',NULL,NULL,NOW()),
(3,'Jack','Turner','jack@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','2001-06-10',NULL,NULL,NOW()),
(4,'Victor','Tepeniuc','victor@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','1999-06-11',NULL,NULL,NOW()),
(5,'Alec','Thompson','alec@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','2002-07-01',NULL,NULL,NOW()),
(6,'Emily','Clark','emily@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','2000-03-15',NULL,NULL,NOW()),
(7,'Tom','Harris','tom@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','1998-11-02',NULL,NULL,NOW()),
(8,'Sarah','Jones','sarah@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','2004-01-25',NULL,NULL,NOW()),
(9,'Chris','Evans','chris@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','1997-08-19',NULL,NULL,NOW()),
(10,'Matt','Green','matt@example.com','$2b$10$8qUOIqqAO8hHNj2aUvqEHO7pCSg23W6JYQ1V6ve/7zitt3pM7O/86','2001-12-05',NULL,NULL,NOW());
-- PUBS DATA
INSERT INTO pubs VALUES
(1,'The Red Lion','Putney High Street','SW15 1AA',51.46130000,-0.21670000,'Local pub',NOW()),
(2,'The Kings Arms','Roehampton Lane','SW15 5PJ',51.45000000,-0.24200000,'Student pub',NOW()),
(3,'The White Horse','Oxford Street','W1D 1BS',51.51540000,-0.14100000,'Central pub',NOW()),
(4,'The Black Bull','Camden High Street','NW1 0JH',51.53900000,-0.14260000,'Busy pub',NOW()),
(5,'The Crown','Clapham Common','SW4 7AA',51.46250000,-0.13800000,'Modern pub',NOW()),
(6,'Ye Olde Mitre','1 Ely Court, Ely Place','EC1N 6SJ',51.51850000,-0.10780000,'Historic hidden gem in Holborn',NOW()),
(7,'The Devonshire','17 Denman Street','W1D 7HW',51.51060000,-0.13530000,'Cosy Soho pub famous for Guinness and pies',NOW()),
(8,'The Blackfriar','174 Queen Victoria Street','EC4V 4EG',51.51220000,-0.10390000,'Stunning Art Nouveau interior',NOW()),
(9,'The George Inn','77 Borough High Street','SE1 1NH',51.50430000,-0.09050000,'Historic galleried coaching inn',NOW()),
(10,'The Anchor','34 Park Street','SE1 9EF',51.50780000,-0.09020000,'Riverside pub with Shakespeare links',NOW()),
(11,'The Lamb & Flag','33 Rose Street','WC2E 9EB',51.51210000,-0.12650000,'Oldest pub in Covent Garden area',NOW()),
(12,'The Churchill Arms','119 Kensington Church Street','W8 7LN',51.50780000,-0.19350000,'Iconic floral pub in Kensington',NOW()),
(13,'The Harp','47 Chandos Place','WC2N 4HS',51.51090000,-0.12600000,'Cosy Covent Garden real ale spot',NOW()),
(14,'Princess Louise','208 High Holborn','WC1V 7EP',51.51720000,-0.12030000,'Grand Victorian gin palace',NOW()),
(15,'The French House','49 Dean Street','W1D 5BG',51.51350000,-0.13180000,'Bohemian Soho institution',NOW()),
(16,'The Grenadier','18 Wilton Row','SW1X 7NR',51.50150000,-0.15650000,'Secluded Belgravia mews pub',NOW()),
(17,'Ye Olde Cheshire Cheese','145 Fleet Street','EC4A 2BU',51.51420000,-0.10730000,'Dickens-era historic pub',NOW()),
(18,'The Old Bank of England','194 Fleet Street','EC4A 2LT',51.51400000,-0.10820000,'Grand former bank building',NOW()),
(19,'The Royal Oak','74 York Street','W1H 1QN',51.51930000,-0.16020000,'Cosy Marylebone pub',NOW()),
(20,'The Audley','41-43 Mount Street','W1K 2RX',51.50890000,-0.15030000,'Elegant Mayfair pub',NOW()),
(21,'The Newman Arms','23 Rathbone Street','W1T 1NG',51.51820000,-0.13450000,'Unpretentious Fitzrovia pie pub',NOW()),
(22,'Jamaica Wine House','St Michael''s Alley, Cornhill','EC3V 9DS',51.51310000,-0.08820000,'Historic City tavern',NOW()),
(23,'The King''s Arms','25 Roupell Street','SE1 8TB',51.50320000,-0.10680000,'Atmospheric Waterloo local',NOW()),
(24,'The Half Moon','10 Half Moon Lane','SE24 9HU',51.45480000,-0.10320000,'Herne Hill pub with great garden',NOW()),
(25,'The Palm Tree','127 Grove Road','E3 5BH',51.52980000,-0.04250000,'Atmospheric Mile End jazz pub',NOW()),
(26,'The Coach & Horses','29 Greek Street','W1D 5DH',51.51320000,-0.12980000,'Classic Soho boozer',NOW()),
(27,'The Old Nun''s Head','15 Nunhead Green','SE15 3QQ',51.46230000,-0.06420000,'Fun Nunhead pub',NOW()),
(28,'The Warrington','93 Warrington Crescent','W9 1EH',51.52750000,-0.18320000,'Grand Maida Vale gin palace',NOW()),
(29,'The Duke','7 Roger Street','WC1N 2PB',51.52230000,-0.11980000,'Timewarp Bloomsbury pub',NOW()),
(30,'The Pride of Spitalfields','3 Heneage Street','E1 5LJ',51.51980000,-0.07230000,'Traditional Spitalfields local',NOW()),
(31,'Bradley''s Spanish Bar','42-44 Hanway Street','W1T 1UP',51.51690000,-0.13050000,'Tiny Fitzrovia classic',NOW()),
(32,'The Army and Navy','1-3 Matthias Road','N16 8NN',51.55230000,-0.07520000,'Newington Green favourite',NOW()),
(33,'The Blue Posts','22 Berwick Street','W1F 0QA',51.51280000,-0.13620000,'Soho real ale champion',NOW()),
(34,'The Lord Clyde','27 Clennam Street','SE1 1ER',51.50120000,-0.09650000,'Hidden Southwark gem',NOW()),
(35,'The Ship','134 New Cavendish Street','W1W 6YB',51.52010000,-0.14120000,'Central London classic',NOW()),
(36,'The Prince of Wales','169-171 Lyham Road','SW2 5PY',51.45620000,-0.12780000,'Brixton community local',NOW()),
(37,'The Ivy House','40 Stuart Road','SE15 3BE',51.46450000,-0.06680000,'Nunhead community classic',NOW()),
(38,'The Cross Keys','31 Endell Street','WC2H 9EB',51.51280000,-0.12350000,'Covent Garden historic pub',NOW()),
(39,'The Flask','14 Flask Walk','NW3 1HE',51.55680000,-0.17720000,'Hampstead village pub',NOW()),
(40,'The Holly Bush','22 Holly Mount','NW3 6SG',51.55720000,-0.17780000,'Cosy Hampstead local',NOW()),
(41,'The Lamb','94 Lamb''s Conduit Street','WC1N 3LZ',51.52230000,-0.11920000,'Bloomsbury classic',NOW()),
(42,'The Museum Tavern','49 Great Russell Street','WC1B 3BA',51.51780000,-0.12680000,'Near British Museum',NOW()),
(43,'The Spaniards Inn','Spaniards Road','NW3 7JJ',51.57020000,-0.17580000,'Legendary Hampstead Heath pub',NOW()),
(44,'The Bull & Gate','389 Kentish Town Road','NW5 2TJ',51.55080000,-0.14020000,'Historic Kentish Town pub',NOW()),
(45,'The Assembly House','292 Kentish Town Road','NW5 2TH',51.55050000,-0.14080000,'Victorian Kentish Town landmark',NOW()),
(46,'The Tipperary','66 Fleet Street','EC4Y 1HT',51.51400000,-0.10750000,'Irish pub on Fleet Street',NOW()),
(47,'The Seven Stars','53-54 Carey Street','WC2A 2JB',51.51620000,-0.11320000,'Tiny historic legal quarter pub',NOW()),
(48,'The Ship & Shovell','1-3 Craven Passage','WC2N 5PH',51.50790000,-0.12450000,'Unique split pub near Charing Cross',NOW()),
(49,'The White Cross','1 Water Lane','TW9 1TH',51.46080000,-0.30720000,'Riverside Richmond pub',NOW()),
(50,'The Trafalgar Tavern','Park Row','SE10 9NW',51.48230000,-0.00680000,'Grand Greenwich riverside pub',NOW());
-- BEERS DATA
INSERT INTO beers VALUES
(1,'Doom Bar','Sharp''s','Ale',4.0),
(2,'Peroni','Peroni','Lager',5.1),
(3,'Punk IPA','BrewDog','IPA',5.4),
(4,'Moretti','Heineken','Lager',4.6),
(5,'Guinness','Guinness','Stout',4.2),
(6,'Camden Hells','Camden','Lager',4.6),
(7,'London Pride','Fuller''s','Ale',4.7),
(8,'Ghost Ship','Adnams','Pale Ale',4.5),
(9,'Five Points Pale','Five Points','Pale Ale',4.4),
(10,'Beavertown Neck Oil','Beavertown','Session IPA',4.3),
(11,'Kernel Table Beer','The Kernel','Table Beer',3.0),
(12,'Old Speckled Hen','Greene King','Ale',5.2),
(13,'Timothy Taylor Landlord','Timothy Taylor','Ale',4.3),
(14,'BrewDog Dead Pony Club','BrewDog','Pale Ale',3.8),
(15,'Saison Dupont','Brasserie Dupont','Saison',6.5);
-- PUB_BEERS DATA
INSERT INTO pub_beers (pub_id, beer_id, is_available) VALUES
(1,9,1),(1,2,1),(1,7,1),(1,14,1),(1,15,1),(1,5,1),(1,6,1),(1,4,1),
(2,12,1),(2,2,1),(2,1,1),(2,11,1),(2,4,1),(2,5,1),(2,14,1),(2,15,1),
(3,14,1),(3,2,1),(3,7,1),(3,5,1),(3,8,1),(3,6,1),(3,3,1),
(4,6,1),(4,15,1),(4,4,1),(4,11,1),(4,5,1),(4,2,1),(4,3,1),
(5,9,1),(5,12,1),(5,4,1),(5,3,1),(5,8,1),(5,7,1),
(6,5,1),(6,11,1),(6,12,1),(6,9,1),(6,4,1),(6,6,1),(6,1,1),(6,14,1),(6,7,1),(6,13,1),
(7,13,1),(7,6,1),(7,7,1),(7,5,1),(7,2,1),(7,4,1),(7,14,1),(7,10,1),
(8,11,1),(8,8,1),(8,7,1),(8,15,1),(8,14,1),(8,3,1),
(9,5,1),(9,3,1),(9,4,1),(9,12,1),(9,9,1),(9,11,1),(9,15,1),(9,7,1),
(10,15,1),(10,10,1),(10,7,1),(10,6,1),(10,4,1),(10,3,1),(10,9,1),
(11,8,1),(11,2,1),(11,13,1),(11,1,1),(11,14,1),(11,3,1),(11,10,1),(11,7,1),(11,5,1),
(12,2,1),(12,7,1),(12,14,1),(12,10,1),(12,8,1),(12,9,1),(12,5,1),(12,1,1),
(13,11,1),(13,12,1),(13,2,1),(13,15,1),(13,9,1),(13,5,1),(13,6,1),
(14,2,1),(14,5,1),(14,7,1),(14,3,1),(14,8,1),(14,1,1),
(15,12,1),(15,15,1),(15,5,1),(15,9,1),(15,3,1),(15,14,1),(15,2,1),(15,13,1),(15,7,1),
(16,11,1),(16,9,1),(16,10,1),(16,4,1),(16,3,1),(16,6,1),(16,15,1),(16,1,1),(16,5,1),
(17,6,1),(17,8,1),(17,1,1),(17,2,1),(17,15,1),(17,5,1),(17,4,1),
(18,1,1),(18,4,1),(18,10,1),(18,2,1),(18,12,1),(18,8,1),(18,11,1),(18,3,1),
(19,3,1),(19,11,1),(19,8,1),(19,9,1),(19,15,1),(19,5,1),(19,12,1),(19,7,1),(19,2,1),
(20,15,1),(20,9,1),(20,13,1),(20,12,1),(20,4,1),(20,5,1),
(21,7,1),(21,11,1),(21,14,1),(21,6,1),(21,8,1),(21,9,1),(21,13,1),(21,2,1),(21,10,1),(21,15,1),
(22,2,1),(22,6,1),(22,1,1),(22,10,1),(22,9,1),(22,4,1),(22,12,1),
(23,1,1),(23,2,1),(23,12,1),(23,11,1),(23,15,1),(23,4,1),(23,14,1),(23,13,1),(23,7,1),
(24,6,1),(24,2,1),(24,9,1),(24,4,1),(24,5,1),(24,8,1),(24,12,1),(24,3,1),(24,15,1),(24,11,1),
(25,10,1),(25,8,1),(25,4,1),(25,14,1),(25,7,1),(25,13,1),(25,2,1),(25,9,1),(25,6,1),(25,15,1),
(26,6,1),(26,7,1),(26,14,1),(26,8,1),(26,1,1),(26,2,1),(26,11,1),(26,13,1),(26,15,1),
(27,6,1),(27,13,1),(27,2,1),(27,4,1),(27,12,1),(27,11,1),(27,9,1),(27,8,1),
(28,3,1),(28,7,1),(28,15,1),(28,5,1),(28,8,1),(28,4,1),(28,2,1),(28,11,1),
(29,13,1),(29,14,1),(29,9,1),(29,2,1),(29,1,1),(29,15,1),(29,11,1),(29,12,1),
(30,15,1),(30,13,1),(30,4,1),(30,3,1),(30,7,1),(30,8,1),(30,10,1),(30,14,1),(30,11,1),(30,9,1),
(31,15,1),(31,1,1),(31,3,1),(31,7,1),(31,14,1),(31,12,1),(31,5,1),(31,8,1),(31,13,1),(31,4,1),
(32,12,1),(32,15,1),(32,13,1),(32,9,1),(32,11,1),(32,8,1),(32,3,1),(32,4,1),(32,14,1),
(33,4,1),(33,1,1),(33,10,1),(33,12,1),(33,9,1),(33,14,1),(33,6,1),(33,13,1),(33,8,1),
(34,10,1),(34,8,1),(34,9,1),(34,13,1),(34,3,1),(34,1,1),(34,12,1),(34,2,1),(34,7,1),(34,14,1),
(35,2,1),(35,10,1),(35,15,1),(35,11,1),(35,4,1),(35,7,1),(35,13,1),
(36,15,1),(36,10,1),(36,4,1),(36,14,1),(36,12,1),(36,1,1),(36,2,1),(36,7,1),(36,6,1),(36,5,1),
(37,10,1),(37,9,1),(37,6,1),(37,5,1),(37,4,1),(37,13,1),(37,11,1),(37,12,1),(37,14,1),(37,2,1),
(38,11,1),(38,15,1),(38,5,1),(38,8,1),(38,6,1),(38,2,1),
(39,1,1),(39,8,1),(39,10,1),(39,13,1),(39,2,1),(39,11,1),(39,9,1),(39,4,1),
(40,9,1),(40,5,1),(40,3,1),(40,6,1),(40,2,1),(40,4,1),(40,12,1),(40,14,1),(40,11,1),
(41,8,1),(41,14,1),(41,9,1),(41,12,1),(41,5,1),(41,10,1),
(42,13,1),(42,11,1),(42,9,1),(42,1,1),(42,14,1),(42,15,1),(42,5,1),(42,2,1),(42,8,1),
(43,5,1),(43,2,1),(43,14,1),(43,12,1),(43,9,1),(43,3,1),
(44,5,1),(44,15,1),(44,10,1),(44,4,1),(44,6,1),(44,12,1),
(45,11,1),(45,15,1),(45,5,1),(45,9,1),(45,8,1),(45,13,1),(45,1,1),
(46,2,1),(46,11,1),(46,7,1),(46,5,1),(46,1,1),(46,14,1),(46,6,1),
(47,13,1),(47,3,1),(47,11,1),(47,5,1),(47,14,1),(47,8,1),(47,9,1),
(48,12,1),(48,7,1),(48,9,1),(48,1,1),(48,2,1),(48,11,1),
(49,15,1),(49,12,1),(49,3,1),(49,9,1),(49,1,1),(49,6,1),
(50,10,1),(50,9,1),(50,3,1),(50,7,1),(50,13,1),(50,1,1),(50,5,1),(50,6,1),(50,12,1),(50,15,1);
-- REVIEWS DATA
INSERT INTO reviews (user_id,pub_id,beer_id,rating,ai_pour_score,comment) VALUES
(1,1,1,5,4.8,'Perfect pint'),
(2,1,2,4,4.2,'Nice lager'),
(3,2,3,5,4.9,'Top IPA'),
(4,2,6,4,4.1,'Smooth'),
(5,3,4,3,3.5,'Average'),
(6,3,5,5,4.9,'Great Guinness'),
(7,4,3,2,2.9,'Flat'),
(8,4,6,4,4.0,'Decent'),
(9,5,1,5,4.7,'Excellent'),
(10,5,5,4,4.3,'Good stout'),
(1,6,7,5,4.9,'Historic atmosphere, perfect ale'),
(2,6,5,4,4.5,'Great Guinness in a hidden gem'),
(3,7,5,5,4.8,'Best Guinness in Soho'),
(4,7,10,4,4.2,'Excellent session IPA'),
(5,8,7,5,4.7,'Beautiful interior, top pour'),
(6,8,1,4,4.3,'Solid classic ale'),
(7,9,5,5,4.9,'Historic and welcoming'),
(8,9,7,4,4.4,'Lovely old inn'),
(9,10,2,4,4.1,'Riverside views with cold lager'),
(10,10,6,5,4.8,'Perfect by the Thames'),
(1,11,3,5,4.9,'Classic Covent Garden IPA'),
(2,11,13,4,4.3,'Landlord on great form'),
(3,12,1,5,4.7,'Floral charm and excellent ale'),
(4,12,7,4,4.5,'Iconic pub'),
(5,13,9,5,4.8,'Real ale heaven'),
(6,13,14,4,4.2,'Nice pale'),
(7,14,7,4,4.0,'Grand and beautiful'),
(8,14,5,5,4.9,'Victorian masterpiece'),
(9,15,3,5,4.8,'Bohemian vibes'),
(10,15,10,4,4.3,'Half pints only but perfect'),
(1,16,5,5,4.7,'Secluded and cosy'),
(2,16,7,4,4.4,'Great military history feel'),
(3,17,1,5,4.9,'Dickens would approve'),
(4,17,12,4,4.2,'Historic and hearty'),
(5,18,7,5,4.8,'Stunning former bank'),
(6,18,13,4,4.5,'Excellent ales'),
(7,19,9,4,4.3,'Marylebone cosy classic'),
(8,19,14,5,4.7,'Warm and inviting'),
(9,20,3,5,4.8,'Elegant Mayfair pour'),
(10,20,10,4,4.1,'Refined experience'),
(1,21,7,5,4.9,'Best pies and ales'),
(2,21,5,4,4.4,'Unpretentious gem'),
(3,22,1,4,4.2,'Historic City tavern'),
(4,22,12,5,4.8,'Wine and ale mix perfect'),
(5,23,6,5,4.7,'Atmospheric local'),
(6,23,2,4,4.3,'Thai food pairs well'),
(7,24,13,5,4.9,'Beautiful garden'),
(8,24,9,4,4.5,'South London favourite'),
(9,25,10,4,4.2,'Jazz and great beer'),
(10,25,14,5,4.8,'Atmospheric East End'),
(1,26,3,5,4.7,'Soho classic'),
(2,26,7,4,4.4,'Pavement tables great'),
(3,27,5,5,4.9,'Fun and offbeat'),
(4,27,1,4,4.3,'Queer-friendly boozer'),
(5,28,12,4,4.1,'Grand gin palace'),
(6,28,7,5,4.8,'West London beauty'),
(7,29,13,5,4.7,'Timewarp perfection'),
(8,29,9,4,4.5,'Bloomsbury hidden spot'),
(9,30,14,4,4.2,'Real East End feel'),
(10,30,10,5,4.9,'Piano and pints'),
(1,31,5,5,4.8,'Tiny and brilliant'),
(2,31,3,4,4.4,'Fitzrovia favourite'),
(3,32,7,5,4.9,'Pub of the year vibes'),
(4,32,1,4,4.3,'Newington Green joy'),
(5,33,12,4,4.2,'Soho ale champ'),
(6,33,13,5,4.7,'Berwick Street classic'),
(7,34,9,5,4.8,'Hidden Southwark bolthole'),
(8,34,14,4,4.5,'Bohemian charm'),
(9,35,10,4,4.1,'Central but calm'),
(10,35,5,5,4.9,'New Cavendish delight'),
(1,36,3,5,4.7,'Brixton community hub'),
(2,36,7,4,4.4,'Lyham Road local'),
(3,37,1,4,4.3,'Nunhead classic'),
(4,37,12,5,4.8,'Community spirit'),
(5,38,13,5,4.9,'Covent Garden historic'),
(6,38,9,4,4.5,'Endell Street gem'),
(7,39,14,4,4.2,'Hampstead village feel'),
(8,39,10,5,4.7,'Flask Walk perfect'),
(9,40,5,5,4.8,'Holly Bush cosy'),
(10,40,3,4,4.4,'Hampstead legend'),
(1,41,7,5,4.9,'Lamb''s Conduit classic'),
(2,41,1,4,4.3,'Bloomsbury beauty'),
(3,42,12,4,4.2,'Museum Tavern great'),
(4,42,13,5,4.8,'Near British Museum'),
(5,43,9,5,4.7,'Spaniards Inn legendary'),
(6,43,14,4,4.5,'Heath views'),
(7,44,10,4,4.1,'Bull & Gate historic'),
(8,44,5,5,4.9,'Kentish Town vibe'),
(9,45,3,5,4.8,'Assembly House landmark'),
(10,45,7,4,4.4,'Victorian splendour'),
(1,46,1,4,4.3,'Fleet Street Irish'),
(2,46,12,5,4.7,'Tipperary classic'),
(3,47,13,5,4.9,'Seven Stars tiny treasure'),
(4,47,9,4,4.5,'Carey Street gem'),
(5,48,14,4,4.2,'Unique split pub'),
(6,48,10,5,4.8,'Craven Passage fun'),
(7,49,5,5,4.7,'Riverside Richmond'),
(8,49,3,4,4.4,'White Cross views'),
(9,50,7,5,4.9,'Trafalgar Tavern grand'),
(10,50,1,4,4.3,'Greenwich riverside perfect');