Sesja to połączenie użytkownika z bazą danych. Jeden użytkownik może mieć otwartych wiele połączeń - wystarczy, że otworzysz kilka okienek w sql developerze :) Dopóki baza danych nie utworzy sesji dla użytkownika nie połączysz się z bazą danych. I to tyle, co musisz wiedzieć.
Transakcja z kolei to zbiór operacji(instrukcji SQL, np. UPDATE/DELETE/INSERT/SELECT), które wykonujemy w całości albo wcale. Oznacza to, że jeśli w ramach jednej transakcji zapiszesz 2 polecenia update to jeśli któreś z nich nie będzie mogło się wykonać to żadne z nich się nie wykona, np. UPDATE 1 może się wykonać, ale UPDATE2 z jakiegoś powodu nie może to zmiany naniesione przez UPDATE 1 "solidarnie" zostaną wycofane. Standardowym przykładem transakcji jest operacja przelewu bankowego: albo zmniejszymy saldo konta z którego wysyłamy pieniądze i jednocześnie zwiększymy saldo konta do którego przelewamy pieniądze albo nie wykonujemy żadnej operacji :)
Jeśli chodzi o Twoje zadanie to chodzi o to by w praktyce przekonać się, że sesje użytkowników w bazie danych są niezależne(można to modyfikować przy pomocy poziomów izolacji - isolation level). Dopóki nie zatwierdzisz zmian wykonanych w pierwszej sesji(COMMIT) to nie będę one widoczne dla żadnych innych sesji. SELECT pozwoli Ci upewnić się, że rzeczywiście tak jest.
Nie wiem na kiedy potrzebujesz więcej i dokładniej na ten temat, ale mogę nagrać o tym odcinek na swoim kanale YT:
https://www.youtube.com/nieinformatyk