A DataRelation object provides the means for navigating from one DataTable object to another by using the unique key value on the parent table to search for foreign keys in the child table.
Constraints ensure data integrity by requiring that a child row has a parent when the child is added and that changing or deleting a parent does not orphan any children.
Sending inserts to the database is a top-down action for example, you must insert a customer before inserting an order for that customer.
Sending deletes to the database is a bottom-up action for example, you must delete the orders that belong to a particular customer before you can delete that customer.
It is possible to extract the added DataRow objects separately from the deleted DataRow objects so that they can be sent to the database in opposite order.
You can use a Data Access Layer (DAL) to provide the functionality required to send inserts, modifications, and deletes to a disconnected database that contains multiple related DataTable objects.