Bases are defined as compounds that dissolve in water to form OH- ions (and a positive metal ion), like oxides. Alkali are defined as compounds that are soluble in water AND form OH- ions, like hydroxides. Not all bases are soluble. Some, like Copper (II) Oxide (CuO) are solids, but some, like Sodium Hydroxide (NaOH) readily dissolve in water. So NaOH is an alkali and a base, but since CaO cannot dissolve in water, it is only a base and not an alkali :)