foxpro file mantain notes

94
Introduction to Visual FoxPro The purpose of this course is to introduce you to ways to apply FoxPro to your day to day microcomputer work. FoxPro is a database management program for the IBM and compatible computers. It is produced by Fox Software (a Microsoft Corporation company). FoxPro is compatible with most of the commands, programs and files. This course is divided into six main sections: introduction to databases, general maintenance functions, database design, searching, indexing, and reporting. The terminology and concepts provide a base for FoxPro "literacy". The class exercises provide "hands-on" experience. The course is designed for the first-time FoxPro user. More than 70% of the class time is hands-on use of FoxPro. Objectives Become familiar with the terminology and major functions of a database management system (DBMS) using the new DBC or Database Container file. Edit existing, add new, and delete old database records from Visual FoxPro’s new Data Session window, as well as from the command window. Design and create a database system using Visual FoxPro Search the database for particular information using the new Query Wizard Index the database to view it in different orders Design and run a report on the database file using the Report designer. Microsoft Access From Wikipedia, the free encyclopedia Jump to: navigation , search

Upload: angelmaheshwari

Post on 17-Nov-2014

153 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Foxpro File Mantain Notes

Introduction to Visual FoxPro

The purpose of this course is to introduce you to ways to apply FoxPro to your day to day microcomputer work. FoxPro is a database management program for the IBM and compatible computers. It is produced by Fox Software (a Microsoft Corporation company). FoxPro is compatible with most of the commands, programs and files.

This course is divided into six main sections: introduction to databases, general maintenance functions, database design, searching, indexing, and reporting. The terminology and concepts provide a base for FoxPro "literacy". The class exercises provide "hands-on" experience.

The course is designed for the first-time FoxPro user. More than 70% of the class time is hands-on use of FoxPro.

Objectives

Become familiar with the terminology and major functions of a database management system (DBMS) using the new DBC or Database Container file.

Edit existing, add new, and delete old database records from Visual FoxPro’s new Data Session window, as well as from the command window.

Design and create a database system using Visual FoxPro Search the database for particular information using the new Query Wizard Index the database to view it in different orders Design and run a report on the database file using the Report designer.

Microsoft AccessFrom Wikipedia, the free encyclopedia

Jump to: navigation, search

This article needs additional citations for verification.Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (August 2006)

The neutrality of this article is disputed. Please see the discussion on the talk page. Please do not remove this message until the dispute is resolved. (February 2009)

Microsoft Access

Page 2: Foxpro File Mantain Notes

Office Access 2010 running on Microsoft Windows XP.

Developer(s) Microsoft

Initial release 1.0 / November 1992

Stable release12.0.6425.1000 (2007 SP2) / 2009-04-

28; 8 months ago

Operating system Microsoft Windows

Type RDBMS

License Proprietary EULA

Website http://office.microsoft.com/access

Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software development tools. It is a member of the Microsoft Office suite of applications and is included in the Professional and higher versions for Office and also sold separately.

Access stores data in its own format based on the Access Jet Database Engine. It can also import or link directly to data stored in other Access databases, Excel, SharePoint lists, text, XML, Outlook, HTML, dBase, Paradox, Lotus 1-2-3, or any ODBC-compliant data container including Microsoft SQL Server, Oracle, MySQL and PostgreSQL. Software developers and data architects can use it to develop application software and non-programmer "power users" can use it to build simple applications. Like other Office applications Access is supported by Visual

Page 3: Foxpro File Mantain Notes

Basic for Applications, an object-oriented programming language that can reference a wide variety of objects, including DAO (Data Access Objects) and ActiveX Data Objects, and many other ActiveX components provided by Microsoft or by third parties. Visual objects used in forms and reports expose their methods and properties gracefully in the VBA programming environment, and a huge selection of Windows operating system functions can be declared and called from VBA code modules, making Access a rich programming environment.

Contents

[hide]

1 History 2 Uses 3 Features 4 Development

o 4.1 Split Database Architecture o 4.2 Access to SQL Server Upsizing

5 Protection 6 File extensions 7 Versions 8 Competing software 9 References 10 External links

[edit] History

Access version 1.0 was released in 13 November 1992, quickly followed in May 1993 by an Access 1.1 release to improve compatibility with other Microsoft products and include the Access Basic programming language.

Microsoft specified the minimum hardware requirements for Access v2.0: Microsoft Windows v3.1 with 4 MB of RAM required, 6 MB RAM recommended; 8 MB of available hard disk space required, 14 MB hard disk space recommended. The product was shipped on seven 1.44 MB diskettes. The manual shows a 1993 copyright date.

Originally, the software worked well with relatively small databases but testing showed some circumstances caused data corruption. For example, file sizes over 10 MB were problematic (note that most hard disks were smaller than 500 MB at the time this was in wide use), and the Getting Started manual warns about a number of circumstances where obsolete device drivers or incorrect configurations can cause data loss. With the phasing out of Windows 95, 98 and ME, improved network reliability, and Microsoft having released 8 service packs for the Jet Database Engine, the reliability of Access databases has been vastly improved in both size and number of users.

Page 4: Foxpro File Mantain Notes

With Office 95, Microsoft Access 95 became part of the Microsoft Office Professional Suite joining Microsoft Excel, Word, and PowerPoint and transitioning from Access Basic to Visual Basic for Applications (VBA). Since then, there have been releases of Microsoft Access with each release of Office. This includes Access 97 (version 8.0), Access 2000 (version 9.0), Access 2002 (version 10.0), Access 2003 (version 11.5), and Access 2007 (version 12.0).

The native Access database format (the Jet MDB Database) has also evolved over the years. Formats include Access 1.0, 1.1, 2.0, 95, 97, 2000, 2002, and 2007. The most significant transition was from the Access 97 to the Access 2000 format; which is not backward compatible with earlier versions of Access. At the time of this writing, all newer versions of Access support the Access 2000 format. New features were added to the Access 2002 format which can be used by Access 2002, 2003, and 2007.

In Access 2007, a new database format was introduced: ACCDB. The ACCDB supports complex data types such as multivalue and attachment fields. These new field types are essentially recordsets in fields and allow the storage of multiple values in one field.

Prior to the introduction of Access, the desktop database market was dominated by Borland with their Paradox and dBase programs, and FoxPro. Microsoft Access was the first mass market database program for Windows. With the purchase of FoxPro and incorporating its Rushmore query optimization routines into Access, Microsoft Access quickly became the dominant database for Windows effectively eliminating the competition which failed to transition from the MS-DOS world.[1]

Access's initial codename was Cirrus; the forms engine was called Ruby. This was before Visual Basic - Bill Gates saw the prototypes and decided that the BASIC language component should be co-developed as a separate expandable application, a project called Thunder. The two projects were developed separately as the underlying forms engines were incompatible with each other; however, these were merged together again after VBA.

Access was also the name of a communications program from Microsoft, meant to compete with ProComm and other programs. This proved a failure and was dropped.[2] Years later, Microsoft reused the name for its database software.

[edit] Uses

Microsoft Access is used to create simple database solutions. Access tables support a variety of standard field types, indices, and referential integrity. Access also includes a query interface, forms to display and enter data, and reports for printing. The underlying Jet database, which contains these objects, is multiuser-aware and handles record-locking and referential integrity including cascading updates and deletes.

Simple tasks can be automated through macros with point-and-click options. Microsoft Access is very popular among non-programmers who can create visually pleasing and relatively advanced solutions on their own. It is also easy to place a database on a network and have multiple users

Page 5: Foxpro File Mantain Notes

share and update data without overwriting each other’s work. Data is locked at the record level which is significantly different from Excel which locks the entire spreadsheet.

Microsoft offers a wide range of template databases within the program and for download from their website. These options are available upon starting Access and allow users to quickly use and enhance a database with pre-defined tables, queries, forms, reports, and macros. Popular templates include tracking contacts, assets, issues, events, projects, and tasks. Templates do not include VBA code.

Microsoft Access also offers the ability for programmers to create solutions using the programming language Visual Basic for Applications (VBA), which is similar to Visual Basic 6.0 (VB6) and used throughout the Microsoft Office programs such as Excel, Word, Outlook and PowerPoint. Most VB6 code including the use of Windows API calls, can be used in VBA. Power users and developers can extend basic end-user solutions to a professional solution with advanced automation, data validation, error trapping, and multi-user support.

Database solutions created entirely in Microsoft Access are well suited for individual and workgroup use across a network. The number of simultaneous users that can be supported depends on the amount of data, the tasks being performed, level of use, and application design. Generally accepted limits are solutions with 1 GB or less of data (Access supports up to 2 GB) and 50 or fewer simultaneous users. This is appropriate for workgroup and department solutions where the total number of users number a few hundred.

Applications that simply view data or have simple data entry can support considerably more users. Applications that run complex queries or analysis across large datasets would naturally require greater bandwidth and memory. Microsoft Access is designed to scale to support more data and users by linking to multiple Access databases or using a back-end database like Microsoft SQL Server. With the latter design, the amount of data and users can scale to enterprise-level solutions.

Microsoft Access' role in web development is limited. User interface features of Access, such as forms and reports, only work in Windows. The Microsoft Jet Database Engine, core to Access, can be accessed through technologies such as ODBC or OLE DB. The data (i.e., tables and queries) can be accessed by web-based applications developed in ASP.NET, PHP, or Java. Many ISPs offer Microsoft Access as a data storage option.

Access 2010 will allow forms and reports to be published to web sites - but only those using Microsoft's proprietary Sharepoint hosting software. These web based forms and reports run in any standard browser. The resulting web forms and reports when run in the browser don't requite any activeX nor add-ins like Silverlight. Thus, the resulting application can be used by running FireFox on ubuntu Linux for example (windows or any add-ins are not required to consume these web applications built with access 2010).

In enterprise environments, Microsoft Access is particularly appropriate for meeting end-user database needs and for rapid application development. Microsoft Access is easy enough for end users to create their own queries, forms and reports, laying out fields and groupings, setting

Page 6: Foxpro File Mantain Notes

formats, etc. This frees up the professional developers to focus on more complex portions of the application.

A compiled MDE or ACCDE version of an Access database can be created to prevent users from getting to the design surfaces to modify module code, forms, and reports. This is often used in environments where end-user modifications are discouraged or the application's code should be kept private.

Microsoft offers a runtime version of Microsoft Access 2007 for download. This allows people to create Access solutions and distribute it for use by non-Microsoft Access owners (similar to the way DLLs or EXEs are distributed). Unlike the regular version of Access, the runtime version allows users to use the Access application but they cannot use its design surfaces.

Microsoft also offers developer extensions for download to help distribute Access applications, create database templates, and integrate source code control with Microsoft Visual SourceSafe.

[edit] Features

Users can create tables, queries, forms and reports, and connect them together with macros. Advanced users can use VBA to write rich solutions with advanced data manipulation and user control.

The original concept of Access was for end users to be able to “access” data from any source. Other uses include: the import and export of data to many formats including Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server, Oracle, ODBC, etc. It also has the ability to link to data in its existing location and use it for viewing, querying, editing, and reporting. This allows the existing data to change and the Access platform to always use the latest data. It can perform heterogeneous joins between data sets stored across different platforms. Access is often used by people downloading data from enterprise level databases for manipulation, analysis, and reporting locally.

There is also the Jet Database format (MDB or ACCDB in Access 2007) which can contain the application and data in one file. This makes it very convenient to distribute the entire application to another user, who can run it in disconnected environments.

One of the benefits of Access from a programmer's perspective is its relative compatibility with SQL (structured query language) — queries can be viewed graphically or edited as SQL statements, and SQL statements can be used directly in Macros and VBA Modules to manipulate Access tables. Users can mix and use both VBA and "Macros" for programming forms and logic and offers object-oriented possibilities. VBA can also be included in queries.

Microsoft Access offers parameterized queries. These queries and Access tables can be referenced from other programs like VB6 and .NET through DAO or ADO. From Microsoft Access, VBA can reference parameterized stored procedures via ADO.

Page 7: Foxpro File Mantain Notes

The desktop editions of Microsoft SQL Server can be used with Access as an alternative to the Jet Database Engine. This support started with MSDE (Microsoft SQL Server Desktop Engine), a scaled down version of Microsoft SQL Server 2000, and continues with the SQL Server Express versions of SQL Server 2005 and 2008.

