This answer assumes you agree with Fizz's edits. If you don't, please tell me and I'll convert this answer to a comment.
In Crystal, there are only 10 fishing encounter tables.
Cherrygrove City, Olivine City, Cianwood City, Dark Cave (B2F), Route 34, Route 40, Route 19: Krabby, Kingler, Staryu, Corsola
New Bark Town, Olivine City (harbor) Pallet Town, Vermilion City, Cinnabar Island, Route 41, Route 27, Route 26, Route 20, Route 21: Tentacruel, Shellder, Chinchou, Lanturn
Dark Cave, Union Cave, Slowpoke Well, Mt. Mortar, Tohjo Falls, Silver Cave, Route 42, Route 24, Route 25, Route 9, Route 10: Goldeen, Seaking, Magikarp
Violet City, Ecruteak City, Blackthorn City, Viridian City, Ruins of Alph, Ilex Forest, Route 30, Route 31, Route 35, Route 43, Route 44C, Route 28, Mt. Silver (exterior), Route 22, Route 6: Poliwag, Magikarp
Route 32, Route 12, Route 13: Tentacool, Magikarp, Qwilfish
Lake of Rage, Fuchsia City: Magikarp, Gyarados
Whirl Islands: Krabby, Kingler, Horsea, Seadra
Route 45: Magikarp, Dratini, Dragonair
Dragon's Den: Magikarp, Dratini, Dragonair
Route 32 (Qwilfish swarm): Qwilfish
source
These are the items they can hold when you encounter them.
Shellder: pearl (common), big pearl (rare)
Horsea: dragon scale (rare)
Seadra: dragon scale (rare)
Staryu: stardust (common), star piece (rare)
Dratini: dragon scale (rare)
Dragonair: dragon scale (rare)
source