It sounds to me like you are using the Nonprofit Starter Pack, which renames the label of the standard Opportunity object to Donations. You can determine for sure if you have the NPSP by going into the Setup menu and down to Installed Packages. There would be one or more packages like those listed here: http://nonprofitstarterpack.org/
The NPSP has two models for how individuals and donors are tracked in Salesforce, the 1-to-1 model and the bucket model. In the 1-to-1 model, each Contact would get a corresponding Account of the same name. In the bucket model, each contact that is not associated with a business account gets associated with a "bucket" account called Individual. 90% of nonprofits have the 1-to-1 model.
To associate an Opportunity (Donation) with a donor, in the 1-to-1 model, you will need to put the donor's account id into the AccountId field on Opportunity. If your settings are correct (Contacts and Organization Settings in all tabs) to auto-create contact roles, you will get your Opportunity Contact Role created automatically. Alternatively (or if you are in the bucket model), you would put the Contact id into the Contact Id for Role field on Opp to create the contact role.