Microsoft Access is a file server-based database. Unlike client-server relational database management systems (RDBMS), Microsoft Access does not implement database triggers, stored procedures, or transaction logging. Access 2010 (not released) does have table level triggers and stored procedures built into the ACE data engine.

[edit] Development

All database tables, queries, forms, reports, macros, and modules are stored in the Access Jet database as a single file.

For query development, Access offers a Query Designer, a graphical user interface that allows users to create queries without knowledge of the SQL programming language. In the Query Designer, users can "show" the datasources of the query (which can be tables or queries) and select the fields they want returned by clicking and dragging them into the grid. Joins can be created by clicking and dragging fields in tables to fields in other tables. Access allows users to view and manipulate the SQL code if desired. Any Access table, including linked tables from different data sources, can be used in a query.

Access also supports the creation of Pass-Through queries. These are queries that can be linked to external data sources through the use of ODBC connections on the local machine. This enables users to interact with data stored outside the Access programme without using linked Tables. The Pass-Through queries are written using the SQL syntax supported by the external data source.

When developing Reports that are linked to Queries placing or moving items in the design view of the Report, Access runs the linked query in the background on any placement or movement of an item in that Report. If the Report is linked to a Query that takes a long time to return records this forces you to wait until the query has run before you can add/edit or move the next item in the Report (this feature cannot be turned off).

Non-programmers can use the macro feature to automate simple tasks through a series of drop down selections. Macros allow users to easily chain commands together such as running queries, importing or exporting data, opening and closing forms, previewing and printing reports, etc. Macros support basic logic (IF conditions) and the ability to call other macros. Macros can also contain sub-macros which are similar to subroutines. In Access 2007, macros are significantly enhanced with the inclusion of error handling and temporary variable support. Access 2007 also introduces embedded macros that are essentially properties of an object's event. This eliminates the need to store macros as individual objects. Macros however, are limited in their functionality by a lack of programming loops and advanced coding logic. Most professional Access developers use the VBA programming language for a richer and more powerful development environment.

Page 8: Foxpro File Mantain Notes

The programming language available in Access is, as in other products of the Microsoft Office suite, Microsoft Visual Basic for Applications, which is nearly identical to Visual Basic 6.0 (VB6). VBA code can be stored in modules and code behind forms and reports. Modules can also be classes.

To manipulate data in tables and queries in VBA, two database access libraries of COM components are provided: the Data Access Objects (DAO), which is included in Access and Windows and evolved to ACE in Microsoft Access 2007 for the ACCDE database format, and ActiveX Data Objects ActiveX Data Objects (ADO). Beside DAO and ADO, developers can also use OLE DB and ODBC for developing native C/C++ programs for Access.[3] For ADPs and the direct manipulation of SQL Server data, ADO is required. DAO is most appropriate for managing data in Access/Jet databases, and the only way to manipulate the complex field types in ACCDB tables.

In the database container or navigation pane of Access 2007, Access automatically categorizes each object by type. Many Access developers use the Leszynski naming convention, though this is not universal; it is a programming convention, not a DBMS-enforced rule.[4] It is particularly helpful in VBA where references to object names may not indicate its data type (e.g. tbl for tables, qry for queries).

Microsoft Access is most often used for individual and workgroup projects (the Access 97 speed characterization was done for 32 users).[5] Since Access 97, and with Access 2003 and 2007, Microsoft Access and hardware have evolved significantly. Databases under 1 GB in size (which can now fit entirely in RAM) and 50 simultaneous users are well within the capabilities of Microsoft Access. Of course, performance depends on the database design and tasks. Disk intensive work such as complex searching and querying are the most time consuming.

As data from a Microsoft Access database can be cached in RAM, processing speed may be substantially better when there is only a single user or if the data is not changing. In the past, the effect of packet latency on the record locking system caused Access databases to be too slow on Virtual Private Network (VPN) or Wide Area Network (WAN) against a Jet database. This is less of an issue now with broadband connections. Performance can also be enhanced if a continuous connection is maintained to the back end database throughout the session rather than opening and closing it for each table access. If Access Database performance over VPN or WAN suffers, then Microsoft Terminal Services is an effective solution. Access databases linked to SQL Server or Access Data Projects work great over VPN and WAN.

[edit] Split Database Architecture

Microsoft Access applications can adopt a split database architecture. The database can be divided into a front end database that contains the application objects (queries, forms, reports, macros, and modules), and is linked to tables stored in a back end shared database containing the data. The 'back-end' database can be stored in a location shared by many users, such as a file server. The 'front-end' database is distributed to each user's desktop and linked to the shared database. Using this design, each user has a copy of Microsoft Access installed on their machine along with their application database. This reduces network traffic since the application is not

Page 9: Foxpro File Mantain Notes

retrieved for each use, and allows the front end database to contain tables with data that is private to each user for storing settings or temporary data. This split database design also allows development of the application independent of the data. When a new version is ready, the front end database is replaced without impacting the data database. Microsoft Access has two built-in utilities, Database Splitter and Linked Table Manager, to facilitate this architecture.

Linked tables in Access use absolute paths rather than relative paths, so the development environment either has to have the same path as the production environment or a "dynamic-linker" routine can be written in VBA.

[edit] Access to SQL Server Upsizing

To scale Access applications to enterprise or web solutions, a recommended technique is to migrate to Microsoft SQL Server or equivalent server database. A client-server design significantly reduces maintenance and increases security, availability, stability, and transaction logging.

Access includes an Upsizing Wizard that allows users to upsize their databases to Microsoft SQL Server an ODBC client-server database. An additional solution, the SQL Server Migration Assistant for Access(SSMA), is also available for download from Microsoft.[6]

A variety of upsizing options are available.[7] After migrating the data and queries to SQL Server, the MDB/ACCDB Access database can be linked to the database. This is the easiest migration and most appropriate if the user does not have rights to create objects such as stored procedures on SQL Server. Retrieving data from linked tables is optimized to just the records needed, but are not as efficient for multi-table joins that may require copying the whole table across the network.

Access databases can also be converted to an Access Data Projects (ADP) which is tied directly to one SQL Server database. ADPs support the ability to directly create and modify SQL Server objects such as tables, views, stored procedures, views, and SQL Server constraints. The views and stored procedures can significantly reduce the network traffic for multi-table joins. Unfortunately, ADPs do not support temporary tables or link to other data sources beyond the single SQL Server database. (MDB/ACCDB databases can link to a variety of data sources and let you perform heterogeneous queries across them).

Finally, some Access databases are completely replaced by another solution such as ASP.NET or Java once the data is converted.

In many cases, hybrid solutions are created where web interfaces are built by developers using ASP.NET, while administrative or reporting features that don't need to be distributed to everyone and/or change often, are kept in Access for information workers to maintain.

While all Access data can migrate to SQL Server, it should be noted that Access queries are richer than SQL Server queries, so some queries cannot migrate successfully. In some situations, you may need to translate VBA functions and user defined functions into TSQL or .NET

Page 10: Foxpro File Mantain Notes

functions / procedures. Crosstab queries can be migrated to SQL Server using the PIVOT command.

[edit] Protection

Microsoft Access offers several ways to secure the application while allowing users to remain productive.

The most basic is a database password. Once entered, the user has full control of all the database objects. This is a relatively weak form of protection which can be easily cracked.

A higher level of protection is the use of workgroup security requiring a user name and password. Users and groups can be specified along with their rights at the object type or individual object level. This can be used to specify people with readonly or data entry rights but may be challenging to specify. A separate workgroup security file contains the settings which can be used to manage multiple databases. Workgroup security is not supported in the Access 2007 ACCDB database format, although Access 2007 still supports it for MDB databases.

Databases can also be encrypted. The ACCDB format offers significantly advanced encryption from previous versions [1].

Additionally, if the database design needs to be secured to prevent changes, Access databases can be locked/protected (and the source code compiled) by converting the database to a .MDE file. All changes to the VBA project (modules, forms, or reports) need to be made to the original MDB and then reconverted to MDE. In Access 2007, the ACCDB database is converted to an ACCDE file. Some tools are available for unlocking and 'decompiling', although certain elements including original VBA comments and formatting are normally irretrievable.

[edit] File extensions

Microsoft Access saves information under the following file formats:

File format Extension

Access Project .adp

Access Blank Project Template .adn

Access Database (2007) .accdb

Page 11: Foxpro File Mantain Notes

Access Database Runtime (2007) .accdr

Access Database Template (2007) .accdt

Access Database (2003 and earlier) .mdb

Access Database, used for addins (2,95,97), previously used for workgroups (2).

.mda

Access Database Template (2003 and earlier) .mdt

Access Workgroup, database for user-level security. .mdw

Access (SQL Server) detached database (2000) .mdf

Protected Access Database, with compiled VBA (2003 and earlier) .mde

Protected Access Database, with compiled VBA (2007) .accde

Windows Shortcut: Access Macro .mam

Windows Shortcut: Access Query .maq

Windows Shortcut: Access Report .mar

Windows Shortcut: Access Table .mat

Windows Shortcut: Access Form .maf

Page 12: Foxpro File Mantain Notes

[edit] Versions

Date VersionVersionnumber

Supported OS Office suite version

1992 Access 1.1 1 Windows 3.0

1993 Access 2.0 2.0 Windows 3.1x Office 4.3 Pro

1995Access for Windows 95

7.0 Windows 95 Office 95 Professional

1997 Access 97 8.0Windows 9x, NT 3.51/4.0

Office 97 Professional and Developer

1999 Access 2000 9.0Windows 9x, NT 4.0, 2000

Office 2000 Professional, Premium and Developer

2001 Access 2002 10Windows 98, Me, 2000, XP

Office XP Professional and Developer

2003 Access 2003 11Windows 2000, XP,Vista

Office 2003 Professional and Professional Enterprise

2007Microsoft Office Access 2007

12Windows XP SP2, Vista

Office 2007 Professional, Professional Plus, Ultimate and Enterprise

24-Apr-2009

Microsoft Office Access 2007 SP2

12Windows XP SP2, Vista

Office 2007 Service Pack 2

There are no Access versions between 2.0 and 7.0 because the Windows 95 version was launched with Word 7. All of the Office 95 products have OLE 2 capabilities, and Access 7 shows that it was compatible with Word 7.

Page 13: Foxpro File Mantain Notes

[edit] Competing software

Alpha Five Borland Paradox DataEase dBase FileMaker Pro (formerly Claris Filemaker) Kexi Lotus Approach NeoOffice OpenOffice.org Base Oracle XE (Express Edition) Sun StarBase Foxpro (later acquired by Microsoft) SQLite Sybase PowerBuilder MySQL nuBuilder PostgreSQL Omnis Studio Microsoft SQL Server Express

[edit] References

1. ̂ Microsoft Access History 2. ̂ Where did the name for Microsoft Access come from? 3. ̂ Aleksandar Jakšić (08 2008). "Developing Access 2007 Solutions with Native C or C++".

Microsoft Corporation. http://msdn.microsoft.com/en-us/library/cc811599.aspx. Retrieved 2008-09-22.

4. ̂ Naming Conventions for Microsoft Access 5. ̂ Kevin Collins (Microsoft Jet Program Management), "Microsoft Jet 3.5 Performance Overview

and Optimization Techniques", MSDN. Retrieved July 19, 2005. 6. ̂ http://www.microsoft.com/sqlserver/2005/en/us/migration-access.aspx 7. ̂ http://www.fmsinc.com/FMSUpsize/docs/EvolvingMicrosoftAccessApplications.pdf

[edit] External links

Access Team Blog Microsoft Access Home Page Microsoft Access Newsgroups Microsoft Access 3rd Party Tools FAQ site about Microsoft Access Microsoft Access within an Organization's Database Strategy Microsoft Access Performance Tips Microsoft Access Error Numbers and Description Reference Microsoft Access for Beginners

Page 14: Foxpro File Mantain Notes

AccessBlog.net - Tips and tricks on Microsoft Access MS Access Tutorials and Examples

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

[show] v • d • e

Microsoft OfficeFor

WindowsOffice 95 · Office 97 · Office 2000 · Office XP · Office 2003 · Office 2007 · Office 2010 (upcoming)

For Mac OS Office 98 · Office 2001 · Office X · Office 2004 · Office 2008

Desktop

Accounting · Access · Communicator · Entourage · Excel · Groove · InfoPath · InterConnect · OneNote · Outlook (Outlook Connector · Add-ins) · PowerPoint · Project · Publisher · SharePoint Designer · Visio · Word

