Views: Filtering nodes on the basis of logged in user role
Yes, you can use node "Author uid" as the "Contextual filter" in the views and can set default value as "User id from logged in user" or "User id from URL" for the "Author uid".



If you will select "User id from logged in user", then it will display the node created by the logged in user  or if you select "User id from URL", then it will display the node created by the user id from the URL.

Regarding, displaying node published and unpublished, you need to set permission for user role to view "unpublished own nodes", so user can view his unpublished node.

For the site admin user, he can only view the node created by him. If you want to display all  nodes to site admin, then you need to create another view.