Tigger on the child sobject.
to make a set<ParentID> from Trigger.New,
to make a Map<Id, Parent> by new Map([select XX from ParentSObject where id : set<ParentId>])
to loop the child sobject,
first: get parentid from child sobject.
second: using map to get parent sobject.
now you can get parent sobject(with fields you want) and child sobject(with the fields you want).
to make a parent id set by Trigger.oldMap.KeySet();
to get the list of child sobject by querying the child sobject [select XXX from childSObject where parentId in :set<ParentId>]
to loop the child sobject list
get parent sobject record by Trigger.oldMap.get(childSobjectRecord.parentId)