ServerCommunications Server · Forms Server · Groove Server · PerformancePoint Server · Project Server (Project Portfolio Server) · Office SharePoint Server (Excel Services · InfoPath Forms Services)

OnlineLive Meeting · Office Live · Office Online · Office Web Apps · Outlook Web Access

Mobile Office Mobile

Discontinued

Binder · Data Analyzer · FrontPage · Liquid Motion · Mail · Office Assistants · PhotoDraw · Photo Editor · Schedule+ · Vizact · Web Components

Office toolsClip Organizer · Graph · Document Imaging · Document Scanning · Equation Editor · Picture Manager · WordArt

Related Windows SharePoint Server · Microsoft Works · MapPoint

[show] v • d • e

Database management systems

Retrieved from "http://en.wikipedia.org/wiki/Microsoft_Access"Categories: Database management systems | Proprietary database management systems | Data-centric programming languages | Microsoft Office | Microsoft database software | Programming languages created in the 1990sHidden categories: Articles needing additional references from August 2006 | All articles needing additional references | NPOV disputes from February 2009 | All NPOV disputes | Wikipedia articles incorporating text from FOLDOC

Views

Article

Page 15: Foxpro File Mantain Notes

Discussion Edit this page History

Personal tools

Try Beta Log in / create account

Navigation

Main page Contents Featured content Current events Random article

Search

  Interaction

About Wikipedia Community portal Recent changes Contact Wikipedia Donate to Wikipedia Help

Toolbox

What links here Related changes Upload file Special pages Printable version Permanent link Cite this page

Languages

العربية Azərbaycan Bosanski Català Česky

Special:Search Go Search

Page 16: Foxpro File Mantain Notes

Deutsch Español Esperanto فارسی Français Gaeilge Galego 한국어 Hrvatski Bahasa Indonesia Italiano עברית Nederlands 日本語 Polski Português Română Русский Simple English Српски / Srpski Suomi Svenska ไทย Türkçe Українська Tiếng Việt יִידיש 中文

This page was last modified on 10 January 2010 at 22:23. Text is available under the Creative Commons Attribution-ShareAlike License;

additional terms may apply. See Terms of Use for details.Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Contact us Privacy policy About Wikipedia Disclaimers

You are invited to vote on the global sysops proposal. Click here for more [Hide]

Page 17: Foxpro File Mantain Notes

information. [Help us with translations!]

Visual FoxPro

From Wikipedia, the free encyclopedia

Jump to: navigation, search

"VFP" redirects here. For the floating-point extension of ARM processors, see ARM architecture#VFP.

Microsoft Visual FoxPro

Typical VFP9 editing session

Original author(s) Microsoft Corporation

Stable releaseVisual FoxPro 9.0 Service Pack 2 (SP2) / 2007-10-11; 2 years ago

Operating system Microsoft Windows

Platform x86 and greater

Available inIDE: English, German, SpanishRuntime: Above, French, Chinese, Russian, Czech, Korean

Development status Maintenance mode

Type Database Programming language

License Microsoft EULA

Website msdn.microsoft.com/vfoxpro

Page 18: Foxpro File Mantain Notes

Visual FoxPro is a data-centric object-oriented and procedural programming language produced by Microsoft. It is derived from FoxPro (originally known as FoxBASE) which was developed by Fox Software beginning in 1984. Fox Technologies merged with Microsoft in 1992, after which the software acquired further features and the prefix "Visual". The last version of FoxPro (2.6) worked under Mac OS, DOS, Windows, and Unix: Visual FoxPro 3.0, the first "Visual" version, dropped the platform support to only Mac and Windows, and later versions were Windows-only. The current version of Visual FoxPro is COM-based and Microsoft has stated that they do not intend to create a Microsoft .NET version.

FoxPro originated as a member of the class of languages commonly referred to as "xBase" languages, which have syntax based on the dBase programming language. Other members of the xBase language family include Clipper and Recital. (A history of the early years of xBase can be found in the dBase entry.)

Visual FoxPro, commonly abbreviated as VFP, is tightly integrated with its own relational database engine, which extends FoxPro's xBase capabilities to support SQL query and data manipulation. Unlike most database management systems, Visual FoxPro is a full-featured, dynamic programming language that does not require the use of an additional general-purpose programming environment. It can be used to write not just traditional "fat client" applications, but also middleware and web applications.

Contents

[hide]

1 Recent history

2 Version information

2.1 Operating system compatibility

2.2 Information on executable files

3 Code samples

3.1 Object

3.2 Data handling

3.3 ODBC access using SQL passthrough

4 Beta code names

5 References

6 External links

6.1 Microsoft pages

6.2 Other pages

Page 19: Foxpro File Mantain Notes

[edit] Recent history

In late 2002, it was demonstrated that Visual FoxPro can run on Linux under the Wine Windows compatibility suite. In 2003, this led to complaints by Microsoft: it was claimed that the deployment of runtime FoxPro code on non-Windows machines violates the End User License Agreement.[1]

In December 2005, VFP broke into the top 20 on Tiobe index[2] for the first time. In March 2007 it was at position 19, making it a "B" language, and as of December, 2008 it dropped into position 23.

In March 2007, Microsoft announced that there will be no VFP 10[3], thus making VFP9 (released to manufacturing on December 17, 2004) the last commercial VFP release from Microsoft. The support of Version 9 is ongoing with service packs that were released December 8, 2005 and October 11, 2007.

At the time of the end of life announcement, work on the next release codenamed Sedna (named after a recently discovered dwarf planet) which was built on top of the VFP9 codebase had already begun. "Sedna" is a set of add-ons to VFP 9.0 of XBase components to support a number of interoperability scenarios with various Microsoft technologies including SQL Server 2005, .NET Framework, Windows Vista, Office 2007, Windows Search and Team Foundation Server (TFS). Microsoft released Sedna under the Shared source license on the CodePlex site. Microsoft has clarified that the VFP core will still remain closed source. Sedna was released on January 25, 2008[4]. As of March 2008, all XBase components of the VFP 9 SP2 (including Sedna) were available for community-development on the CodePlex.

In late March 2007 a grassroots campaign was started by the Spanish-speaking FoxPro community at MasFoxPro[5] (MoreFoxPro in English) to sign a petition to Microsoft to continue updating Visual FoxPro or release it to the community as Open Source. On April 3, 2007 the movement was noted by the technical press[6]

Also on April 3, 2007 Microsoft responded to the petitioner's requests with this statement from Alan Griver:

"We're very aware of the FoxPro community and that played a large part in what we announced on March 13th. It's never an easy decision to announce that we're not going to release another version of a product and it's one that we consider very carefully.

"We're not announcing the end of FoxPro: Obviously, FoxPro applications will continue to work. By some of our internal estimates, there are more applications running in FoxPro 2.6 than there are in VFP and FoxPro 2.6 hasn't been supported in many years. Visual FoxPro 9 will be supported by Microsoft through 2015.

"For Microsoft to continue to evolve the FoxPro base, we would need to look at creating a 64-bit development environment and that would involve an almost complete rewrite of the core product. We've also invested in creating a scalable database with SQL Server, including the freely available SQL Server Express Edition. As far as forming a partnership with a third-party is concerned, we've heard from a number of large FoxPro customers that this would make it impossible for them to continue to use FoxPro since it would no longer be from an approved vendor. We felt that putting the environment into

Page 20: Foxpro File Mantain Notes

open source on CodePlex, which balances the needs of both the community and the large customers, was the best path forward."

[edit] Version information

[edit] Operating system compatibility

Supported Windows Versions

Version VFP 3.0VFP 5.0

VFP 6.0

VFP 7.0 VFP 8.0 VFP 9.0

Windows 3.x Yes No No No No No

Windows NT 4.0 Yes Yes Yes Yes No No [7]

Windows 95 Yes Yes YesRuntime only

No No

Windows 98 Yes Yes Yes YesRuntime only

Runtime only

Windows Me Yes Yes Yes YesRuntime only

Runtime only

Windows 2000 Yes Yes Yes Yes Yes Yes

Windows XP Yes Yes Yes Yes Yes Yes

Windows Server 2003 ? ? Yes Yes Yes Yes

Windows VistaCompatibility Mode

Yes Yes Yes Yes Yes

Windows 7 (Build 7000)

? ? Yes Yes Yes Yes

[edit] Information on executable files

Version VERSION() returnsEXE Size

EXE DateDLL Size

DLL Name

VFP 9 SP2 with Visual FoxPro 09.00.0000.7423 5,648 April 3, 2009 4,624 VFP9R.DLL

Page 21: Foxpro File Mantain Notes

Hotfixes for Windows kb kb

VFP 9 SP2Visual FoxPro 09.00.0000.5721 for Windows

5,648 kb

September 21, 2007

4,624 kb

VFP9R.DLL

VFP 9Visual FoxPro 09.00.0000.2412 for Windows

5,620 kb

December 13, 2004

4,600 kb

VFP9R.DLL

VFP 8Visual FoxPro 08.00.0000.3117 for Windows

5,236 kb

September 25, 2003

4,200 kb

VFP8R.DLL

VFP 7Visual FoxPro 07.00.0000.9465 for Windows

4,260 kb

January 4, 20023,344 kb

VFP7R.DLL

VFP 6Visual FoxPro 06.00.8961.00 for Windows

4,091 kb

August 18, 20003,295 kb

VFP6R.DLL

VFP 5Visual FoxPro 5.0.0.415 for Windows

4,065 kb

January 24, 1997

3,148 kb

VFP500.DLL

VFP 3Visual FoxPro 03.00.00.0711 for Windows

4,374 kb

December 16, 1995

3,657 kb

VFP300.ESL

FPW 2.6a FoxPro 2.6a for Windows2,444 kb

September 28, 1994

2,946 kb

FOXW2600.ESL

[edit] Code samples

Hello World example:

MESSAGEBOX("Hello World")

[edit] Object

Page 22: Foxpro File Mantain Notes

Output of the Hello World program.

loForm = CREATEOBJECT("HiForm")

loForm.Show(1)

DEFINE CLASS HiForm AS Form

AutoCenter = .T.

Caption = "Hello, World"

ADD OBJECT lblHi as Label WITH ;

Caption = "Hello, World!"

ENDDEFINE

loMine = CREATEOBJECT("MyClass")

? loMine.cProp1 && This will work. (Double-ampersand marks an end-of-line comment)

? loMine.cProp2 && Program Error: Property CPROP2 is not found.

? loMine.MyMethod1() && This will work.

? loMine.MyMethod2() && Program Error: Property MYMETHOD2 is not found.

DEFINE CLASS MyClass AS Custom

cProp1 = "My Property" && This is a public property

HIDDEN cProp2 && This is a private (hidden) property

PROCEDURE Init() && Class constructor

This.cProp2 = "This is a hidden property."

ENDPROC

Page 23: Foxpro File Mantain Notes

PROCEDURE MyMethod1()

* This is a public method, calling a hidden method that returns

* the value of a hidden property.

RETURN This.MyMethod2()

ENDPROC

HIDDEN PROCEDURE MyMethod2() && This is a private (hidden) method

RETURN This.cProp2

ENDPROC

ENDDEFINE

[edit] Data handling

Output of the Data handling program.

&& Create a table

CREATE TABLE randData (iData I)

&& Populate with random data using xBase and SQL DML commands

FOR i = 1 TO 50

APPEND BLANK

REPLACE iData WITH (RAND() * 100)

Page 24: Foxpro File Mantain Notes

INSERT INTO randData (iData) VALUES (RAND() * 100)

ENDFOR

&& Place a structural index on the data

INDEX ON iData TAG iData

CLOSE ALL

&& Display ordered data using xBase-style commands

USE randData

SET ORDER TO iData

GO TOP

LIST NEXT 10 && First 10

SKIP 81

LIST NEXT 10 && Last 10

CLOSE ALL

&& Browse ordered data using SQL DML commands

SELECT * ;

FROM randData ;

ORDER BY iData DESCENDING

[edit] ODBC access using SQL passthrough

&& Connect to an ODBC data source

LOCAL nHnd

nHnd = SQLCONNECT ("ODBCDSN", "user", "pwd")

Page 25: Foxpro File Mantain Notes

&& Execute a SQL command

LOCAL nResult

nResult = SQLEXEC (nHnd, "USE master")

IF nResult < 0

MESSAGEBOX ("MASTER database does not exist!")

RETURN

ENDIF

&& Retrieve data from the remote server and stores it in

