Microsoft Access is a database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is supported by Visual Basic for Applications (VBA) and allows developers to develop application software.
The Microsoft Jet Database Engine is a database engine built by Microsoft. JET stands for Joint Engine Technology and its first version was developed in 1992. Jet is used as the underlying database engine by Microsoft Access and Visual Basic. It has also been upgraded for general use.
Access originated from Project Cirrus of Microsoft during late 1980s. The project aimed to create an application on Windows that can compete with Paradox or dBase. It used some code from both the Omega project (which is Microsoft's first attempt to sell a relational database product during the mid 1980s) and a pre-release version of Visual Basic. In July 1992, betas of Cirrus was released as a product and Access became its official name.
By default, Microsoft Access uses unicode compression (which dynamically mapping values in the range 128–255 to offsets within particular blocks of 128 characters) when creating the field via the table properties., all data for the text data types (Text, Memo, or Hyperlink field) are stored in the Unicode 2-byte character format.
Multi-version Concurrency Control (MVCC)
MS access supports coarse-grained MVCC. In a multi-user scenario, the application will be split. This means that the tables are in one file called the back end (typically stored on a shared network folder) and the application components (forms, reports, queries, code, macros, linked tables) are in another file called the front end. The linked tables in the front end point to the back end file. Each user of the Access application would then receive his or her own copy of the front end file.
Access tables support a variety of standard field types, indices, and referential integrity including cascading updates and deletes.
Foreign keys are not enforced in Access, they are important constraints that can be used to enforce data integrity in Access.
Microsoft Access only support B+ tree index.
Access support multiple isolation levels including Read Uncommitted, Read Committed, Repeatable Read, Snapshot Isolation and Serializable.
They incorporate Fox's Rushmore query optimization routines into Access.
Queries are defined in Microsoft QBE (Query By Example) through the Microsoft Access SQL Window. These queries are then converted to SQL Select statement queries. These SQL queries are then compiled and converted into an internal Jet query object format, which is a tree-like structure. Finally, the system executes the query and return the result.
Access has a query interface, forms to display and enter data, and reports for printing.
Microsoft Access can scaled to enterprise-level solutions by linking to multiple databases on disk or using a back-end database like Microsoft SQL Server.
N-ary Storage Model (Row/Record)
The storage space in Microsoft databases are organized into fixed-length (4 kB in Jet 4) different pages. Data is stored in variable length record, which is less than or equal to page size.
VBA (Visual Basic for Application) functions can be written to define any user function in MS Access.
MS Access mainly provides solutions for small-size databases for personal use and runs as standalone software.
Views are not supported in MS Access.