• I did something similar several years ago (dBXL, so maybe more than several!). It was for our trade show booth, so we had it up on the biggest screen we could find (eventually a projector).

    My structure was a bit different, to say the least. I had Registrant, Event, Registration, Prize, EventPrize and Award tables (just guessing at the names at this late date). Registrant was name, phone, etc. Event was event name, start-end date, etc. Registration was to track who was registered for which event and had unique indexes to prevent multiple registrations for a single event. Prize was the list of prizes and EventPrize was to track which prizes were available to which events. EventPrize included a quantity field so that multiples of a given prize could be available to any event and had unique indexes to prevent any prize from being listed more than once for each event. The Award table joined Registration and Prize. There was a unique index to prevent any Registration from winning more than one prize.

    The heart of the matter was some code to fill the Award table by randomly selecting Registrations and EventPrizes until the number of Award records per EventPrize equaled the quantity set in EventPrize. If I recall correctly, I managed the selection pool for prizes and used some kind of error handling to deal with 're-picks' of winners. (I wanted to learn how to do both things and any delays in picking a winner just added to the suspense during the draw.)

    The fun part was figuring out how to make the 'drawing' flashy. I filled the screen by cycling up through the ASCII table for each letter in a winner's name until I hit the right letter for that position in the name. Actually, the whole thing was fun: this was my very first production quality relational database and was as much a learning exercise as anything else, although they did use that program for about 20 trade shows over the course of 4 or 5 years.

    People could type in their own info, but we also had a couple of people working as data entry clerks to handle business cards and verbal registrations. That data entry program was pretty neat, too, but that's for a different day 🙂