&& a local data cursor

nResult = SQLEXEC (nHnd, "SELECT * FROM authors", "QAUTHORS")

&& Update a record in a remote table using parameters

LOCAL cAuthorID, cAuthorName

cAuthorID = "1001"

cAuthorName = "New name"

nResult = SQLEXEC (nHnd, "UPDATE authors SET auth_name = ?cAuthorName WHERE auth_id = ?cAuthorID")

&& Close the connection

SQLDISCONNECT(nHnd)

[edit] Beta code names

VFP 3 - Taz

VFP 5 - RoadRunner

VFP 6 - Tahoe

Page 26: Foxpro File Mantain Notes

VFP 7 - Sedona

VFP 8 - Toledo

VFP 9 - Europa

VFP Next - Sedna

[edit] References

^ VFP and Linux - Visual FoxPro Wiki

^ Programming Community Index

^ A Message to the Community

^ Microsoft SEDNA download

^ MasFoxPro

^ Developers petition Microsoft to reconsider FoxPro phase out Posted by Mary Jo Foley (April 3rd, 2007) - All about Microsoft - ZDNet.com

^ - The free patch for VFP 9.0 has been created by the German FoxPro User Group (dFPUG) and is available at the dFPUG document portal in the directory http://portal.dfpug.de/dFPUG/Dokumente/Freeware/. It allows you to run VFP 9.0 applications on NT 4.0. Microsoft has indicated that this will be addressed in VFP 9.0 SP1.

[edit] External links

[edit] Microsoft pages

Main Visual FoxPro Microsoft page

MSDN FoxPro support board

VFP's online help

Microsoft VFP 9 support

Visual FoxPro Downloads page

[edit] Other pages

Visual FoxPro Wiki A repository of FoxPro information (written in VFP)

A site devoted to the history of FoxPro

VFPx A Visual FoxPro Community effort to create open source add-ons for VFP 9.0

Page 27: Foxpro File Mantain Notes

[show]

v • d • e

Programming languages

Comparison | Timeline | Categorical list | Generational list | Alphabetical list | Non-English-based

[show]

v • d • e

Microsoft development tools

Developmentenvironments

Visual Studio (Team System · Express) · Visual Studio Tools for Office · Visual Studio Tools for Applications · Expression Web · Expression Blend · Microsoft Office SharePoint Designer

Languages andcompilers

Visual Basic (VB.NET) · Visual C++ · Visual C# · Visual J# · Visual FoxPro · IronPython · IronRuby · PowerShell · XAML · F#

Major APIs andframeworks

Windows API / SDK · .NET Framework · Managed code frameworks (Presentation · Communication · Workflow · CardSpace) · Silverlight · XNA · ASP.NET (ASP.NET AJAX) · LINQ · ADO.NET · DirectX · Robotics Developer Studio

Database toolsand languages

SQL ServerExpress · Compact · Management Studio · Business Intelligence Development Studio · MSDE

SQL services

Analysis · Reporting · Integration · Notification

Other Visual FoxPro · Microsoft Access · Extensible Storage Engine

Source control Team Foundation Server · Visual SourceSafe

Driver development

Windows Driver Model · Windows Driver Foundation (KMDF · UMDF) · Windows Driver Kit · Windows Logo Kit

Retrieved from "http://en.wikipedia.org/wiki/Visual_FoxPro"

Categories: 4GL | Data-centric programming languages | Object-oriented programming languages | XBase programming language family | Procedural programming languages | Database management

Page 28: Foxpro File Mantain Notes

systems | Microsoft development tools | Microsoft database software | Programming languages created in 1984

Views

Article

Discussion

Edit this page

History

Personal tools

Try Beta

Log in / create account

Navigation

Main page

Contents

Featured content

Current events

Random article

Search

Top of Form

Bottom of Form

Interaction

About Wikipedia

Community portal

Recent changes

Contact Wikipedia

Special:Search Go Search

Page 29: Foxpro File Mantain Notes

Donate to Wikipedia

Help

Toolbox

What links here

Related changes

Upload file

Special pages

Printable version

Permanent link

Cite this page

Languages

Català

Česky

Deutsch

Eesti

Español

فارسی

Français

Galego

Hrvatski

Bahasa Indonesia

Italiano

Bahasa Melayu

Nederlands

日本語

Page 30: Foxpro File Mantain Notes

Polski

Português

Русский

Тоҷикӣ

Türkçe

Tiếng Việt

中文

This page was last modified on 6 January 2010 at 01:25.

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms of Use for details.Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Contact us

Privacy policy

About Wikipedia

Disclaimers

DataFrom Wikipedia, the free encyclopedia

Jump to: navigation, searchFor data in a computer science context, see Data (computing). For other uses, see Data (disambiguation).

The term data means groups of information that represent the qualitative or quantitative attributes of a variable or set of variables. Data (plural of "datum", which is seldom used) are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which information and knowledge are derived.

Page 31: Foxpro File Mantain Notes

Contents

[hide]

1 Etymology 2 Usage in English 3 Meaning of data, information and knowledge 4 See also 5 References 6 External links

[edit] Etymology

The word data (pronounced /ˈdeɪtə/, /ˈdætə/, or /ˈdɑːtə/) is the Latin plural of datum, neuter past participle of dare, "to give", hence "something given". The past participle of "to give" has been used for millennia, in the sense of a statement accepted at fn, Data). In discussions of problems in geometry, mathematics, engineering, and so on, the terms givens and data are used interchangeably.Also, data is a representation of a fact, figure, and idea. Such usage is the origin of data as a concept in computer science: data are numbers, words, images, etc., accepted as they stand.

[edit] Usage in English

In English, the word datum is still used in the general sense of "something given". In cartography, geography, nuclear magnetic resonance and technical drawing it is often used to refer to a single specific reference datum from which distances to all other data are measured. Any measurement or result is a datum, but data point is more common,[1] albeit tautological. Both datums (see usage in datum article) and the originally Latin plural data are used as the plural of datum in English, but data is more commonly treated as a mass noun and used with a verb in the singular form, especially in day-to-day usage. For example, This is all the data from the experiment. This usage is inconsistent with the rules of Latin grammar and traditional English (These are all the data from the experiment).

Some British and international academic, scientific and professional style guides [2] require that authors treat data as a plural noun. Other international organizations, such as the IEEE Computer Society,[3] allow its usage as either a mass noun or plural based on author preference. The Air Force Flight Test Center on the other hand, specifically states that the word data is always plural, never singular.[4]

Data is now often treated as a singular mass noun in informal usage, but usage in scientific publications shows a divide between the United States and United Kingdom. In the United States the word data is sometimes used in the singular, though scientists and science writers more often maintain the traditional plural usage. Some major newspapers such as the New York Times use it alternately in the singular or plural. In the New York Times the phrases "the survey data are still

Page 32: Foxpro File Mantain Notes

being analyzed" and "the first year for which data is available" have appeared on the same day. In scientific writing data is often treated as a plural, as in These data do not support the conclusions, but many people now think of data as a singular mass entity like information and use the singular in general usage. British usage now widely accepts treating data as singular in standard English,[5] including everyday newspaper usage[6] at least in non-scientific use.[7] UK scientific publishing still prefers treating it as a plural.[8] Some UK university style guides recommend using data for both singular and plural use[9] and some recommend treating it only as a singular in connection with computers.[10]

Raw data refers to a collection of numbers, characters, images or other outputs from devices to convert physical quantities into symbols, that are unprocessed. Such data is typically further processed by a human or input into a computer, stored and processed there, or transmitted (output) to another human or computer (possibly through a data cable). Raw data is a relative term; data processing commonly occurs by stages, and the "processed data" from one stage may be considered the "raw data" of the next.

Mechanical computing devices are classified according to the means by which they represent data. An analog computer represents a datum as a voltage, distance, position, or other physical quantity. A digital computer represents a datum as a sequence of symbols drawn from a fixed alphabet. The most common digital computers use a binary alphabet, that is, an alphabet of two characters, typically denoted "0" and "1". More familiar representations, such as numbers or letters, are then constructed from the binary alphabet.

Some special forms of data are distinguished. A computer program is a collection of data, which can be interpreted as instructions. Most computer languages make a distinction between programs and the other data on which programs operate, but in some languages, notably Lisp and similar languages, programs are essentially indistinguishable from other data. It is also useful to distinguish metadata, that is, a description of other data. A similar yet earlier term for metadata is "ancillary data." The prototypical example of metadata is the library catalog, which is a description of the contents of books.

Experimental data refers to data generated within the context of a scientific investigation by observation and recording.

[edit] Meaning of data, information and knowledge

The terms information and knowledge are frequently used for overlapping concepts. The main difference is in the level of abstraction being considered. Data is the lowest level of abstraction, information is the next level, and finally, knowledge is the highest level among all three.[citation

needed] Data on its own carries no meaning. In order for data to become information, it must be interpreted and take on a meaning. For example, the height of Mt. Everest is generally considered as "data", a book on Mt. Everest geological characteristics may be considered as "information", and a report containing practical information on the best way to reach Mt. Everest's peak may be considered as "knowledge".

Page 33: Foxpro File Mantain Notes

Information as a concept bears a diversity of meanings, from everyday usage to technical settings. Generally speaking, the concept of information is closely related to notions of constraint, communication, control, data, form, instruction, knowledge, meaning, mental stimulus, pattern, perception, and representation.

Beynon-Davies uses the concept of a sign to distinguish between data and information; data are symbols while information occurs when symbols are used to refer to something. [11] [12]

It is people and computers who collect data and impose patterns on it. These patterns are seen as information which can used to enhance knowledge. These patterns can be interpreted as truth, and are authorized as aesthetic and ethical criteria. Events that leave behind perceivable physical or virtual remains can be traced back through data. Marks are no longer considered data once the link between the mark and observation is broken. [13]

[edit] See also

Look up data in Wiktionary, the free dictionary.

Biological data Data acquisition Data analysis Data cable Data domain Data element Data farming Data governance Data integrity Data maintenance Data management Data mining Data modeling Computer data processing Data recovery Data remanence Data set Data warehouse Database Datasheet Environmental data rescue Metadata Scientific data archiving Statistics Datastructure

Page 34: Foxpro File Mantain Notes

[edit] References

1. ̂ Matt Dye (2001). "Writing Reports". University of Bristol. http://www.bris.ac.uk/Depts/DeafStudiesTeaching/dissert/Writing%20Reports.htm.

2. ̂ "WHO Style Guide". Geneva: World Health Organization. 2004. p. 43. http://whqlibdoc.who.int/hq/2004/WHO_IMD_PUB_04.1.pdf.

3. ̂ "IEEE Computer Society Style Guide, DEF". IEEE Computer Society. http://www.computer.org/portal/site/ieeecs/menuitem.c5efb9b8ade9096b8a9ca0108bcd45f3/index.jsp?&pName=ieeecs_level1&path=ieeecs/publications/author/style&file=def.xml&xsl=generic.xsl&.

4. ̂ The Author's Guide to Writing Air Force Flight Test Center Technical Reports. Air Force Flight Center.

5. ̂ New Oxford Dictionary of English. 1999. 6. ̂ Tim Johns (1997). "Data: singular or plural?".

http://www.eisu2.bham.ac.uk/johnstf/revis006.htm. "...in educated everyday usage as represented by The Guardian newspaper, it is nowadays most often used as a singular."

7. ̂ "Data". Compact Oxford Dictionnary. http://www.askoxford.com/concise_oed/data?view=uk. 8. ̂ "Data: singular or plural?". Blair Wisconsin International University.

http://www.eisu2.bham.ac.uk/johnstf/revis006.htm. 9. ̂ "Singular or plural". University of Nottingham Style Book. University of Nottingham.

http://www.nottingham.ac.uk/public-affairs/uon-style-book/singular-plural.htm. 10. ̂ "Computers and computer systems". OpenLearn.

http://openlearn.open.ac.uk/mod/resource/view.php?id=182902. 11. ̂ P. Beynon-Davies (2002). Information Systems: An introduction to informatics in

organisations. Basingstoke, UK: Palgrave. ISBN 0-333-96390-3. 12. ̂ P. Beynon-Davies (2009). Business information systems. Basingstoke, UK: Palgrave. ISBN

978-0-230-20368-6. 13. ̂ Sharon Daniel. The Database: An Aesthetics of Dignity.

[edit] External links

data is a singular noun (a detailed assessment)

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

