Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VFP not mentioned in MSDN subscription ad
Message
 
To
30/01/2002 10:07:03
Walter Meester
HoogkarspelNetherlands
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00605216
Message ID:
00612792
Views:
37
Walter,
>>
>>One significant difference between an SQL Server table and a VFP table is that the latter is file based. This is part of the definition of what an IASM table is. IOW, you cannot open an ISAM table without retrieving all the records.
>
>I'm sure you don't mean this. Of course I could OPEN a VFP table without retrieving all its records, else it would be impossible to work with 2 gig files on a network.

I certainly do mean it. Issue GOTO BOTTOM on an ISAM (VFP table) an you go to the last record in the table (file). Issue GOTO BOTTOM in SQL Server, and you go to the last record in the result set. Whether or not the result set contains all the records or not is another issue. If they do, then SQL server is being treated as an ISAM table. Being treated as is not the same as being an ISAM table. As a point of fact, VFP loads as much of the table into memory as it can.

One other difference is that with an ISAM table. Since ISAM is only capable of a positioned update, it takes at least two round trips to the backend. One to position the row, the other to actually commit the changes. An a SQL set based operation, it requires only one trip to the server, telling it to update the records that meet a specified criteria.


>I'll give you the tables are file based argument, but the database container itself is a container that could be compared with the one datafile a DBMS stores its information in. To me this is not as black and white here.

Yes and you can do many of the things with a VFP database that you can do with SQL server, but the tables are still ISAM.

>>You can with SQL Server because it requires you to describe what records you want. A VFP query requires that the underlying table (all of it) be opened and, therefore, cannot be considered to be the same.
>
>How could you partually open a table ? I don't quite get what you're saying here. Both VFP and SQL have optimizing mechanisms (e.g. rushmore) that make it possible only to retrieve the records you want without sequentially scanning the table.

Sure, that's the way SQL Server is built. Just because you add a record to a SQL Server table doesn't mean that it is physically the last record in table. SQL Server, as I recall, is page based with the pages accessed through a binary tree index.

>>One can treat SQL Server tables as ISAM, but that could be a significant design mistake depending on the underlying nature of the table(s).
>
>The internal schema of a Server DBMS is ussually seperated from the external one, thus it is ussually invisible for the developers of how it is implemented. Therefore I don't see the value of if a Server DBMS is ISAM based or not. In VFP OTOH there is no distinction between internal or external scheme's: Index files, Tables, physical storage are very visible and could be accessed from VFP (or the filesystem) directly. This is both VFPs strenght as weakness: On one hand you have maximum control and flexibility, OTOH the 'encapsulation' and therefore the protection and authorisation of the VFP database is virtually null.
>
The internal mechanisms are extremely different. Read "Inside SQL Server 7.0".
George

Ubi caritas et amor, deus ibi est
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform