Thank you for your waiting.
Skyvia provides you with a choice of operations you can do with the selected data — insert to a data source, update the corresponding records in the data source to the values from the snapshots, or delete them from the data source. You can not use Upsert when restoring your Backup, this function is available not in Backup but in Import Package. Please find more information here https://docs.skyvia.com/backup/index.html
Regarding Question 1:
Yes, you can restore deleted records. And also Skyvia Backup can restore records with their relations. You just need to select all the necessary related records and restore them together in one restore operation.
If you restore them separately, the relations may be lost.
Note that you need to select all parent and related Objects.
Please check Restoring Related Data topic to know more https://docs.skyvia.com/backup/working-with-backed-up-data/restoring-data.html#:~:text=Restoring%20Related%20Data
Regarding Question 2:
As previously mentioned, if you want to restore related records with their relations, for example, a Salesforce Account and all its Contacts, you must select and restore all the required related records in one restore operation. If you restore them separately, the relations may be lost.
This is because when a record is inserted in a cloud application, it gets a new Id value. When you restore the related records that reference it by an old backed-up Id value, the relation cannot be restored using this old value. If you restore the related records in one operation, Skyvia retrieves the new Ids and builds relations between restored records correctly, but this cannot be done when restoring related records in several restore operations.
Please let us know if any additional information is needed from our side.