[hide] v • d • e

StatisticsDescriptive

statistics

Continuous data

LocationMean (Arithmetic, Geometric, Harmonic) · Median · Mode

DispersionRange · Standard deviation · Coefficient of variation · Percentile

MomentsVariance · Semivariance · Skewness · Kurtosis

Categorical Frequency · Contingency table

Page 35: Foxpro File Mantain Notes

data

Statistical graphicsBar chart · Biplot · Box plot · Control chart · Correlogram · Forest plot · Histogram · Q-Q plot · Run chart · Scatter plot · Stemplot

Inferential statisticsand

hypothesis testing

InferenceConfidence interval (Frequentist inference) · Credible interval (Bayesian inference) · Significance · Meta-analysis

Design of experimentsPopulation · Sampling · Stratified sampling · Replication · Blocking · Sensitivity and specificity · Optimal design

Sample size estimation

Statistical power · Effect size · Standard error

General estimationBayesian estimator · Maximum likelihood · Method of moments · Minimum distance · Maximum spacing

Specific tests

Z-test (normal) · Student's t-test · F-test · Chi-square test · Pearson's chi-square test · Wald test · Mann–Whitney U · Wilcoxon signed-rank test

Survival analysisSurvival function · Kaplan–Meier · Logrank test · Failure rate · Proportional hazards models

Correlationand

regression analysis

CorrelationPearson product-moment correlation · Rank correlation (Spearman's rho, Kendall's tau) · Confounding variable

Linear regressionSimple linear regression · Ordinary least squares · General linear model · Analysis of variance · Analysis of covariance

Non-standardNonlinear regression · Nonparametric · Semiparametric · Robust

Non-normal errors

Generalized linear model · Binomial · Poisson · Logistic

Category · Portal · Outline · IndexRetrieved from "http://en.wikipedia.org/wiki/Data"Categories: Data | Computer data | Data managementHidden categories: Wikipedia indefinitely move-protected pages | All articles with unsourced statements | Articles with unsourced statements from July 2008 | Wikipedia articles incorporating text from FOLDOC | Statistics articles with navigational template

Views

Article Discussion Edit this page

Page 36: Foxpro File Mantain Notes

History

Personal tools

Try Beta Log in / create account

Navigation

Main page Contents Featured content Current events Random article

Search

  Interaction

About Wikipedia Community portal Recent changes Contact Wikipedia Donate to Wikipedia Help

Toolbox

What links here Related changes Upload file Special pages Printable version Permanent link Cite this page

Languages

Afrikaans العربية Azərbaycan Беларуская Bosanski Български Česky

Special:Search Go Search

Page 37: Foxpro File Mantain Notes

Dansk Deutsch Ελληνικά Español Esperanto فارسی Français 한국어 Hrvatski Bahasa Indonesia Íslenska Italiano עברית Kiswahili Lietuvių Magyar Македонски मरा�ठी� Nederlands 日本語 Polski Português Русский සිං�හල Slovenščina Soranî / کوردی Српски / Srpski Basa Sunda Suomi Svenska Tagalog தமி�ழ் ไทย اردو Tiếng Việt 吴语 יִידיש 中文

This page was last modified on 2 January 2010 at 08:08. Text is available under the Creative Commons Attribution-ShareAlike License;

additional terms may apply. See Terms of Use for details.

Page 38: Foxpro File Mantain Notes

Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Contact us Privacy policy About Wikipedia Disclaimers

Record (computer science)From Wikipedia, the free encyclopedia

Jump to: navigation, search

This article does not cite any references or sources.Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (September 2009)

In computer science, a record (also called tuple or struct) is one of the simplest data structures, consisting of two or more values or variables stored in consecutive memory positions; so that each component (called a field or member of the record) can be accessed by applying different offsets to the starting address.

For example, a date may be stored as a record containing a 16-bit numeric field for the year, a three-letter field for the month, and an 8-bit numeric field for the day-of-month. As this example shows, the fields of a record need not all have the same size and encoding; therefore, in general one cannot easily obtain the field which has a run-time computed index in the field sequence, as one can do in an array.

A record type is a data type that describes such values and variables. Most modern computer languages allow the programmer to define new record types. The definition includes specifying the data type of each field, its position in the record, and an identifier (name or label) by which it can be accessed. In type theory, product types are generally preferred due to their simplicty, but proper record types are studied in languages such as System F-sub. Since type-theoretical records may contain first-class function-typed fields in addition to data, they can express many features of object-oriented programming.

Records can exist in any storage medium, including main memory and mass storage devices such as magnetic tapes or hard disks. Records are a fundamental component of most data structures, especially linked data structures. Many computer files are organized as arrays of logical records, often grouped into larger physical records or blocks for efficiency.

The parameters of a function or procedure can often be viewed as the fields of a record variable; and the arguments passed to that function can be viewed as a record value that gets assigned to

Page 39: Foxpro File Mantain Notes

that variable at the time of the call. Also, in the call stack that is often used to implement procedure calls, each entry is an activation record or call frame, containing the procedure parameters and local variables, the return address, and other internal fields.

An object in object-oriented language is essentially a record that contains procedures specialized to handle that record; and object data types (often called object classes) are an elaboration of record types. Indeed, in most object-oriented languages, records are just special cases of objects.

A record can be viewed as the computer analog of a mathematical tuple. In the same vein, a record type can be viewed as the computer language analog of the Cartesian product of two or more mathematical sets, or the implementation of an abstract product type in a specific language.

Contents

[hide]

1 History 2 Operations

o 2.1 Assignment and comparison o 2.2 Algol 68's distributive field selection o 2.3 Pascal's "with" statement

3 Representation in memory 4 See also

[edit] History

The concept of record can be traced to various types of tables and ledgers used in accounting since remote times. The modern notion of records in computer science, with fields of well-defined type and size, was already implicit in 19th century mechanical calculators, such as Babbage's Analytical Engine.[citation needed]

Records were well established in the first half of the 20th century, when most data processing was done using punched cards. Typically each records of a data file would be recorded in one punched card, with specific columns assigned to specific fields.

Most machine language implementations and early assembly languages did not have special syntax for records, but the concept was available (and extensively used) through the use of index registers, indirect addressing, and self-modifying code. Some early computers, such as the IBM 1620, had hardware support for delimiting records and fields, and special instructions for copying such records.

The concept of records and fields was central in some early file sorting and tabulating utilities, such as IBM's Report Program Generator (RPG).

Page 40: Foxpro File Mantain Notes

COBOL was the first widespread programming language to support record types,[citation needed] and indeed its record definition facilities were quite complex for the times. The language allowed the definition of nested records with alphanumeric, integer, and fractional fields of arbitrary size and precision, as well as fields that would automatically format any value assigned to them (such as inserting a dollar sign and a decimal period). Each file had to be associated with a record variable where data was read into or written from. COBOL also provided a MOVE CORRESPONDING command that would assign corresponding fields of two record, paired by their names.

The early languages developed for numeric computing, such as FORTRAN (up to FORTRAN IV) and Algol 60, did not have support for record types; but latter versions of those languages, such as Fortran 77 and Algol 68 did add them. The original Lisp programming language too was lacking records (except for the built-in cons cell), but its S-expressions provided an adequate surrogate. The Pascal programming language was one of the first languages to fully integrate record types with other basic types into a logically consistent type system. IBM's PL/1 programming language provided for COBOL-style records. The C programming language initially provided the record concept as a kind of template (struct) that could be laid on top of a memory area, rather than a true record data type. The latter were provided eventually (by the typedef declaration), but the two concepts are still distinct in the language. Most languages designed after Pascal (such as Ada, Modula, and Java) also supported records.

[edit] Operations

A programming language that supports record types usually provides special syntax for some or all of the following:

Declaring a new record type, including the position, type, and (possibly) name of each field;

Declaring variables and values as having a given record type; Constructing a record value from given field values and (sometimes) with given field

names; Selecting a field of a record with an explicit name; Assigning a record value to a record variable; Comparing two records for equality; Computing a standard hash value for the record.

Some languages may provide facilities that enumerate all fields of a record, or at least the fields that are references. This facility is needed to implement certain services such as debuggers, garbage collectors, and serialization. It requires some degree of type polymorphism.

The selection of a field from a record value yields a value. The selection of a field from a record variable usually yields a variable. This variable has the field's data type, and usually can be assigned to and otherwise handled as any ordinary variable of that type.

[edit] Assignment and comparison

Page 41: Foxpro File Mantain Notes

Most languages allow assignment between records that have exactly the same record type (including same field types and names, in the same order). Depending on the language, however, two record data types defined separately may be regarded as distinct types even if they have exactly the same fields.

Some languages may also allow assignment between records whose fields have different names, matching each field value with the corresponding field variable by their positions within the record; so that, for example, a complex number with fields called real and imag can be assigned to a 2D point record variable with fields X and Y. In this alternative, the two operands are still required to have the same sequence of field types. Some languages may also require that corresponding types have the same size and encoding as well, so that the whole record can be assigned as an uninterpreted bit string. Other languages may be more flexible in this regard, and require only that each value field can be legally assigned to the corresponding variable field; so that, for eaxmple, a short integer field can be assigned to a long integer field, or vice-versa.

Other languages (such as COBOL) may match fields and values by their names, rather than positions.

These same possibilities apply to the comparison of two record values for equality. Some languages may also allow order comparisons ('<'and '>'), using the lexicographic order based on the comparison of individual fields.[citation needed]

[edit] Algol 68's distributive field selection

In Algol 68, if Pts was an array of records, each with integer fields X and Y, one could write Pts.Y to obtain an array of integers, consisting of the Y fields of all the elements of Pts. As a result, the statements Pts[3].Y := 7 and Pts.Y[3] := 7 would have the same effect.

[edit] Pascal's "with" statement

In the Pascal programming language, the command with R do S end would execute the command sequence S as if all the fields of record R had been declared as variables. So, instead of writing Pt.X := 5; Pt.Y := Pt.X + 3 one could write with Pt do X := 5; Y := X + 3 end.

[edit] Representation in memory

The representation of records in memory varies depending on the programming languages. Usually the fields are stored in consecutive positions in memory, in the same order as they are declared in the record type. This may result in two or more fields stored into the same word of memory; indeed, this feature is often used in systems programming to access specific bits of a word. On the other hand, most compilers will add padding fields, mostly invisible to the programmer, in order to comply with alignment constraints imposed by the machine—say, that a floating point field must occupy a single word.

Page 42: Foxpro File Mantain Notes

Some languages may implement a record as an array of addresses pointing to the fields (and, possibly, to their names and/or types). Objects in object-oriented languages are often implemented in rather complicated ways, especially in languages that allow multiple class inheritance.

[edit] See also

struct (C programming language) Composite data type Object composition Cons cell Storage record Block (data storage) Hashed linking Data structure alignment Data hierarchy

[hide] v • d • e

Data typesUninterprete

dBit · Byte · Word

NumericInteger · Fixed-point · Floating-point · Rational · Complex · Bignum · Interval

Text Character · StringPointer Address · Reference

CompositeProduct · Record · Class · Object · Union (tagged) · Array · Associative array · Set · List · Algebraic data type (generalized)

OtherBottom type · Void · Unit type · Top type · Boolean · Enumerated type · First-class function · Opaque data type · Stream · Exception · Collection · Recursive data type · Type class

Related topicsData structure · Subtyping · Primitive data type · Abstract data type · Template · Interface · Parametric polymorphism · Type constructor · Kind (type theory)

Retrieved from "http://en.wikipedia.org/wiki/Record_(computer_science)"Categories: Data types | Composite data typesHidden categories: Articles lacking sources from September 2009 | All articles lacking sources | All articles with unsourced statements | Articles with unsourced statements from May 2009

Views

Article Discussion Edit this page History

Page 43: Foxpro File Mantain Notes

Personal tools

Try Beta Log in / create account

Navigation

Main page Contents Featured content Current events Random article

Search

  Interaction

About Wikipedia Community portal Recent changes Contact Wikipedia Donate to Wikipedia Help

Toolbox

What links here Related changes Upload file Special pages Printable version Permanent link Cite this page

Languages

Українська

This page was last modified on 3 December 2009 at 22:14. Text is available under the Creative Commons Attribution-ShareAlike License;

additional terms may apply. See Terms of Use for details.

Special:Search Go Search

Page 44: Foxpro File Mantain Notes

Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Contact us Privacy policy About Wikipedia Disclaimers

