relational database questions

David Groover Photographer at thegoldenthread.net
Tue Apr 29 09:41:40 PDT 2008


Welcome gef. You are going to get lots of good information to your  
question here. I can fill you in on the basics but I am sure others  
will provide the meat you are seeking. Panorama is a relational DB,  
but it acts like a flat file DB. You  wont use tables in Pan,  
although most Pan programers will create separate DBs with the  
different parts and use lookups to pull together matching data like  
you asked about, so I guess this is a table arrangement of sorts.

Panorama is ram based so it doesn't really need tables. Meaning, the  
lookup speed of Panorama to relate data parts is fast enough you can  
do much of it on the fly. Using arrays is a key part of Panorama  
skill. You can do so much using arrays that in truth the array seems  
almost like a database with your database.

Panorama programing language is similar to ASCII which means it has a  
small footprint. Add in not needing to create join tables all over  
the place and that is a good part of why Panorama has such a small  
footprint.

To answer your question more concretely, here is a recent example I  
used:

arraybuild LiveClairvoyanceResults,¶,"",  ?(Marked CONTAINS  
"mark",Name,"")

The resulting variable "LiveClairvoyanceResults" was filled by the  
arraybuild. In this case it was quite simple to gather all my marked  
records and place them in a return separated array. You could easily  
expand the formula part of the arraybuild ... ?(Marked CONTAINS  
"mark",Name,"") ... and use lookup for other databases and pull in  
exactly what you are looking for.

When I said the array is almost like a database within a database, in  
this example I can now use the results from the arraybuild  
(LiveClairvoyanceResults) and perform any actions on those results I  
want. I can fold many actions over other actions so that, again, you  
can bring together matching data, reverse sort it, edit it, do what  
you like with it, and place it where ever you want it to go.

But as I was saying, others on this list can provide a better  
understanding of your question than I can. I hope this helped.

David Groover



On Apr 29, 2008, at 10:19 AM, gef wrote:

> Hi there,
>
> I haven't programmed in panorama fro many years now, and I am back to
> it. Meanwhile I've played with filemaker which gave me some
> frustration (like how awful filemaker is with date and ranges, and
> how it's scripting really annoy me)  but which also have few
> interesting points.
>
> One is the visual mapping of a database table, another was the
> ability to have the related entry from another table on one form and
> the third was it's use of relational information, i.e. if I have a
> table of customer and a sales table, my sales table doesn't need to
> have the customer name and last name field since it fetch the
> information directly with it's relation with the client id.
>
> I am building a donor table to be added to a customer relation
> management table. I am not sure which way to go. My first idea was to
> built a table for donor, which would keep the mainuserid, create a
> donorID# and datecreated, and I would create also a table for
> donation, which would record donorID# donationID# donation$
> donationDate etc...
>
> So my questions are, first in panorama can I display the related
> information from one table in another (in the donor table form to
> display as well the related donations). I am also wondering the line
> Item use. Is this kind of against the idea of relational database ?
> and am I kind of force to the use of line item when I want to work
> with multiple item invoice or donation?
>
> Looking forward to play more with panorama !
>
>
> _______________________________________________
> Qna mailing list
> Qna at provue.com
> http://provue.com/mailman/listinfo/qna



More information about the Qna mailing list