- Microsoft Access Database
-
Die Microsoft Access Database ist das Standard-Datenbank-Format von Microsoft Access. Die Standard-Datei-Erweiterung ist „.mdb“ (seit Access 2007 auch „.accdb“). MDB ist die Abkürzung für Microsoft DataBase und ein Dateiformat, welches eine Datei-basierte proprietäre Datenbank darstellt. Der interne Aufbau ist somit weitestgehend nur Microsoft bekannt. Programmierer können diese Datenbank über die Jet-Engine oder ActiveX Data Objects nutzen.
Inhaltsverzeichnis
Allgemeines
Microsoft Access (CodeName „CIRRUS“) ist mit geschätzten 100 Millionen Installationen weltweit das wohl erfolgreichste Datenbank-Format der Welt. Erschienen 1992 hat es in nur vier Jahren das damals in diesem Sektor führende Datenbank-Format dBase abgelöst[1]. Das Datenbankformat bietet seit Version 1.0 (1992): Tabellen, Referentielle Integrität, Check-Clauses, Encryption, User-Management, Dialoge, Reports, Stored-Queries und VBA-Interaction (anfangs noch AccessBasic genannt) an.
Es gibt zahlreiche Anwendungen, die dieses Datenbankformat verwenden, da es auch mit den Programmiertools von Microsoft mitgeliefert wird. Eine abgewandelte Form dieses Dateiformates wird auch in Microsoft MapPoint benutzt, oder als sogenannte Blue-Jet in Microsoft Exchange sowie z. B. für die Windows Server Active Directory-Datenbank. Eine Vorgängerversion dieses Formates wurde ab 1989 mit Microsoft Basic Professional Development System (PDS) Version 7.0 und 7.1 sowie mit Microsoft Visual Basic für Dos Version 1.0 als sogenannte ISAM Datenbank (Beispieldatenbank BOOKS.MDB) inklusiv Bearbeitungstools ausgeliefert.
Es existieren bereits viele unterschiedliche Versionen, die zum Teil nicht kompatibel zueinander sind. Zur Nutzung ist daher häufig ein Importfilter oder Konverter nötig.
Microsoft spricht immer von Access-Datenbank. Genauer gesagt handelt es sich - je nach Access-Version - um verschiedene Datenbanken. Access benutzt eine vorhandene Datenbank (sozusagen als Client) um seine Extra-Strukturen zu speichern:
- keine Access-Version benutzt die Jet-Datenbank Version 0.5 (ISAM mdb)
- Access-Version 1.0 benutzt die Jet-Datenbank Version 1.0
- Access-Version 1.1 benutzt die Jet-Datenbank Version 1.1
- Access-Version 2.0 benutzt die Jet-Datenbank Version 2.0
- Access-Version 7.0 benutzt die Jet-Datenbank Version 3.0
- Access-Version 8.0 benutzt die Jet-Datenbank Version 3.0
- Access-Version 9.0 benutzt die Jet-Datenbank Version 4.0 (mdb) oder den SQL-Server (adp)
- Access-Version 10.0 benutzt die Jet-Datenbank Version 4.0 (mdb) oder den SQL-Server (adp)
- Access-Version 11.0 benutzt die Jet-Datenbank Version 4.0 (mdb) oder den SQL-Server (adp)
- Access-Version 12.0 benutzt die Jet-Datenbank Version 4.0 (mdb) oder die Jet-Datenbank Version 12.0 (accdb) - benötigt ACE (Microsoft Access Database Engine 2010)
- Access-Version 14.0 benutzt die Jet-Datenbank Version 4.0 (mdb) oder die Jet-Datenbank Version 12.0 (accdb) - benötigt ACE (Microsoft Access Database Engine 2010)
Versionen
Name / Alias Exe -Typ Bits Erscheinungsjahr Beschreibung „Access 0.5“ 16 1990 enthalten in Microsoft BASIC Professional Development System (PDS), 16 Bit, DOS-ISAM-Datenbank, Maximal-Größe 128 MB, Seitengröße 2 KB, lokaler Zeichensatz Access 1.0 16 1992 wählbarer Zeichensatz pro Feld Access 1.1 16 1993 maximale Datenbank-Größe 1 GB Access 2.0 16 1994 enthalten in Office Professional 4.3 Access 7.0 / 95 32 1995 enthalten in Office 95, 32 Bit Access 8.0 / 97 32 1997 enthalten in Office 97 Access 9.0 / 2000 32 2000 enthalten in Office 2000, maximale Datenbank-Größe 2 GB, Seitengröße 4 KB, Unicode (UCS2 oder UTF-8? bei UnicodeCompression) Access 10.0 / 2002 / XP 32 2002 enthalten in Office XP Access 11.0 / 2003 32 2003 enthalten in Office 2003 Access 12.0 / 2007 32 2007 enthalten in Office 2007 Access 14.0 / 2010 32 / 64 2010 enthalten in Office 2010 Der Sprung in den Versionsnummern (von Version 2.0 auf 7.0) ist darauf zurückzuführen, daß es zur Zeit von Version 2.0 (vor Windows 95) noch kein richtiges Office gab, sondern lediglich die einzelnen Anwendungen Access 2.0, Excel 5.0 und Word 6.0. Da unter Windows 95 das Office als ganzes Paket vertrieben werden sollte, war die nächste freie Versionsnummer (von Word aus betrachtet) die Version 7.
In der Version „Access 0.5“ (mit DOS-ISAM-Datenbank) sind noch keine grafischen Werkzeuge enthalten, sondern lediglich die Jet-Tabellen (Beispiel-Datenbank: BOOKS.MDB).
Systemtabellen
Je nach Version der Jet-Engine und der darüberliegenden Access-Version entstehen unterschiedliche Systemtabellen:
Access/Jet System-Tabellen und Ersteller nach Version Jet 0.5 Jet 1.0 Jet 1.1 Jet 2.0 Jet 3.0 Jet 4.0 Jet 12.0 Acc 1.0 1992 Acc 1.1 1993 Acc 2.0 1994 Acc 7.0 1995 Acc 8.0 1997 Acc 9.0 2000 Acc 10.0 2002 XP f2k Acc 10.0 2002 XP f2k2 Acc 11.0 2003 f2k Acc 11.0 2003 f2k2 Acc 12.0 2007 f2k Acc 12.0 2007 f2k2 Acc 12.0 2007 f2k7 Acc 14.0 2010 Inhalt Benutzt Jet 1.0 1.1 2.0 3.0 3.0 4.0 4.0 4.0 4.0 4.0 4.0 4.0 12.0 ? Exe -Typ Bits 16 16 16 16 32 32 32/64 16 16 16 32 32 32 32 32 32 32 32 32 32 32/64 MSysObjects X X X X X X X Hauptobjekte + Diagramme MSysColumns X X X X Spalten MSysIndexes X X X X Indicees MSysRelationships X X X X X X X Fremdschlüssel MSysTempIndexes X ? MSysQueries X X X X X X Abfragen-Bestandteile MSysACEs X X X X X X Objekt-Zugriffsrechte MSysGroups X X X X X ? Gruppenkonten MSysAccounts X X X X X ? Benutzerkonten MSysComplexColumns X ? MSysMacros X X X Makros MSysIMEXSpecs O O O X O O O O O O O O O ? Import-Export-Jobs MSysIMEXColumns O O O X O O O O O O O O O ? Import-Export-Spalten MSysModules X X Module++ MSysToolbars X Symbolleisten MSysModules2 X Module++ MSysCmdbars O Symbolleisten MSysAccessObjects X X X X ? binär frm rpt mcr bas MSysAccessStorage X X X X ? binär frm rpt mcr bas MSysAccessXML ? ? ? ? ? ? ? MSysNavPaneGroupCategories X X X ? ? MSysNavPaneGroups X X X ? ? MSysNavPaneObjectIDs X X X ? ? MSysNavPaneGroupToObjects X X X ? ? X = Immer O = Optional ? = Todo Acc = Access f2k = Format 2000 f2k2 = Format 2002 XP f2k7 = Format 2007 Erweiterung auf SQL-Server
Eine MDB ist als Backend für größere Datenmengen ungeeignet, da ihre Größe aktuell maximal 2 GB betragen kann und außerdem die Zugriffszeit bei gleichzeitiger Benutzung von mehreren Rechnern aus erheblich steigt. Eine bewährte Faustformel besagt: Maximal 20 User und maximal 200 MB.
Diesen Nachteil hat Microsoft in der Weise zu kompensieren versucht, dass ab Version 2000 die sogenannte MSDE (Microsoft Data- oder Desktop-Engine) mit Office 2000 oder Visual Studio ausgeliefert wurde, eine im Leistungsumfang beschränkte, kostenfreie Version des Microsoft SQL Server. Mit SQL Server 2005 hat Microsoft die MSDE in Express Edition umbenannt. Von Version zu Version hat Microsoft auch die Einschränkungen gelockert, die aktuelle SQL Server 2008 R2 Express Edition unterstützt einen Prozessor, ein GB RAM und eine maximale Datenbankgröße von 10 GB.[2]
Die Umstellung auf SQL-Server als Backend-Datenbank ist seit jeher möglich mit dem sogenannten „Upsizing-Wizard“, welcher seit der Version 2000 fest eingebaut ist unter Extras | Datenbank-Dienstprogramme | Upsizing-Assistent.
Weblinks
- SQL 2005 Express Edition mit Verwaltungs-Tools – Microsoft SQL Server 2005 Express Edition with Advanced Services Service Pack 2
- MSDE 2000 Deutsch – Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Version A
- Access Tips 01 – Allen Browne's Database and Training
- MDB-Tools – Sammlung von Open Source-Werkzeugen und Bibliotheken für Access-Datenbanken (leider seit Mitte 2004 nicht mehr gepflegt)
- [2] – Englisch: Geschichte der Jet-Engine
- [3] – Englisch: Microsoft_Jet_Engine
Einzelnachweise
Wikimedia Foundation.