$30 off During Our Annual Pro Sale. View Details »

Pokedex - Database Normalization

Pokedex - Database Normalization

Explains basics of database normalization process

Mateusz Wozniczka

December 23, 2022
Tweet

More Decks by Mateusz Wozniczka

Other Decks in Programming

Transcript

  1. 1st ENTRY NAME STATS TYPE STRONG VS WEAK VS MOVE

    Charmander attack: 52, defense: 43 Fire Grass Water Ember
  2. 2nd ENTRY NAME STATS TYPE STRONG VS WEAK VS MOVE

    Charmander attack: 52, defense: 43 Fire Grass Water Ember
  3. 2nd ENTRY NAME STATS TYPE STRONG VS WEAK VS MOVE

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Squirtle attack: 44, defense: 48 Water Fire Grass Bubble
  4. 3rd ENTRY NAME STATS TYPE STRONG VS WEAK VS MOVE

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Squirtle attack: 44, defense: 48 Water Fire Grass Bubble
  5. 3rd ENTRY NAME STATS TYPE STRONG VS WEAK VS MOVE

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip
  6. 4th ENTRY NAME STATS TYPE STRONG VS WEAK VS MOVE

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip
  7. 4th ENTRY NAME STATS TYPE STRONG VS WEAK VS MOVE

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Charmeleon att: 62, def: 58 Fire Grass Water Ember
  8. NEW BUSINESS REQUIREMENT NAME Charmander Squirtle Bulbasaur Charmeleon STATS attack:

    52, defense: 43 attack: 44, defense: 48 attack: 49, defense: 49 att: 62, def: 58 TYPE Fire Water Grass Fire STRONG VS Grass Fire Water Grass WEAK VS Water Grass Fire Water MOVE Ember Bubble Whip Ember Pokémons can evolve
  9. NEW BUSINESS REQUIREMENT NAME Charmander Squirtle Bulbasaur Charmeleon STATS attack:

    52, defense: 43 attack: 44, defense: 48 attack: 49, defense: 49 att: 62, def: 58 TYPE Fire Water Grass Fire STRONG VS Grass Fire Water Grass WEAK VS Water Grass Fire Water MOVE Ember Bubble Whip Ember NEXT FORM Charmeleon Wartortle Ivysaur Charizard Pokémons can evolve
  10. NAME STATS TYPE STRONG VS WEAK VS MOVE NEXT FORM

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Charmeleon Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Wartortle Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Ivysaur Charmeleon att: 62, def: 58 Fire Grass Water Ember Charizard NEXT ENTRY
  11. NAME STATS TYPE STRONG VS WEAK VS MOVE NEXT FORM

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Charmeleon Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Wartortle Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Ivysaur Charmeleon att: 62, def: 58 Fire Grass Water Ember Charizard Butterfree Att: 45, DEF: 50 Bug Grass Fire Bite NEXT ENTRY
  12. NAME STATS TYPE STRONG VS WEAK VS MOVE NEXT FORM

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Charmeleon Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Wartortle Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Ivysaur Charmeleon att: 62, def: 58 Fire Grass Water Ember Charizard Butterfree Att: 45, DEF: 50 Bug Grass Fire Bite NEW BUSINESS REQUIREMENT Pokémons can have multiple moves
  13. NAME STATS TYPE STRONG VS WEAK VS MOVES NEXT FORM

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Charmeleon Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Wartortle Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Ivysaur Charmeleon att: 62, def: 58 Fire Grass Water Ember Charizard Butterfree Att: 45, DEF: 50 Bug Grass Fire Bite NEW BUSINESS REQUIREMENT Pokémons can have multiple moves
  14. NAME STATS TYPE STRONG VS WEAK VS MOVES NEXT FORM

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Inferno Charmeleon Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon att: 62, def: 58 Fire Grass Water Ember Inferno Charizard Butterfree Att: 45, DEF: 50 Bug Grass Fire Bite Tackle Gust NEW BUSINESS REQUIREMENT Pokémons can have multiple moves
  15. NAME STATS TYPE STRONG VS WEAK VS MOVES NEXT FORM

    Charmander attack: 52, defense: 43 Fire Grass Water Ember Inferno Charmeleon Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon att: 62, def: 58 Fire Grass Water Ember Inferno Charizard Butterfree Att: 45, DEF: 50 Bug Grass Fire Bite Tackle Gust NEW BUSINESS REQUIREMENT Pokémons can have multiple moves
  16. PROBLEM 1 Stats are not uniform NAME STATS TYPE STRONG

    VS WEAK VS MOVES NEXT FORM Charmander attack: 52, defense: 43 Fire Grass Water Ember Inferno Charmeleon Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon att: 62, def: 58 Fire Grass Water Ember Inferno Charizard Butterfree Att: 45, DEF: 50 Bug Grass Fire Bite Tackle Gust
  17. PROBLEM 1 Stats are not uniform NAME STATS TYPE STRONG

    VS WEAK VS MOVES NEXT FORM Charmander attack: 52, defense: 43 Fire Grass Water Ember Inferno Charmeleon Squirtle attack: 44, defense: 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur attack: 49, defense: 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon att: 62, def: 58 Fire Grass Water Ember Inferno Charizard Butterfree Att: 45, DEF: 50 Bug Grass Fire Bite Tackle Gust
  18. PROBLEM 1 - FIXED Stats are uniform NAME ATTACK DEFENSE

    TYPE STRONG VS WEAK VS MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust
  19. PROBLEM 1 - FIXED Stats are uniform NAME ATTACK DEFENSE

    TYPE STRONG VS WEAK VS MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust
  20. PROBLEM 2 Editing is not easy NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust
  21. NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS MOVES NEXT

    FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust PROBLEM 2 Editing is not easy
  22. NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS MOVES NEXT

    FORM Charmander 52 43 Fire Bug Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust PROBLEM 2 Editing is not easy
  23. NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS MOVES NEXT

    FORM Charmander 52 43 Fire Bug Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust PROBLEM 2 Editing is not easy
  24. NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS MOVES NEXT

    FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust PROBLEM 2 Editing is not easy
  25. PROBLEMS 1. NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME

    VALUES HAVE TO BE EDITED IN MULTIPLE PLACES
  26. NEW ENTRY NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust
  27. NEW ENTRY NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust Rock 0 100 Rock Fire Grass
  28. PROBLEM 3 NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust Rock 0 100 Rock Fire Grass Empty cells
  29. PROBLEM 3 NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust Rock 0 100 Rock Fire Grass Empty cells
  30. PROBLEMS 1. NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME

    VALUES HAVE TO BE EDITED IN MULTIPLE PLACES
  31. PROBLEMS 1. NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME

    VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 3. EMPTY CELLS
  32. PROBLEM 4 NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust Rock 0 100 Rock Fire Grass Deleting can be problematic
  33. PROBLEM 4 NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust Rock 0 100 Rock Fire Grass Deleting can be problematic
  34. PROBLEM 5 NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    MOVES NEXT FORM Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust Rock Fire Grass Can’t keep info about type only
  35. PROBLEMS 1. NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME

    VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 3. A LOT OF EMPTY CELLS
  36. PROBLEMS 1. NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME

    VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS
  37. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS
  38. NEXT FORM Charmeleon Wartortle Ivysaur Charizard MOVES Ember Inferno Bubble

    Waterjet Whip Leech Seed Ember Inferno Bite Tuckle Gust WEAK VS Water Grass Fire Water Fire Grass STRONG VS Grass Fire Water Grass Grass Fire TYPE Fire Water Grass Fire Bug Rock DEFENSE 43 48 49 58 50 100 ATTACK 52 44 49 62 45 0 NAME Charmander Squirtle Bulbasaur Charmeleon Butterfree Rock NEW BUSINESS REQUIREMENT!!! Pokemons have ids
  39. NEXT FORM Charmeleon Wartortle Ivysaur Charizard MOVES Ember Inferno Bubble

    Waterjet Whip Leech Seed Ember Inferno Bite Tuckle Gust WEAK VS Water Grass Fire Water Fire Grass STRONG VS Grass Fire Water Grass Grass Fire TYPE Fire Water Grass Fire Bug Rock DEFENSE 43 48 49 58 50 100 ATTACK 52 44 49 62 45 0 NAME Charmander Squirtle Bulbasaur Charmeleon Butterfree Rock ID 1 2 3 4 5 6 NEW BUSINESS REQUIREMENT!!! Pokemons have ids
  40. ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS MOVES

    NEXT FORM 1 Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon 2 Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle 3 Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur 4 Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard 5 Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust 6 Rock 0 100 Rock Fire Grass IMPROVEMENT IDEA Use ID instead of NAME
  41. ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS MOVES

    NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Inferno Charmeleon 2 Squirtle 44 48 Water Fire Grass Bubble Waterjet Wartortle 3 Bulbasaur 49 49 Grass Water Fire Whip Leech Seed Ivysaur 4 Charmeleon 62 58 Fire Grass Water Ember Inferno Charizard 5 Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust 6 Rock 0 100 Rock Fire Grass IMPROVEMENT IDEA Use ID instead of NAME
  42. ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS MOVES

    NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Inferno 4 2 Squirtle 44 48 Water Fire Grass Bubble Waterjet 7 3 Bulbasaur 49 49 Grass Water Fire Whip Leech Seed 10 4 Charmeleon 62 58 Fire Grass Water Ember Inferno 12 5 Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust 6 Rock 0 100 Rock Fire Grass IMPROVEMENT IDEA Use ID instead of NAME
  43. ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS MOVES

    NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Inferno 4 2 Squirtle 44 48 Water Fire Grass Bubble Waterjet 7 3 Bulbasaur 49 49 Grass Water Fire Whip Leech Seed 10 4 Charmeleon 62 58 Fire Grass Water Ember Inferno 12 5 Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust 6 Rock 0 100 Rock Fire Grass IMPROVEMENT IDEA Use ID instead of NAME
  44. NEW BUSINESS REQUIREMENT Moves also have types ID NAME ATTACK

    DEFENSE TYPE STRONG VS WEAK VS MOVES NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Inferno 4 2 Squirtle 44 48 Water Fire Grass Bubble Waterjet 7 3 Bulbasaur 49 49 Grass Water Fire Whip Leech Seed 10 4 Charmeleon 62 58 Fire Grass Water Ember Inferno 12 5 Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust 6 Rock 0 100 Rock Fire Grass
  45. TABLE EVOLUTION EVOLUTIONARY STAGE 1 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVES NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Inferno 4 2 Squirtle 44 48 Water Fire Grass Bubble Waterjet 7 3 Bulbasaur 49 49 Grass Water Fire Whip Leech Seed 10 4 Charmeleon 62 58 Fire Grass Water Ember Inferno 12 5 Butterfree 45 50 Bug Grass Fire Bite Tuckle Gust 6 Rock 0 100 Rock Fire Grass
  46. TABLE EVOLUTION EVOLUTIONARY STAGE 1 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember 4 1 Charmander 52 43 Fire Grass Water Inferno 4 2 Squirtle 44 48 Water Fire Grass Bubble 7 2 Squirtle 44 48 Water Fire Grass Waterjet 7 3 Bulbasaur 49 49 Grass Water Fire Whip 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed 10 4 Charmeleon 62 58 Fire Grass Water Ember 12 4 Charmeleon 62 58 Fire Grass Water Inferno 12 5 Butterfree 45 50 Bug Grass Fire Bite 5 Butterfree 45 50 Bug Grass Fire Tuckle 5 Butterfree 45 50 Bug Grass Fire Gust 6 Rock 0 100 Rock Fire Grass
  47. TABLE EVOLUTION EVOLUTIONARY STAGE 1 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember 4 1 Charmander 52 43 Fire Grass Water Inferno 4 2 Squirtle 44 48 Water Fire Grass Bubble 7 2 Squirtle 44 48 Water Fire Grass Waterjet 7 3 Bulbasaur 49 49 Grass Water Fire Whip 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed 10 4 Charmeleon 62 58 Fire Grass Water Ember 12 4 Charmeleon 62 58 Fire Grass Water Inferno 12 5 Butterfree 45 50 Bug Grass Fire Bite 5 Butterfree 45 50 Bug Grass Fire Tuckle 5 Butterfree 45 50 Bug Grass Fire Gust 6 Rock 0 100 Rock Fire Grass
  48. TABLE EVOLUTION EVOLUTIONARY STAGE 1 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember 4 1 Charmander 52 43 Fire Grass Water Inferno 4 2 Squirtle 44 48 Water Fire Grass Bubble 7 2 Squirtle 44 48 Water Fire Grass Waterjet 7 3 Bulbasaur 49 49 Grass Water Fire Whip 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed 10 4 Charmeleon 62 58 Fire Grass Water Ember 12 4 Charmeleon 62 58 Fire Grass Water Inferno 12 5 Butterfree 45 50 Bug Grass Fire Bite 5 Butterfree 45 50 Bug Grass Fire Tuckle 5 Butterfree 45 50 Bug Grass Fire Gust 6 Rock 0 100 Rock Fire Grass
  49. TABLE EVOLUTION EVOLUTIONARY STAGE 1 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Fire 4 1 Charmander 52 43 Fire Grass Water Inferno Fire 4 2 Squirtle 44 48 Water Fire Grass Bubble Water 7 2 Squirtle 44 48 Water Fire Grass Waterjet Water 7 3 Bulbasaur 49 49 Grass Water Fire Whip Normal 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed Grass 10 4 Charmeleon 62 58 Fire Grass Water Ember Fire 12 4 Charmeleon 62 58 Fire Grass Water Inferno Fire 12 5 Butterfree 45 50 Bug Grass Fire Bite Normal 5 Butterfree 45 50 Bug Grass Fire Tuckle Normal 5 Butterfree 45 50 Bug Grass Fire Gust Normal 6 Rock 0 100 Rock Fire Grass
  50. TABLE EVOLUTION EVOLUTIONARY STAGE 1 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Fire 4 1 Charmander 52 43 Fire Grass Water Inferno Fire 4 2 Squirtle 44 48 Water Fire Grass Bubble Water 7 2 Squirtle 44 48 Water Fire Grass Waterjet Water 7 3 Bulbasaur 49 49 Grass Water Fire Whip Normal 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed Grass 10 4 Charmeleon 62 58 Fire Grass Water Ember Fire 12 4 Charmeleon 62 58 Fire Grass Water Inferno Fire 12 5 Butterfree 45 50 Bug Grass Fire Bite Normal 5 Butterfree 45 50 Bug Grass Fire Tuckle Normal 5 Butterfree 45 50 Bug Grass Fire Gust Normal 6 Rock 0 100 Rock Fire Grass
  51. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS
  52. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS
  53. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS 6. A LOT OF DUPLICATE DATA
  54. TABLE EVOLUTION EVOLUTIONARY STAGE 2 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Fire 4 1 Charmander 52 43 Fire Grass Water Inferno Fire 4 2 Squirtle 44 48 Water Fire Grass Bubble Water 7 2 Squirtle 44 48 Water Fire Grass Waterjet Water 7 3 Bulbasaur 49 49 Grass Water Fire Whip Normal 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed Grass 10 4 Charmeleon 62 58 Fire Grass Water Ember Fire 12 4 Charmeleon 62 58 Fire Grass Water Inferno Fire 12 5 Butterfree 45 50 Bug Grass Fire Bite Normal 5 Butterfree 45 50 Bug Grass Fire Tuckle Normal 5 Butterfree 45 50 Bug Grass Fire Gust Normal 6 Rock 0 100 Rock Fire Grass
  55. TABLE EVOLUTION EVOLUTIONARY STAGE 2 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Fire 4 1 Charmander 52 43 Fire Grass Water Inferno Fire 4 2 Squirtle 44 48 Water Fire Grass Bubble Water 7 2 Squirtle 44 48 Water Fire Grass Waterjet Water 7 3 Bulbasaur 49 49 Grass Water Fire Whip Normal 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed Grass 10 4 Charmeleon 62 58 Fire Grass Water Ember Fire 12 4 Charmeleon 62 58 Fire Grass Water Inferno Fire 12 5 Butterfree 45 50 Bug Grass Fire Bite Normal 5 Butterfree 45 50 Bug Grass Fire Tuckle Normal 5 Butterfree 45 50 Bug Grass Fire Gust Normal 6 Rock 0 100 Rock Fire Grass
  56. TABLE EVOLUTION EVOLUTIONARY STAGE 2 MOVE MOVE TYPE Ember Fire

    Inferno Fire Bubble Water Waterjet Water Whip Normal Leech Seed Grass Ember Fire Inferno Fire Bite Normal Tuckle Normal Gust Normal
  57. TABLE EVOLUTION EVOLUTIONARY STAGE 2 MOVE MOVE TYPE Ember Fire

    Inferno Fire Bubble Water Waterjet Water Whip Normal Leech Seed Grass Ember Fire Inferno Fire Bite Normal Tuckle Normal Gust Normal
  58. TABLE EVOLUTION EVOLUTIONARY STAGE 2 MOVE MOVE TYPE Ember Fire

    Inferno Fire Bubble Water Waterjet Water Whip Normal Leech Seed Grass Bite Normal Tuckle Normal Gust Normal
  59. TABLE EVOLUTION EVOLUTIONARY STAGE 2 MOVES ID NAME TYPE 1

    Ember Fire 2 Inferno Fire 3 Bubble Water 4 Waterjet Water 5 Whip Normal 6 Leech Seed Grass 7 Bite Normal 8 Tuckle Normal 9 Gust Normal
  60. TABLE EVOLUTION EVOLUTIONARY STAGE 2 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Fire 4 1 Charmander 52 43 Fire Grass Water Inferno Fire 4 2 Squirtle 44 48 Water Fire Grass Bubble Water 7 2 Squirtle 44 48 Water Fire Grass Waterjet Water 7 3 Bulbasaur 49 49 Grass Water Fire Whip Normal 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed Grass 10 4 Charmeleon 62 58 Fire Grass Water Ember Fire 12 4 Charmeleon 62 58 Fire Grass Water Inferno Fire 12 5 Butterfree 45 50 Bug Grass Fire Bite Normal 5 Butterfree 45 50 Bug Grass Fire Tuckle Normal 5 Butterfree 45 50 Bug Grass Fire Gust Normal 6 Rock 0 100 Rock Fire Grass
  61. TABLE EVOLUTION EVOLUTIONARY STAGE 2 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Fire 4 1 Charmander 52 43 Fire Grass Water Inferno Fire 4 2 Squirtle 44 48 Water Fire Grass Bubble Water 7 2 Squirtle 44 48 Water Fire Grass Waterjet Water 7 3 Bulbasaur 49 49 Grass Water Fire Whip Normal 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed Grass 10 4 Charmeleon 62 58 Fire Grass Water Ember Fire 12 4 Charmeleon 62 58 Fire Grass Water Inferno Fire 12 5 Butterfree 45 50 Bug Grass Fire Bite Normal 5 Butterfree 45 50 Bug Grass Fire Tuckle Normal 5 Butterfree 45 50 Bug Grass Fire Gust Normal 6 Rock 0 100 Rock Fire Grass
  62. TABLE EVOLUTION EVOLUTIONARY STAGE 2 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Fire 4 1 Charmander 52 43 Fire Grass Water Inferno Fire 4 2 Squirtle 44 48 Water Fire Grass Bubble Water 7 2 Squirtle 44 48 Water Fire Grass Waterjet Water 7 3 Bulbasaur 49 49 Grass Water Fire Whip Normal 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed Grass 10 4 Charmeleon 62 58 Fire Grass Water Ember Fire 12 4 Charmeleon 62 58 Fire Grass Water Inferno Fire 12 5 Butterfree 45 50 Bug Grass Fire Bite Normal 5 Butterfree 45 50 Bug Grass Fire Tuckle Normal 5 Butterfree 45 50 Bug Grass Fire Gust Normal 6 Rock 0 100 Rock Fire Grass
  63. TABLE EVOLUTION EVOLUTIONARY STAGE 2 POKEMONS ID NAME ATTACK DEFENSE

    TYPE STRONG VS WEAK VS NEXT FORM ID 1 Charmander 52 43 Fire Grass Water 4 2 Squirtle 44 48 Water Fire Grass 7 3 Bulbasaur 49 49 Grass Water Fire 10 4 Charmeleon 62 58 Fire Grass Water 12 5 Butterfree 45 50 Bug Grass Fire 6 Rock 0 100 Rock Fire Grass
  64. TABLE EVOLUTION EVOLUTIONARY STAGE 2 ID NAME ATTACK DEFENSE TYPE

    STRONG VS WEAK VS MOVE MOVE TYPE NEXT FORM ID 1 Charmander 52 43 Fire Grass Water Ember Fire 4 1 Charmander 52 43 Fire Grass Water Inferno Fire 4 2 Squirtle 44 48 Water Fire Grass Bubble Water 7 2 Squirtle 44 48 Water Fire Grass Waterjet Water 7 3 Bulbasaur 49 49 Grass Water Fire Whip Normal 10 3 Bulbasaur 49 49 Grass Water Fire Leech Seed Grass 10 4 Charmeleon 62 58 Fire Grass Water Ember Fire 12 4 Charmeleon 62 58 Fire Grass Water Inferno Fire 12 5 Butterfree 45 50 Bug Grass Fire Bite Normal 5 Butterfree 45 50 Bug Grass Fire Tuckle Normal 5 Butterfree 45 50 Bug Grass Fire Gust Normal 6 Rock 0 100 Rock Fire Grass
  65. TABLE EVOLUTION EVOLUTIONARY STAGE 2 ID MOVE 1 Ember 1

    Inferno 2 Bubble 2 Waterjet 3 Whip 3 Leech Seed 4 Ember 4 Inferno 5 Bite 5 Tuckle 5 Gust 6
  66. TABLE EVOLUTION EVOLUTIONARY STAGE 2 ID MOVE 1 Ember 1

    Inferno 2 Bubble 2 Waterjet 3 Whip 3 Leech Seed 4 Ember 4 Inferno 5 Bite 5 Tuckle 5 Gust 6
  67. TABLE EVOLUTION EVOLUTIONARY STAGE 2 POKEMON ID MOVE ID 1

    1 1 2 2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6
  68. TABLE EVOLUTION EVOLUTIONARY STAGE 2 POKEMON MOVES POKEMON ID MOVE

    ID 1 1 1 2 2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6
  69. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 POKEMONS ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS NEXT FORM ID 1 Charmander 52 43 Fire Grass Water 4 2 Squirtle 44 48 Water Fire Grass 7 3 Bulbasaur 49 49 Grass Water Fire 10 4 Charmeleon 62 58 Fire Grass Water 12 5 Butterfree 45 50 Bug Grass Fire 6 Rock 0 100 Rock Fire Grass MOVES ID NAME TYPE 1 Ember Fire 2 Inferno Fire 3 Bubble Water 4 Waterjet Water 5 Whip Normal 6 Leech Seed Grass 7 Bite Normal 8 Tuckle Normal 9 Gust Normal
  70. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS 6. A LOT OF DUPLICATE DATA
  71. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS 6. A LOT OF DUPLICATE DATA
  72. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS 6. A LOT OF DUPLICATE DATA
  73. POKEMONS ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    NEXT FORM ID 1 Charmander 52 43 Fire Grass Water 4 2 Squirtle 44 48 Water Fire Grass 7 3 Bulbasaur 49 49 Grass Water Fire 10 4 Charmeleon 62 58 Fire Grass Water 12 5 Butterfree 45 50 Bug Grass Fire 6 Rock 0 100 Rock Fire Grass TABLE EVOLUTION EVOLUTIONARY STAGE 3
  74. POKEMONS ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    NEXT FORM ID 1 Charmander 52 43 Fire Grass Water 4 2 Squirtle 44 48 Water Fire Grass 7 3 Bulbasaur 49 49 Grass Water Fire 10 4 Charmeleon 62 58 Fire Grass Water 12 5 Butterfree 45 50 Bug Grass Fire 6 Rock 0 100 Rock Fire Grass TABLE EVOLUTION EVOLUTIONARY STAGE 3
  75. POKEMONS ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    NEXT FORM ID 1 Charmander 52 43 Fire Grass Water 4 2 Squirtle 44 48 Water Fire Grass 7 3 Bulbasaur 49 49 Grass Water Fire 10 4 Charmeleon 62 58 Fire Grass Water 12 5 Butterfree 45 50 Bug Grass Fire 6 Rock 0 100 Rock Fire Grass TABLE EVOLUTION EVOLUTIONARY STAGE 3
  76. POKEMONS TYPE STRONG VS WEAK VS Fire Grass Water Water

    Fire Grass Grass Water Fire Fire Grass Water Bug Grass Fire Rock Fire Grass TABLE EVOLUTION EVOLUTIONARY STAGE 3
  77. TYPE STRONG VS WEAK VS Fire Grass Water Water Fire

    Grass Grass Water Fire Bug Grass Fire Rock Fire Grass TABLE EVOLUTION EVOLUTIONARY STAGE 3
  78. TABLE EVOLUTION EVOLUTIONARY STAGE 3 TYPES ID NAME STRONG VS

    WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  79. POKEMONS ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    NEXT FORM ID 1 Charmander 52 43 Fire Grass Water 4 2 Squirtle 44 48 Water Fire Grass 7 3 Bulbasaur 49 49 Grass Water Fire 10 4 Charmeleon 62 58 Fire Grass Water 12 5 Butterfree 45 50 Bug Grass Fire 6 Rock 0 100 Rock Fire Grass TABLE EVOLUTION EVOLUTIONARY STAGE 3
  80. POKEMONS ID NAME ATTACK DEFENSE TYPE STRONG VS WEAK VS

    NEXT FORM ID 1 Charmander 52 43 Fire Grass Water 4 2 Squirtle 44 48 Water Fire Grass 7 3 Bulbasaur 49 49 Grass Water Fire 10 4 Charmeleon 62 58 Fire Grass Water 12 5 Butterfree 45 50 Bug Grass Fire 6 Rock 0 100 Rock Fire Grass TABLE EVOLUTION EVOLUTIONARY STAGE 3
  81. POKEMONS ID NAME ATTACK DEFENSE TYPE ID STRONG VS WEAK

    VS NEXT FORM ID 1 Charmander 52 43 1 Grass Water 4 2 Squirtle 44 48 2 Fire Grass 7 3 Bulbasaur 49 49 3 Water Fire 10 4 Charmeleon 62 58 1 Grass Water 12 5 Butterfree 45 50 4 Grass Fire 6 Rock 0 100 5 Fire Grass TABLE EVOLUTION EVOLUTIONARY STAGE 3
  82. POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID

    1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TABLE EVOLUTION EVOLUTIONARY STAGE 3
  83. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  84. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS 6. A LOT OF DUPLICATE DATA
  85. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS 6. A LOT OF DUPLICATE DATA
  86. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS 6. A LOT OF DUPLICATE DATA
  87. PROBLEMS 5. CAN’T STORE DATA ABOUT THE TYPES ONLY 1.

    NON-ATOMIC VALUES CAN LEAD TO INCONSISTENCIES 2. SOME VALUES HAVE TO BE EDITED IN MULTIPLE PLACES 4. ROWS DELETION CAN LEAD TO UNWANTED DATA LOSS 3. A LOT OF EMPTY CELLS 6. A LOT OF DUPLICATE DATA
  88. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  89. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  90. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  91. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  92. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  93. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  94. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  95. POKEMON MOVES POKEMON ID MOVE ID 1 1 1 2

    2 3 2 4 3 5 3 6 4 1 4 2 5 7 5 8 5 9 6 MOVES ID NAME TYPE ID 1 Ember 1 2 Inferno 1 3 Bubble 2 4 Waterjet 2 5 Whip 6 6 Leech Seed 3 7 Bite 6 8 Tuckle 6 9 Gust 6 POKEMONS ID NAME ATTACK DEFENSE TYPE ID NEXT FORM ID 1 Charmander 52 43 1 4 2 Squirtle 44 48 2 7 3 Bulbasaur 49 49 3 10 4 Charmeleon 62 58 1 12 5 Butterfree 45 50 4 6 Rock 0 100 5 TYPES ID NAME STRONG VS WEAK VS 1 Fire 3 2 2 Water 1 2 3 Grass 2 1 4 Bug 3 1 5 Rock 1 3
  96. SUMMARY EVOLUTION TIERS -> NORMAL FORMS PROBLEMS -> ANOMALIES HIGHER

    FORM -> LOWER REDUNDANCY HIGHER FORM -> HIGHER DATA INTEGRITY
  97. SUMMARY EVOLUTION TIERS -> NORMAL FORMS PROBLEMS -> ANOMALIES HIGHER

    FORM -> LOWER REDUNDANCY HIGHER FORM -> LONGER READ HIGHER FORM -> HIGHER DATA INTEGRITY