Second normalization (2 NF)
First normalization (1 NF)
Inheritance (OOP principle)
Polymorphism (OOP principle)
Encapsulation (OOP principle)
Abstract class (OOP principle)