Most of the modern database technologies support wide variety of partitioning strategies. However, here are the most commonly used ones.
List Partitioning
Range Partitioning
Hash Partitioning
List and Range are more widely used compared to Hash Partitioning.
We can also mix and match these to have multi level partitioning. It is known as sub partitioning.
We can either partition a table with out primary key or partition a table with primary key when partition column is prime attribute (one of the primary key columns).
Indexes can be added to the partitioned table. If we create on the main table, it is global index and if we create index on each partition then it is partitioned index.