Index Sequential Access Method (ISAM)

Anything QL Software or Programming Related.
Post Reply
User avatar
RalfR
Aurora
Posts: 871
Joined: Fri Jun 15, 2018 8:58 pm

Index Sequential Access Method (ISAM)

Post by RalfR »

In 1986+, someone has written an article and a program in the german Quasar magazine about a file-based database in the often used Unix style ISAM.

I do not know if this program was ever made public. If someone has the magazines (mine are lost), I would be very interested in this article. Perhaps there are other programs of that kind.


4E75 7000
User avatar
Sparrowhawk
Super Gold Card
Posts: 624
Joined: Wed Dec 15, 2010 12:33 pm
Location: @131072
Contact:

Re: Index Sequential Access Method (ISAM)

Post by Sparrowhawk »

I'd also be very interested in this - I never knew that there was an ISAM implementation for QDOS.


a.k.a. Jean-Yves
User avatar
RalfR
Aurora
Posts: 871
Joined: Fri Jun 15, 2018 8:58 pm

Re: Index Sequential Access Method (ISAM)

Post by RalfR »

Sparrowhawk wrote:I'd also be very interested in this - I never knew that there was an ISAM implementation for QDOS.
Well, "implemented" would be a bit exaggerated, it was more of a simple SB program, but it represented the rudimentary functions.


4E75 7000
Derek_Stewart
Font of All Knowledge
Posts: 3932
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Index Sequential Access Method (ISAM)

Post by Derek_Stewart »

Hi,

I used to have some Quasar software, which I will have to look at some floppy disks.

Can DBAS not be programmed to ISAM routines?


Regards,

Derek
User avatar
dilwyn
Mr QL
Posts: 2753
Joined: Wed Dec 01, 2010 10:39 pm

Re: Index Sequential Access Method (ISAM)

Post by dilwyn »

RalfR wrote:In 1986+, someone has written an article and a program in the german Quasar magazine about a file-based database in the often used Unix style ISAM.

I do not know if this program was ever made public. If someone has the magazines (mine are lost), I would be very interested in this article. Perhaps there are other programs of that kind.
I have quite a few of the Quasar disks. I did a fairly quick search but couldn't find anything I recognised as something which could be an ISAM article set of files. If you can remember anything else about the article, Ralf, it might help us to find the matching disks if ever the article listing was released on disk.

For anyone who's never come across ISAM, here's a short quote from the Wikipedia entry for ISAM:
ISAM (an acronym for indexed sequential access method) is a method for creating, maintaining, and manipulating computer files of data so that records can be retrieved sequentially or randomly by one or more keys. Indexes of key fields are maintained to achieve fast retrieval of required file records in Indexed files. IBM originally developed ISAM for mainframe computers, but implementations are available for most computer systems.
https://en.wikipedia.org/wiki/ISAM


User avatar
RalfR
Aurora
Posts: 871
Joined: Fri Jun 15, 2018 8:58 pm

Re: Index Sequential Access Method (ISAM)

Post by RalfR »

Well, I do not know, if the program was ever put on one of the disks. It was just half a page. The only thing I am very sure of, is that it was written by Wolf-Dieter Metzke. I once asked him (20+ years ago), but he can't remember anything special.

What I really remember is, that article and listing were on the right page side. But this is not very helpful :shock: .

I'm sorry :oops:


4E75 7000
User avatar
NormanDunbar
Forum Moderator
Posts: 2251
Joined: Tue Dec 14, 2010 9:04 am
Location: Leeds, West Yorkshire, UK
Contact:

Re: Index Sequential Access Method (ISAM)

Post by NormanDunbar »

dilwyn wrote:For anyone who's never come across ISAM...
Ah! Happy days. ISAM was much loved in COBOL programs way back when I was just a lad in my twenties, it probably still is, there's plenty COBOL stuff still going these days.

Basically, if I am remembering correctly, your ISAM file had a date part and an index part. They were probably separate entities but they appeared as one file. In your code, you defined a space to hold the data read from the file, and named the various fields of the record layout. To do an indexed read of the file, you moved" the value you wanted to lookup into the index column(s) in the data are for the record, then simply read the file. After reading, you checked the status and if ok, then the value you asked for was found, and the data area now holds your entire record, ready to be abused.

I once tried to set something like this up in SuperBASIC for a couple of wee apps -- a Post Code lookup system and an STD dialing code lookup -- The data were in big text files and I created an index by reading the file and writing out the offset to each 'A', 'B', 'C' and so on (or 01, 02, 03 ... for the STD). I had an index on the post code and one on the location, (alos the dial code and the location) -- two indexes per file.

When I wanted to check the post code for a specific location, I used the location offset to get me into the right general area in the file, then read until I found it, and when I needed the area for a post code, used the other index to do the same. It's faster to read the index file and then part of the data file, rather than reading through the data file itself until you hit the required data. Mostly! If the data you want is near the start, it could be quicker to just read the data file. ;)




Cheers,
Norm.


Why do they put lightning conductors on churches?
Author of Arduino Software Internals
Author of Arduino Interrupts

No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
User avatar
RalfR
Aurora
Posts: 871
Joined: Fri Jun 15, 2018 8:58 pm

Re: Index Sequential Access Method (ISAM)

Post by RalfR »

In our company we used MAI Basic Four Computers running Omega Thoroughbred Multiuser Basic up until 1986, which used ISAM. We used self-written programs. Even with over 60000 parts, it was very fast to find a part and view it on the screen.


4E75 7000
Post Reply