Database management systemFrom Wikipedia, the free encyclopedia

Jump to: navigation, search

This article may contain original research. Please improve it by verifying the claims made and adding references. Statements consisting only of original research may be removed. More details may be available on the talk page. (December 2009)

This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (July 2009)

This article needs additional citations for verification.Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (October 2008)

A Database Management System (DBMS) is a set of computer programs that controls the creation, maintenance, and the use of the database with computer as a platform or of an organization and its end users. It allows organizations to place control of organization-wide database development in the hands of database administrators (DBAs) and other specialists. A DBMS is a system software package that helps the use of integrated collection of data records and files known as databases. It allows different user application programs to easily access the same database. DBMSs may use any of a variety of database models, such as the network model or relational model. In large systems, a DBMS allows users and other software to store and retrieve data in a structured way. Instead of having to write computer programs to extract information, user can ask simple questions in a query language. Thus, many DBMS packages provide Fourth-generation programming language (4GLs) and other application development features. It helps to specify the logical organization for a database and access and use the information within a database. It provides facilities for controlling data access, enforcing data integrity, managing concurrency controlled, restoring database.

Page 45: Foxpro File Mantain Notes

Contents

[hide]

1 Overview 2 History

o 2.1 1960s Navigational DBMS o 2.2 1970s Relational DBMS o 2.3 End 1970s SQL DBMS

3 DBMS building blocks o 3.1 Components of DBMS o 3.2 Modeling language o 3.3 Data structure o 3.4 Database query language o 3.5 Transaction mechanism

4 DBMS topics o 4.1 Logical and physical view o 4.2 DBMS features and capabilities o 4.3 Meta-data repository o 4.4 Current trends

5 Examples 6 See also 7 References

[edit] Overview

A DBMS is a set of software programs that controls the organization, storage, management, and retrieval of data in a database. DBMSs are categorized according to their data structures or types. The DBMS accepts requests for data from an application program and instructs the operating system to transfer the appropriate data. The queries and responses must be submitted and received according to a format that conforms to one or more applicable protocols. When a DBMS is used, information systems can be changed much more easily as the organization's information requirements change. New categories of data can be added to the database without disruption to the existing system.

Database servers are computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with generous memory and RAID disk arrays used for stable storage. Hardware database accelerators, connected to one or more servers via a high-speed channel, are also used in large volume transaction processing environments. DBMSs are found at the heart of most database applications. Sometimes DBMSs are built around a private multitasking kernel with built-in networking support although nowadays these functions are left to the operating system.

Page 46: Foxpro File Mantain Notes

[edit] History

This article may need to be updated. Please update this article to reflect recent events or newly available information, and remove this template when finished. Please see the talk page for more information. (July 2009)

Databases have been in use since the earliest days of electronic computing. Unlike modern systems which can be applied to widely different databases and needs, the vast majority of older systems were tightly linked to the custom databases in order to gain speed at the expense of flexibility. Originally DBMSs were found only in large organizations with the computer hardware needed to support large data sets.

[edit] 1960s Navigational DBMS

As computers grew in speed and capability, a number of general-purpose database systems emerged; by the mid-1960s there were a number of such systems in commercial use. Interest in a standard began to grow, and Charles Bachman, author of one such product, Integrated Data Store (IDS), founded the "Database Task Group" within CODASYL, the group responsible for the creation and standardization of COBOL. In 1971 they delivered their standard, which generally became known as the "Codasyl approach", and soon there were a number of commercial products based on it available.

The Codasyl approach was based on the "manual" navigation of a linked data set which was formed into a large network. When the database was first opened, the program was handed back a link to the first record in the database, which also contained pointers to other pieces of data. To find any particular record the programmer had to step through these pointers one at a time until the required record was returned. Simple queries like "find all the people in India" required the program to walk the entire data set and collect the matching results. There was, essentially, no concept of "find" or "search". This might sound like a serious limitation today, but in an era when the data was most often stored on magnetic tape such operations were too expensive to contemplate anyway.

IBM also had their own DBMS system in 1968, known as IMS. IMS was a development of software written for the Apollo program on the System/360. IMS was generally similar in concept to Codasyl, but used a strict hierarchy for its model of data navigation instead of Codasyl's network model. Both concepts later became known as navigational databases due to the way data was accessed, and Bachman's 1973 Turing Award award presentation was The Programmer as Navigator. IMS is classified as a hierarchical database. IDS and IDMS, both CODASYL databases, as well as CINCOMs TOTAL database are classified as network databases.

[edit] 1970s Relational DBMS

Edgar Codd worked at IBM in San Jose, California, in one of their offshoot offices that was primarily involved in the development of hard disk systems. He was unhappy with the

Page 47: Foxpro File Mantain Notes

navigational model of the Codasyl approach, notably the lack of a "search" facility which was becoming increasingly useful. In 1970, he wrote a number of papers that outlined a new approach to database construction that eventually culminated in the groundbreaking A Relational Model of Data for Large Shared Data Banks.[1]

In this paper, he described a new system for storing and working with large databases. Instead of records being stored in some sort of linked list of free-form records as in Codasyl, Codd's idea was to use a "table" of fixed-length records. A linked-list system would be very inefficient when storing "sparse" databases where some of the data for any one record could be left empty. The relational model solved this by splitting the data into a series of normalized tables, with optional elements being moved out of the main table to where they would take up room only if needed.

In the relational model, related records are linked together with a "key".

For instance, a common use of a database system is to track information about users, their name, login information, various addresses and phone numbers. In the navigational approach all of these data would be placed in a single record, and unused items would simply not be placed in the database. In the relational approach, the data would be normalized into a user table, an address table and a phone number table (for instance). Records would be created in these optional tables only if the address or phone numbers were actually provided.

Linking the information back together is the key to this system. In the relational model, some bit of information was used as a "key", uniquely defining a particular record. When information was being collected about a user, information stored in the optional (or related) tables would be found by searching for this key. For instance, if the login name of a user is unique, addresses and phone numbers for that user would be recorded with the login name as its key. This "re-linking" of related data back into a single collection is something that traditional computer languages are not designed for.

Just as the navigational approach would require programs to loop in order to collect records, the relational approach would require loops to collect information about any one record. Codd's

Page 48: Foxpro File Mantain Notes

solution to the necessary looping was a set-oriented language, a suggestion that would later spawn the ubiquitous SQL. Using a branch of mathematics known as tuple calculus, he demonstrated that such a system could support all the operations of normal databases (inserting, updating etc.) as well as providing a simple system for finding and returning sets of data in a single operation.

Codd's paper was picked up by two people at the Berkeley, Eugene Wong and Michael Stonebraker. They started a project known as INGRES using funding that had already been allocated for a geographical database project, using student programmers to produce code. Beginning in 1973, INGRES delivered its first test products which were generally ready for widespread use in 1979. During this time, a number of people had moved "through" the group — perhaps as many as 30 people worked on the project, about five at a time. INGRES was similar to System R in a number of ways, including the use of a "language" for data access, known as QUEL — QUEL was in fact relational, having been based on Codd's own Alpha language, but has since been corrupted to follow SQL, thus violating much the same concepts of the relational model as SQL itself.

IBM itself did only one test implementation of the relational model, PRTV, and a production one, Business System 12, both now discontinued. Honeywell did MRDS for Multics, and now there are two new implementations: Alphora Dataphor and Rel. All other DBMS implementations usually called relational are actually SQL DBMSs. In 1968, the University of Michigan began development of the Micro DBMS relational database management system. It was used to manage very large data sets by the US Department of Labor, the Environmental Protection Agency and researchers from University of Alberta, the University of Michigan and Wayne State University. It ran on mainframe computers using Michigan Terminal System. The system remained in production until 1996.

[edit] End 1970s SQL DBMS

IBM started working on a prototype system loosely based on Codd's concepts as System R in the early 1970s. The first version was ready in 1974/5, and work then started on multi-table systems in which the data could be split so that all of the data for a record (much of which is often optional) did not have to be stored in a single large "chunk". Subsequent multi-user versions were tested by customers in 1978 and 1979, by which time a standardized query language, SQL, had been added. Codd's ideas were establishing themselves as both workable and superior to Codasyl, pushing IBM to develop a true production version of System R, known as SQL/DS, and, later, Database 2 (DB2).

Many of the people involved with INGRES became convinced of the future commercial success of such systems, and formed their own companies to commercialize the work but with an SQL interface. Sybase, Informix, NonStop SQL and eventually Ingres itself were all being sold as offshoots to the original INGRES product in the 1980s. Even Microsoft SQL Server is actually a re-built version of Sybase, and thus, INGRES. Only Larry Ellison's Oracle started from a different chain, based on IBM's papers on System R, and beat IBM to market when the first version was released in 1978.

Page 49: Foxpro File Mantain Notes

Stonebraker went on to apply the lessons from INGRES to develop a new database, Postgres, which is now known as PostgreSQL. PostgreSQL is primarily used for global mission critical applications (the .org and .info domain name registries use it as their primary data store, as do many large companies and financial institutions).

In Sweden, Codd's paper was also read and Mimer SQL was developed from the mid-70s at Uppsala University. In 1984, this project was consolidated into an independent enterprise. In the early 1980s, Mimer introduced transaction handling for high robustness in applications, an idea that was subsequently implemented on most other DBMS.

[edit] DBMS building blocks

A DBMS includes four main parts: modeling language, data structure, database query language, and transaction mechanisms:

[edit] Components of DBMS

DBMS Engine accepts logical request from the various other DBMS subsystems, converts them into physical equivalent, and actually accesses the database and data dictionary as they exist on a storage device.

Data Definition Subsystem helps user to create and maintain the data dictionary and define the structure of the files in a database.

Data Manipulation Subsystem helps user to add, change, and delete information in a database and query it for valuable information. Software tools within the data manipulation subsystem are most often the primary interface between user and the information contained in a database. It allows user to specify its logical information requirements.

Application Generation Subsystem contains facilities to help users to develop transactions-intensive applications. It usually requires that user perform a detailed series of tasks to process a transaction. It facilities easy-to-use data entry screens, programming languages, and interfaces.

Data Administration Subsystem helps users to manage the overall database environment by providing facilities for backup and recovery, security management, query optimization, concurrency control, and change management.

[edit] Modeling language

A data modeling language to define the schema of each database hosted in the DBMS, according to the DBMS database model. The four most common types of models are the:

hierarchical model , network model , relational model , and object model .

Page 50: Foxpro File Mantain Notes

Inverted lists and other methods are also used. A given database management system may provide one or more of the four models. The optimal structure depends on the natural organization of the application's data, and on the application's requirements (which include transaction rate (speed), reliability, maintainability, scalability, and cost).

The dominant model in use today is the ad hoc one embedded in SQL, despite the objections of purists who believe this model is a corruption of the relational model, since it violates several of its fundamental principles for the sake of practicality and performance. Many DBMSs also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS.

Before the database management approach, organizations relied on file processing systems to organize, store, and process data files. End users became aggravated with file processing because data is stored in many different files and each organized in a different way. Each file was specialized to be used with a specific application. Needless to say, file processing was bulky, costly and nonflexible when it came to supplying needed data accurately and promptly. Data redundancy is an issue with the file processing system because the independent data files produce duplicate data so when updates were needed each separate file would need to be updated. Another issue is the lack of data integration. The data is dependent on other data to organize and store it. Lastly, there was not any consistency or standardization of the data in a file processing system which makes maintenance difficult. For all these reasons, the database management approach was produced. Database management systems (DBMS) are designed to use one of five database structures to provide simplistic access to information stored in databases. The five database structures are hierarchical, network, relational, multidimensional and object-oriented models.

The hierarchical structure was used in early mainframe DBMS. Records’ relationships form a treelike model. This structure is simple but nonflexible because the relationship is confined to a one-to-many relationship. IBM’s IMS system and the RDM Mobile are examples of a hierarchical database system with multiple hierarchies over the same data. RDM Mobile is a newly designed embedded database for a mobile computer system. The hierarchical structure is used primary today for storing geographic information and file systems.

The network structure consists of more complex relationships. Unlike the hierarchical structure, it can relate to many records and accesses them by following one of several paths. In other words, this structure allows for many-to-many relationships.

The relational structure is the most commonly used today. It is used by mainframe, midrange and microcomputer systems. It uses two-dimensional rows and columns to store data. The tables of records can be connected by common key values. While working for IBM, E.F. Codd designed this structure in 1970. The model is not easy for the end user to run queries with because it may require a complex combination of many tables.

