10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Visual BasicAdvent Calendar 2023

Day 25

Microsoft Accessはこうして生まれた。

Last updated at Posted at 2023-12-25

はじめに

これは、Visual Basic Advent Calendar 2023の25日目の記事となります。

自分にとって Microsoft Access は、Windows の開発を始めた最初のアプリケーションとなります。これにより、イベントドリブンによる開発およびSQLを覚えました。

こうして生まれたシリーズ第3段となります。

時代背景

コンピュータ化されたデータベースは、大企業にとってハードウェアの費用対効果が高まり始めた 1960年代に初めて登場しました。1970年代には 2つのデータベースのプロトタイプ(IngresSystem R)がリリースされました。この2つは今日知られているほとんどのデータベース(SQL ServerDB2OraclePostgreSQLMySQL)の基礎を築きました。
これらのデータベースは、リレーショナル モデルに従いクエリ言語として構造化クエリ言語(SQL)を使用しました。1980年代にはデスクトップ PCが成長し、それに伴ってParadoxdBaseR:BASEなどのよりアクセスしやすい製品が開発され、1980年代後半にAccessが登場しました。

PostgreSQLは、Ingres の次版(Post)として Postgres となり、その後 Postgres95 という名前になったが、時代を表すものに基づかなくなったことから、現在の PostgreSQL という名称となった。

Access登場前

1980年代は、アシュトンテイト社(1991年にBorland社が買収)が1982年にIBM-PC版 dBASE IIをリリースし、これが爆発的な売り上げを記録した。これにより1987年まで、dBASEの様々なクローン(xBase)が次々に生まれていた。その中のFox Software社が1984年12月にリリースしたFox Pro(当初の名前はFoxBase)が一歩抜きん出ており、dBaseFox Proがデスクトップ データベース市場を独占していました。Borland社の Paradox もそれなりに健闘していた。

プロジェクト開始

Microsoft社が、リレーショナル データベース製品を販売しようとした最初の試みは 1980年代半ばで、そのとき R:BASEを販売するライセンスを取得しました。

Accessは1980年代後半プロジェクトOmega(オメガ)として開始され、数年間の開発を経て1990年にリリースされる予定でした。Omegaは Microsoft SQL Server のフロントエンドを提供することも期待されていましたが、当時利用可能な 386 プロセッサでは非常にリソースを大量に消費し速度が遅かったことから、この予定はキャンセルされてチームは2つのグループに分かれました。
1つのグループはプロジェクトThunder(サンダー)に移され、後のVisual Basicとなり、もう1つのグループはプロジェクトCirrus(シーラス)に移され、後のMicrosoft Accessとなります。

時代背景的には下記を読むといいでしょう。

プロジェクト Cirrus(シーラス)

目標は、Windows 上で実行されるParadoxdBaseのようなアプリケーションの競合他社を作成することでした。データベース分野で遅れていた Microsoft はFox ProのFox Software社を1992年に買収します。この買収により、大規模で忠実な FoxPro コミュニティ、Rushmore テクノロジ、および経験豊富な開発者を多数獲得しました。
このプロジェクトがFox Proに置き換えられるという噂がありましたが、Microsoft はこれらのプロジェクトを並行して開発することを決定しました。これにより、Fox Proは、Microsoft Visual FoxPro としてリリースされています。
しかし、Accessと競合する製品となるため、2004年12月17日にリリースされたVisual FoxPro 9が最後となりました。なお、日本では販売されなかったため、日本での知名度が低い製品である。

Access 1.0リリース

Microsoft社では、古いターミナル エミュレーション プログラムにAccessという名前を使用していました。このプログラムは放棄され、1992年11月13日にMicrosoft Accessとしてリリースされました。
当初のプログラミング言語はAccess Basicという、Access向けのVBAで書かれたサブセットでした。

Microsoft Access 1.0は、非常に短期間で100万部以上売り上げました。 これには、Microsoft社さえも驚きました。
競合のBorland社でもParadox for Windowsを開発していたが、当初の計画より1年間開発が遅れたことによりMicrosoft Accessの方が数ヶ月前に出荷することができ、市場での勝利を得ました。

dBase その後

1980年代に一世風靡したdBASEでしたが、アシュトンテイト社をBorland社が1991年にが買収、Borland社はParadoxdBASEの2つのデータベースを持つ状態となります。
Borland社は、dBASE for Windowsを1994年にリリースしたが、既にMicrosoft Accessが市場を席巻しているばかりか、Microsoft社はMicrosoft Visual FoxProもリリース、dBASEクローンの市場はFoxProに収斂する流れが既に出来上がってしまっていた。

Borland社はこの頃には、Delphi(1995年9月リリース)で成功をおさめていた上、Paradoxに力を入れていたこともあり、dBASEの権利を dBASE Inc に売却した。

Access と JET データベース エンジン

Access と JET データベース エンジン は、密接な関係となっています。

Access の初期バージョンには、データ損失や大きなファイル サイズの処理に関する多くの問題がありました(当時、10MBであっても大きなファイルという扱いでした)。

アプリケーション/バージョン Jet バージョン リリース
Microsoft Access 1.0 1.0 1992年11月
Microsoft Access 1.1 1.1 1993年5月
Microsoft Access 2.0 2.0 1994年3月
Microsoft Access 2.0 Service Pack 2.5 1994年10月
Microsoft Access 95 / Excel 95 3.0 1995年8月
Microsoft Access 97 / Excel 97 / PowerPoint 97 / Word 97 3.5 1997年1月
Microsoft Access 2000 4.0 SP1 1996年6月

