So I have this table
checkout(cardNumber,libraryID, checkoutDate, checkinDate, dueDate)
that holds the checkin and checkout information for books in a library database. The trouble is I only now realized that with this set up a cardholder can't checkout the same book at a later date. I've been wracking my brain for a better setup but I can't seem to think of one. I thought about breaking it down into a table for checkouts and checkins separately, which would probably work but I'd like to be able to hold historical data, like what books have been taken out when so that cardholders can see what books they've borrowed in the past as well. I thought about making the checkoutDate a key as well but it can't really act as a key can it?