Difficulty in understanding Epochs

Does one epoch correspond to one mini batch or the entire training batch ?
If it’s the entire training batch, then is it useful because we start with random initial weights, we try to run many epochs to arrive at best weights possible.

epoch - one iteration through the entire dataset (can be in random order if you use shuffle)
batch - what epochs consists of

Say you have 100 examples in your train set. One full run of training your model on all the examples in the train set == epoch. If your batch size is 20, your model will be presented with 5 batches each containing 20 images during a single epoch of training.