Microsoft Access 2007からACE 12.0(Accessデータベースエンジン)となっている。

Microsoft Jet 1.1

Microsoft Jet と Open Database Connectivity (ODBC)データベース間の接続性を向上させるために、さまざまな改善が行われました。これには、新しい Oracle ODBC ドライバー、接続の共有とキャッシュのためのサービスを提供する接続マネージャーの導入、および任意の ODBC ドライバーと連携する機能の全般的な改善が含まれます。さらに、データベース ファイルの最大サイズが 128MiBから約 1.1 GiBに増加しました。Microsoft FoxPro テーブルへのアタッチのサポートと、海外ユーザー向けのいくつかの新しい照合順序も追加しました。
Microsoft Jet 1.1 には、データ アクセス オブジェクト (DAO)インターフェイスのバージョン 1.1 が含まれています。

Microsoft Jet 2.0

前バージョンに比べて大幅な機能強化が施されています。主な改善分野には、エンジン レベルでの参照整合性とデータ検証の強制、クエリパフォーマンスの最適化(Rushmoreテクノロジーを使用)、ANSI 標準 SQL 構文ルールへの準拠の強化、 UNION、サブ SELECT、およびデータのサポートが含まれます。
データ アクセス オブジェクト (DAO)インターフェイスのバージョン 2.0 が含まれています。

Rushmoreテクノロジー

FoxPro社がリリースしたFoxPro 2には、インデックスを使用してデータの取得と更新を高速化する「Rushmore」最適化エンジンが含まれていました。
Rushmoreテクノロジーはすべてのデータ関連ステートメントを検査し、フィルター式を探しました。これを使用することで、同じ式に一致するインデックスが検索されます。

Microsoft社が FoxPro社を買収したときに本当に興味を持っていたのは、Rushmore テクノロジでした。 このRushmoreを Jet データベース エンジンにいち早く組み込み、Microsoft Access 2.0 を含むすべての Microsoft プログラムでそれを利用できるようにしました。

Microsoft Jet 2.5

データベースが誤って破損とマークされる頻度を最小限に抑えることと、新しい ODBC デスクトップ データベース ドライバのサポートを追加することという 2つの目標を達成するために設計された暫定リリースでした。
おそらく Microsoft Jet 2.5 の最大の特徴は、エンジンの最初の 32 ビット リリースが含まれていることです。

Microsoft Jet 3.0

新機能と向上したパフォーマンスを提供します。このアップグレードの最も重要な点は、Windows 95 や Windows NT などの環境で使用できる完全な 32 ビット実装です。
ほとんどの操作を大幅に高速化することを目的として、データベース形式とエンジンがデータを処理する方法に多くの変更が加えられました。マルチスレッドの実装やレプリケーション機能が導入されました。
開発者はさまざまな場所で使用できる複製可能なデータベースを作成できます。Microsoft Jet はこれらのレプリカを同期し、データを最新の状態に保つことができます。

年表

年表 内容
1992 Microsoft Access 1.0 が Windows 用 Office Professional スイートの一部として 11 月にリリースされました。これは、Paradox や dBase と競合する製品でした。
1993 Access 1.1 では、Access Basic プログラミング言語が組み込まれ、互換性が向上しました。
1994 Access 2.0 が Office 4.3 Professional とともにリリースされました。
1995 Microsoft Access 7.0 が Office 95 の一部としてリリースされました。このバージョンでは、他の Office アプリケーションとの一貫性を保つために、Access Basic から VBA (Visual Basic for Applications) に移行しました。
1997 Access 97 (バージョン 8.0) が Office 97 とともにリリースされました。
1999~2003 Access 2000、2002、および 2003 は、バックアップおよび復元データベース ツールなどの新機能を含む Office 2000 および Office XP スイートの一部としてリリースされました。
2007 Office 2007 の一部である Access 2007 が、新しいインターフェイスと新しいデータ型を備えてリリースされました。
2010 Access 2010 は Office 2010 とともにリリースされ、SharePoint に公開できる Web データベースが導入されました。
2013 Access 2013 がリリースされ、Web アプリの作成によるオンライン アクセスとコラボレーションが強調されました。
2016~2019 Access 2016 と 2019 はそれぞれ Office 2016 と Access 2019 の一部としてリリースされ、大きな更新はほとんど提供されず、代わりに大幅な変更よりも安定性と改善に重点が置かれていました。
2023~ Access の継続的な更新と改善が Office 365 サブスクリプション サービスを通じて提供されるようになり、統合、クラウド接続、データ分析の改善に重点を置いた更新が行われます。

最後に

Microsoft Accessは、簡単なDBとレポートが搭載されていて、Access 95を使用していた当時は社内用アプリケーションの改良に勤しんでいました。いい勉強になったな。

これを調べていて、VBScriptはいつ出来たんだろうとふと思ったんです。wikiによれば、1996年8月にWWWのクライアントスクリプト言語としてInternet Explorer 3.0に実装され、その後にWindows 95 OSR2より標準搭載されたんですね。
来年は廃止されてしまうと言われているので、「VBScriptはこうして生まれた。」にする予定です。

参照

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?