80-Bus News |
September–October 1983, Volume 2, Issue 5 |
|
|
|
Page 62 of 67 |
|
|
|
---|
62
The program goes like this:
10 DIM N$(300),P$(300): ‘ Set up the maximum size of the arrays. 20 ‘ Reload the names array counting the number of entries in N. 30 ‘ Reload the phone numbers array.
40 ‘
50 ‘ Get the input name
60 INPUT “What is the name please (enter E to end) “;I$
70 IF I$="E” THEN 270
80 ,
90 ‘ Start the search of N$(A) for a match with I$
100 FOR A=0 TO N
110 IF N$(A)=I$ THEN 230
120 NEXT
430 ‘’
140 ‘ No find so see if it’s to be added, if so add it
150 INPUT “The name wasn’t found, do you want to add it (Y/N) “;J$ 160 IF J$="N” THEN PRINT: GOTO 60
170 N=N+1
180 INPUT “What is the new name please “;N$(N)
190 INPUT “What is the new number please “;P$(N)
200 PRINT: GOTO 60
210 ‘
220 ‘ Name found so print the result
230 PRINT I$;"’s phone number is “;P$(A)
240 PRINT: GOTO 60
250 *
260 ‘ End, so save the arrays
270 ‘ Down load from N$(0) to N$(N) to save the names
280 ‘ Down load from N$(O) to NS(N) to save the phone numbers 290 END
All very easy stuff, using two parallel one dimensional arrays, one, N$(n) as the key, the second P$(n) as the data. Notice that I chose to use a. string array for P$(n) even though it only contains numbers. This is because it needn’t only contain numbers, for instance I always write phone numbers, __-___-____, which certainly isn’t numeric (that isn’t my number by the way, so don’t try it.) Or P$(n) could contain an address as well as the phone number, or recipes (short ones as string length is restricted to 255 characters), or, well, you name it.
THE HARDER BIT
Having looked at both types of commonly used database, the random access and the sequential (and the sequential free field type) and having looked at the way in which the data would be split up into fields within the records in the file (neat summary that, databases consist of fields in a record in a file). It is plainly obvious that both types of database have snags when it comes to access. The sequential database can usually only be looked at in a sequential manner, which means that if the file is of any length, then access time to any record will depend on the position of that record within the file. If it happens to be at the end of the file it just takes a long time to get at, tuff!! The problem with the random access file is not so much the access time, it only takes a few milliseconds to move the disk head to the correct track/sector position, but how the devil do you know which is the correct track/sector position.
This is an OCR’d version of the scanned page and likely contains recognition errors.
|
|
|
Page 62 of 67 |
|
|
|
---|