You can extend the content model to capture anything you need to. So you could have a document that represents a book, and the act of checking it in and out would signify that the physical book is checked out or available. Or you could just create a custom property on your book object and set it to true when checked out and false when not.
My personal opinion is that if you are not storing and managing actual content (files) in the repository, you'd be better off not using Alfresco. There are far lighter weight architectures for building a web app that simply needs to persist some data. In other words, don't install and customize Alfresco if the only thing you need to know is metadata *about* the book and whether or not it is checked out. If you are going to store the actual digital version of the book in Alfresco and you want to map it to whether or not the physical book is checked out, that's a good use case.