The multidimensional structure is similar to the relational model. The dimensions of the cube looking model have data relating to elements in each cell. This structure gives a spreadsheet like view of data. This structure is easy to maintain because records are stored as fundamental

Page 51: Foxpro File Mantain Notes

attributes, the same way they’re viewed and the structure is easy to understand. Its high performance has made it the most popular database structure when it comes to enabling online analytical processing (OLAP).

The object oriented structure has the ability to handle graphics, pictures, voice and text, types of data, without difficultly unlike the other database structures. This structure is popular for multimedia Web-based applications. It was designed to work with object-oriented programming languages such as Java.

[edit] Data structure

Data structures (fields, records, files and objects) optimized to deal with very large amounts of data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory).

[edit] Database query language

A database query language and report writer allows users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. It also controls the security of the database. Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data.

If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organization. These controls are only available when a set of application programs are customized for each data entry and updating function.

[edit] Transaction mechanism

A database transaction mechanism ideally guarantees ACID properties in order to ensure data integrity despite concurrent user accesses (concurrency control), and faults (fault tolerance). It also maintains the integrity of the data in the database. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can help prevent duplicate records via unique index constraints; for example, no two customers with the same customer numbers (key fields) can be entered into the database. See ACID properties for more information (Redundancy avoidance).

[edit] DBMS topics

[edit] Logical and physical view

Page 52: Foxpro File Mantain Notes

Traditional View of Data[2]

A database management system provides the ability for many different users to share data and process resources. But as there can be many different users, there are many different database needs. The question now is: How can a single, unified database meet the differing requirement of so many users?

A DBMS minimizes these problems by providing two views of the database data: a logical (external) view and physical (internal) view. The logical view/user’s view, of a database program represents data in a format that is meaningful to a user and to the software programs that process those data. That is, the logical view tells the user, in user terms, what is in the database. The physical view deals with the actual, physical arrangement and location of data in the direct access storage devices(DASDs). Database specialists use the physical view to make efficient use of storage and processing resources. With the logical view users can see data differently from how they are stored, and they do not want to know all the technical details of physical storage. After all, a business user is primarily interested in using the information, not in how it is stored.

One strength of a DBMS is that while there is typically only one physical view of the data, there can be an endless number of different logical views. This feature allows users to see database information in a more business-related way rather than from a technical, processing viewpoint. Thus the logical view refers to the way user views data, and the physical view to the way the data are physically stored and processed...

[edit] DBMS features and capabilities

Alternatively, and especially in connection with the relational model of database management, the relation between attributes drawn from a specified set of domains can be seen as being primary. For instance, the database might indicate that a car that was originally "red" might fade to "pink" in time, provided it was of some particular "make" with an inferior paint job. Such higher arity relationships provide information on all of the underlying domains at the same time, with none of them being privileged above the others.

Page 53: Foxpro File Mantain Notes

Throughout recent history specialized databases have existed for scientific, geospatial, imaging, document storage and like uses. Functionality drawn from such applications has lately begun appearing in mainstream DBMSs as well. However, the main focus there, at least when aimed at the commercial data processing market, is still on descriptive attributes on repetitive record structures.

Thus, the DBMSs of today roll together frequently-needed services or features of attribute management. By externalizing such functionality to the DBMS, applications effectively share code with each other and are relieved of much internal complexity. Features commonly offered by database management systems include:

Query ability  Querying is the process of requesting attribute information from various perspectives and combinations of factors. Example: "How many 2-door cars in Texas are green?" A database query language and report writer allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data.

Backup and replication  Copies of attributes need to be made regularly in case primary disks or other equipment fails. A periodic copy of attributes may also be created for a distant organization that cannot readily access the original. DBMS usually provide utilities to facilitate the process of extracting and disseminating attribute sets. When data is replicated between database servers, so that the information remains consistent throughout the database system and users cannot tell or even know which server in the DBMS they are using, the system is said to exhibit replication transparency.

Rule enforcement  Often one wants to apply rules to attributes so that the attributes are clean and reliable. For example, we may have a rule that says each car can have only one engine associated with it (identified by Engine Number). If somebody tries to associate a second engine with a given car, we want the DBMS to deny such a request and display an error message. However, with changes in the model specification such as, in this example, hybrid gas-electric cars, rules may need to change. Ideally such rules should be able to be added and removed as needed without significant data layout redesign.

Security  Often it is desirable to limit who can see or change which attributes or groups of attributes. This may be managed directly by individual, or by the assignment of individuals and privileges to groups, or (in the most elaborate models) through the assignment of individuals and groups to roles which are then granted entitlements.

Computation  There are common computations requested on attributes such as counting, summing, averaging, sorting, grouping, cross-referencing, etc. Rather than have each computer application implement these from scratch, they can rely on the DBMS to supply such calculations.

Change and access logging  Often one wants to know who accessed what attributes, what was changed, and when it was changed. Logging services allow this by keeping a record of access occurrences and changes.

Page 54: Foxpro File Mantain Notes

Automated optimization  If there are frequently occurring usage patterns or requests, some DBMS can adjust themselves to improve the speed of those interactions. In some cases the DBMS will merely provide tools to monitor performance, allowing a human expert to make the necessary adjustments after reviewing the statistics collected.

[edit] Meta-data repository

Metadata is data describing data. For example, a listing that describes what attributes are allowed to be in data sets is called "meta-information". The meta-data is also known as data about data.

[edit] Current trends

In 1998, database management was in need of new style databases to solve current database management problems. Researchers realized that the old trends of database management were becoming too complex and there was a need for automated configuration and management [3]. Surajit Chaudhuri, Gerhard Weikum and Michael Stonebraker, were the pioneers that dramatically affected the thought of database management systems [3]. They believed that database management needed a more modular approach and that there are so many specifications needs for various users [3]. Since this new development process of database management we currently have endless possibilities. Database management is no longer limited to “monolithic entities” [3]. Many solutions have developed to satisfy individual needs of users. Development of numerous database options has created flexible solutions in database management. Today there are several ways database management has affected the technology world as we know it. Organizations demand for directory services has become an extreme necessity as organizations grow. Businesses are now able to use directory services that provided prompt searches for their company information [3]. Mobile devices are not only able to store contact information of users but have grown to bigger capabilities. Mobile technology is able to cache large information that is used for computers and is able to display it on smaller devices [3]. Web searches have even been affected with database management. Search engine queries are able to locate data within the World Wide Web [3]. Retailers have also benefited from the developments with data warehousing. These companies are able to record customer transactions made within their business [3]. Online transactions have become tremendously popular with the e-business world. Consumers and businesses are able to make payments securely on company websites. None of these current developments would have been possible without the evolution of database management. Even with all the progress and current trends of database management, there will always be a need for new development as specifications and needs grow.

[edit] Examples

Adabas Adaptive Server Enterprise Alpha Five BlackRay Cassandra Computhink 's ViewWise

Linter SQL RDBMS Lotus Approach Mark Logic Microsoft Access Microsoft SQL Server Microsoft Visual FoxPro

Page 55: Foxpro File Mantain Notes

CSQL Daffodil DB DataEase dBase db4o FileMaker Firebird IBM DB2 IBM IMS IBM UniVerse Ingres Infobright Informix InterSystems Caché Kexi WX2

MonetDB MySQL OpenLink Virtuoso Omnis 7 OpenOffice.org Base Oracle Database ParAccel PostgreSQL Progress SQL Anywhere SQLite Teradata Unisys OS 2200 databases Vertica Analytic Database

[edit] See also

Column-oriented DBMS Data warehouse Database-centric

architecture Directory service Distributed database

management system Document management

system Hierarchical model

Navigational database

Network model Object model Object database Object-relational

database Real time database Associative model

of data

Relational model Relational database

management system Run Book Automation Comparison of relational

database management systems

SQL

[edit] References

1. ̂ Codd, E.F. (1970)."A Relational Model of Data for Large Shared Data Banks". In: Communications of the ACM 13 (6): 377–387.

2. ̂ itl.nist.gov (1993) Integration Definition for Information Modeling (IDEFIX). 21 December 1993.

3. ^ a b c d e f g h Seltzer, M. (2008, July). Beyond Relational Databases. Communications of the ACM, 51(7), 52-58. Retrieved July 6, 2009, from Business Source Complete database.

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

Page 56: Foxpro File Mantain Notes

[show] v • d • e

Database management systems

[show] v • d • e

Systems and systems science

Retrieved from "http://en.wikipedia.org/wiki/Database_management_system"Categories: Database management systems | DatabasesHidden categories: Articles that may contain original research from December 2009 | All articles that may contain original research | Articles needing cleanup from July 2009 | All pages needing cleanup | Articles needing additional references from October 2008 | All articles needing additional references | Wikipedia articles in need of updating | Wikipedia articles incorporating text from FOLDOC

Views

Article Discussion Edit this page History

Personal tools

Try Beta Log in / create account

Navigation

Main page Contents Featured content Current events Random article

Search

  Interaction

About Wikipedia Community portal Recent changes Contact Wikipedia Donate to Wikipedia

Special:Search Go Search

Page 57: Foxpro File Mantain Notes

Help

Toolbox

What links here Related changes Upload file Special pages Printable version Permanent link Cite this page

Languages

Afrikaans العربية Беларуская (тарашкевіца) Bosanski Български Català Česky Deutsch Español Euskara فارسی Français Gaeilge 한국어 हि�न्दी Hrvatski Bahasa Indonesia Italiano Lietuvių Magyar Mìng-dĕ ̤ng-ngṳ̄! Nederlands 日本語 Norsk (bokmål) Polski Português Qaraqalpaqsha Română Русский Slovenčina Slovenščina Српски / Srpski Suomi

Page 58: Foxpro File Mantain Notes

Svenska ไทย Türkçe Українська Tiếng Việt 中文

This page was last modified on 29 December 2009 at 23:28. Text is available under the Creative Commons Attribution-ShareAlike License;

additional terms may apply. See Terms of Use for details.Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Contact us Privacy policy About Wikipedia Disclaimers

You are invited to vote on the global sysops proposal. Click here for more information.

[Hide] [Help us with translations!]

Visual FoxPro

From Wikipedia, the free encyclopedia

Jump to: navigation, search

"VFP" redirects here. For the floating-point extension of ARM processors, see ARM architecture#VFP.

Microsoft Visual FoxPro

Page 59: Foxpro File Mantain Notes

Typical VFP9 editing session

Original author(s) Microsoft Corporation

Stable releaseVisual FoxPro 9.0 Service Pack 2 (SP2) / 2007-10-11; 2 years ago

Operating system Microsoft Windows

Platform x86 and greater

Available inIDE: English, German, SpanishRuntime: Above, French, Chinese, Russian, Czech, Korean

Development status Maintenance mode

Type Database Programming language

License Microsoft EULA

Website msdn.microsoft.com/vfoxpro

Visual FoxPro is a data-centric object-oriented and procedural programming language produced by Microsoft. It is derived from FoxPro (originally known as FoxBASE) which was developed by Fox Software beginning in 1984. Fox Technologies merged with Microsoft in 1992, after which the software acquired further features and the prefix "Visual". The last version of FoxPro (2.6) worked under Mac OS, DOS, Windows, and Unix: Visual FoxPro 3.0, the first "Visual" version, dropped the platform support to only Mac and Windows, and later versions were Windows-only. The current version of Visual FoxPro is COM-based and Microsoft has stated that they do not intend to create a Microsoft .NET version.

FoxPro originated as a member of the class of languages commonly referred to as "xBase" languages, which have syntax based on the dBase programming language. Other members of the xBase language family include Clipper and Recital. (A history of the early years of xBase can be found in the dBase entry.)

Visual FoxPro, commonly abbreviated as VFP, is tightly integrated with its own relational database engine, which extends FoxPro's xBase capabilities to support SQL query and data manipulation. Unlike most database management systems, Visual FoxPro is a full-featured, dynamic programming language that does not require the use of an additional general-purpose programming environment. It can be used to write not just traditional "fat client" applications, but also middleware and web applications.

Contents

Page 60: Foxpro File Mantain Notes

[hide]

1 Recent history

2 Version information

2.1 Operating system compatibility

2.2 Information on executable files

3 Code samples

3.1 Object

3.2 Data handling

3.3 ODBC access using SQL passthrough

4 Beta code names

5 References

6 External links

