how to create a replicable, unique code for a pre-ISBN book

154 views Asked by At

I am putting my collection of some 13000 books in a mySQL database. Most of the copies I possess can be identified uniquely by ISBN. I need to use this distinguishing code as a foreign key into another database table.

However, quite a few of my books date from pre-ISBN ages. So for these, I am trying to devise a scheme to uniquely assign a code, sort of like an SKU.

The code would be strictly for private use. It should have the important property that, when I obtain a pre-ISBN publication, I could build the code from inspecting the work, and based on the result search the database to see if I already have other copies in my possession.

Many years ago I think I saw a search scheme for some university(?) catalogue, where you could perform a search of a title based on a concatenated string' (or code) that was made up of let's say 8 letters from the title, and 4 from the author, and maybe some other data. For example, to search 'The Nature of Space and Time' by Stephen Hawking and Roger Penrose you might perform a search on the string 'Nature SHawk', being comprised of 8 characters from the title (omitting non-filing words and stopwords) and 4 from the author(s).

I haven't been able to find any information on such scheme's, or whether or not such an approach was standardized in any way.

Something along these lines could be made up of course, but I was wondering if people here have heard of such schemes, of have ideas on how to come to a solution to this. So keep in mind the important property of 'replicability': using the scheme, inspection of a pre- ISBN dated work should --omitting very special or exclusive cases-- in general lead to a code that can singly be used to subsequently determine if such a copy is already in the database.

Thank you for your time.

1

There are 1 answers

0
AlexAtStack On

Just use the Title (add Author and Publisher as options) and a series id to produce a fake isbn. Take a look at fake_isbn.

NOTE: use the first digit as a series id but don't use 9!