6.1 Microsoft pages

6.2 Other pages

[edit] Recent history

In late 2002, it was demonstrated that Visual FoxPro can run on Linux under the Wine Windows compatibility suite. In 2003, this led to complaints by Microsoft: it was claimed that the deployment of runtime FoxPro code on non-Windows machines violates the End User License Agreement.[1]

In December 2005, VFP broke into the top 20 on Tiobe index[2] for the first time. In March 2007 it was at position 19, making it a "B" language, and as of December, 2008 it dropped into position 23.

In March 2007, Microsoft announced that there will be no VFP 10[3], thus making VFP9 (released to manufacturing on December 17, 2004) the last commercial VFP release from Microsoft. The support of Version 9 is ongoing with service packs that were released December 8, 2005 and October 11, 2007.

At the time of the end of life announcement, work on the next release codenamed Sedna (named after a recently discovered dwarf planet) which was built on top of the VFP9 codebase had already begun. "Sedna" is a set of add-ons to VFP 9.0 of XBase components to support a number of interoperability scenarios with various Microsoft technologies including SQL Server 2005, .NET Framework, Windows Vista, Office 2007, Windows Search and Team Foundation Server (TFS). Microsoft released Sedna under the Shared source license on the CodePlex site. Microsoft has clarified that the VFP core will still remain

Page 61: Foxpro File Mantain Notes

closed source. Sedna was released on January 25, 2008[4]. As of March 2008, all XBase components of the VFP 9 SP2 (including Sedna) were available for community-development on the CodePlex.

In late March 2007 a grassroots campaign was started by the Spanish-speaking FoxPro community at MasFoxPro[5] (MoreFoxPro in English) to sign a petition to Microsoft to continue updating Visual FoxPro or release it to the community as Open Source. On April 3, 2007 the movement was noted by the technical press[6]

Also on April 3, 2007 Microsoft responded to the petitioner's requests with this statement from Alan Griver:

"We're very aware of the FoxPro community and that played a large part in what we announced on March 13th. It's never an easy decision to announce that we're not going to release another version of a product and it's one that we consider very carefully.

"We're not announcing the end of FoxPro: Obviously, FoxPro applications will continue to work. By some of our internal estimates, there are more applications running in FoxPro 2.6 than there are in VFP and FoxPro 2.6 hasn't been supported in many years. Visual FoxPro 9 will be supported by Microsoft through 2015.

"For Microsoft to continue to evolve the FoxPro base, we would need to look at creating a 64-bit development environment and that would involve an almost complete rewrite of the core product. We've also invested in creating a scalable database with SQL Server, including the freely available SQL Server Express Edition. As far as forming a partnership with a third-party is concerned, we've heard from a number of large FoxPro customers that this would make it impossible for them to continue to use FoxPro since it would no longer be from an approved vendor. We felt that putting the environment into open source on CodePlex, which balances the needs of both the community and the large customers, was the best path forward."

[edit] Version information

[edit] Operating system compatibility

Supported Windows Versions

Version VFP 3.0VFP 5.0

VFP 6.0

VFP 7.0 VFP 8.0 VFP 9.0

Windows 3.x Yes No No No No No

Windows NT 4.0 Yes Yes Yes Yes No No [7]

Windows 95 Yes Yes Yes Runtime No No

Page 62: Foxpro File Mantain Notes

only

Windows 98 Yes Yes Yes YesRuntime only

Runtime only

Windows Me Yes Yes Yes YesRuntime only

Runtime only

Windows 2000 Yes Yes Yes Yes Yes Yes

Windows XP Yes Yes Yes Yes Yes Yes

Windows Server 2003 ? ? Yes Yes Yes Yes

Windows VistaCompatibility Mode

Yes Yes Yes Yes Yes

Windows 7 (Build 7000)

? ? Yes Yes Yes Yes

[edit] Information on executable files

Version VERSION() returnsEXE Size

EXE DateDLL Size

DLL Name

VFP 9 SP2 with Hotfixes

Visual FoxPro 09.00.0000.7423 for Windows

5,648 kb

April 3, 20094,624 kb

VFP9R.DLL

VFP 9 SP2Visual FoxPro 09.00.0000.5721 for Windows

5,648 kb

September 21, 2007

4,624 kb

VFP9R.DLL

VFP 9Visual FoxPro 09.00.0000.2412 for Windows

5,620 kb

December 13, 2004

4,600 kb

VFP9R.DLL

VFP 8Visual FoxPro 08.00.0000.3117 for Windows

5,236 kb

September 25, 2003

4,200 kb

VFP8R.DLL

VFP 7Visual FoxPro 07.00.0000.9465 for Windows

4,260 kb

January 4, 20023,344 kb

VFP7R.DLL

VFP 6 Visual FoxPro 06.00.8961.00 for 4,091 August 18, 2000 3,295 VFP6R.DLL

Page 63: Foxpro File Mantain Notes

Windows kb kb

VFP 5Visual FoxPro 5.0.0.415 for Windows

4,065 kb

January 24, 1997

3,148 kb

VFP500.DLL

VFP 3Visual FoxPro 03.00.00.0711 for Windows

4,374 kb

December 16, 1995

3,657 kb

VFP300.ESL

FPW 2.6a FoxPro 2.6a for Windows2,444 kb

September 28, 1994

2,946 kb

FOXW2600.ESL

[edit] Code samples

Hello World example:

MESSAGEBOX("Hello World")

[edit] Object

Output of the Hello World program.

loForm = CREATEOBJECT("HiForm")

loForm.Show(1)

DEFINE CLASS HiForm AS Form

AutoCenter = .T.

Caption = "Hello, World"

ADD OBJECT lblHi as Label WITH ;

Page 64: Foxpro File Mantain Notes

Caption = "Hello, World!"

ENDDEFINE

loMine = CREATEOBJECT("MyClass")

? loMine.cProp1 && This will work. (Double-ampersand marks an end-of-line comment)

? loMine.cProp2 && Program Error: Property CPROP2 is not found.

? loMine.MyMethod1() && This will work.

? loMine.MyMethod2() && Program Error: Property MYMETHOD2 is not found.

DEFINE CLASS MyClass AS Custom

cProp1 = "My Property" && This is a public property

HIDDEN cProp2 && This is a private (hidden) property

PROCEDURE Init() && Class constructor

This.cProp2 = "This is a hidden property."

ENDPROC

PROCEDURE MyMethod1()

* This is a public method, calling a hidden method that returns

* the value of a hidden property.

RETURN This.MyMethod2()

ENDPROC

HIDDEN PROCEDURE MyMethod2() && This is a private (hidden) method

RETURN This.cProp2

Page 65: Foxpro File Mantain Notes

ENDPROC

ENDDEFINE

[edit] Data handling

Output of the Data handling program.

&& Create a table

CREATE TABLE randData (iData I)

&& Populate with random data using xBase and SQL DML commands

FOR i = 1 TO 50

APPEND BLANK

REPLACE iData WITH (RAND() * 100)

INSERT INTO randData (iData) VALUES (RAND() * 100)

ENDFOR

&& Place a structural index on the data

INDEX ON iData TAG iData

CLOSE ALL

&& Display ordered data using xBase-style commands

Page 66: Foxpro File Mantain Notes

USE randData

SET ORDER TO iData

GO TOP

LIST NEXT 10 && First 10

SKIP 81

LIST NEXT 10 && Last 10

CLOSE ALL

&& Browse ordered data using SQL DML commands

SELECT * ;

FROM randData ;

ORDER BY iData DESCENDING

[edit] ODBC access using SQL passthrough

&& Connect to an ODBC data source

LOCAL nHnd

nHnd = SQLCONNECT ("ODBCDSN", "user", "pwd")

&& Execute a SQL command

LOCAL nResult

nResult = SQLEXEC (nHnd, "USE master")

IF nResult < 0

MESSAGEBOX ("MASTER database does not exist!")

RETURN

ENDIF

Page 67: Foxpro File Mantain Notes

&& Retrieve data from the remote server and stores it in

&& a local data cursor

nResult = SQLEXEC (nHnd, "SELECT * FROM authors", "QAUTHORS")

&& Update a record in a remote table using parameters

LOCAL cAuthorID, cAuthorName

cAuthorID = "1001"

cAuthorName = "New name"

nResult = SQLEXEC (nHnd, "UPDATE authors SET auth_name = ?cAuthorName WHERE auth_id = ?cAuthorID")

&& Close the connection

SQLDISCONNECT(nHnd)

[edit] Beta code names

VFP 3 - Taz

VFP 5 - RoadRunner

VFP 6 - Tahoe

VFP 7 - Sedona

VFP 8 - Toledo

VFP 9 - Europa

VFP Next - Sedna

[edit] References

^ VFP and Linux - Visual FoxPro Wiki

^ Programming Community Index

^ A Message to the Community

^ Microsoft SEDNA download

Page 68: Foxpro File Mantain Notes

^ MasFoxPro

^ Developers petition Microsoft to reconsider FoxPro phase out Posted by Mary Jo Foley (April 3rd, 2007) - All about Microsoft - ZDNet.com

^ - The free patch for VFP 9.0 has been created by the German FoxPro User Group (dFPUG) and is available at the dFPUG document portal in the directory http://portal.dfpug.de/dFPUG/Dokumente/Freeware/. It allows you to run VFP 9.0 applications on NT 4.0. Microsoft has indicated that this will be addressed in VFP 9.0 SP1.

[edit] External links

[edit] Microsoft pages

Main Visual FoxPro Microsoft page

MSDN FoxPro support board

VFP's online help

Microsoft VFP 9 support

Visual FoxPro Downloads page

[edit] Other pages

Visual FoxPro Wiki A repository of FoxPro information (written in VFP)

A site devoted to the history of FoxPro

VFPx A Visual FoxPro Community effort to create open source add-ons for VFP 9.0

[show]

v • d • e

Programming languages

Comparison | Timeline | Categorical list | Generational list | Alphabetical list | Non-English-based

[show]

v • d • e

Microsoft development tools

Page 69: Foxpro File Mantain Notes

Developmentenvironments

Visual Studio (Team System · Express) · Visual Studio Tools for Office · Visual Studio Tools for Applications · Expression Web · Expression Blend · Microsoft Office SharePoint Designer

Languages andcompilers

Visual Basic (VB.NET) · Visual C++ · Visual C# · Visual J# · Visual FoxPro · IronPython · IronRuby · PowerShell · XAML · F#

Major APIs andframeworks

Windows API / SDK · .NET Framework · Managed code frameworks (Presentation · Communication · Workflow · CardSpace) · Silverlight · XNA · ASP.NET (ASP.NET AJAX) · LINQ · ADO.NET · DirectX · Robotics Developer Studio

Database toolsand languages

SQL ServerExpress · Compact · Management Studio · Business Intelligence Development Studio · MSDE

SQL services

Analysis · Reporting · Integration · Notification

Other Visual FoxPro · Microsoft Access · Extensible Storage Engine

Source control Team Foundation Server · Visual SourceSafe

Driver development

Windows Driver Model · Windows Driver Foundation (KMDF · UMDF) · Windows Driver Kit · Windows Logo Kit

Retrieved from "http://en.wikipedia.org/wiki/Visual_FoxPro"

Categories: 4GL | Data-centric programming languages | Object-oriented programming languages | XBase programming language family | Procedural programming languages | Database management systems | Microsoft development tools | Microsoft database software | Programming languages created in 1984

Views

Article

Discussion

Edit this page

History

Personal tools

Try Beta

Page 70: Foxpro File Mantain Notes

Log in / create account

Navigation

Main page

Contents

Featured content

Current events

Random article

Search

Top of Form

Bottom of Form

Interaction

About Wikipedia

Community portal

Recent changes

Contact Wikipedia

Donate to Wikipedia

Help

Toolbox

What links here

Related changes

Upload file

Special pages

Printable version

Permanent link

Special:Search Go Search

Page 71: Foxpro File Mantain Notes

Cite this page

Languages

Català

Česky

Deutsch

Eesti

Español

فارسی

Français

Galego

Hrvatski

Bahasa Indonesia

Italiano

Bahasa Melayu

Nederlands

日本語

Polski

Português

Русский

Тоҷикӣ

Türkçe

Tiếng Việt

中文

Page 72: Foxpro File Mantain Notes

This page was last modified on 6 January 2010 at 01:25.

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms of Use for details.Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.

Contact us

Privacy policy

About Wikipedia

Disclaimers