ベストアンサー
OQ:時制データベースの例とは何ですか?
時制データベースは時制データベースに似ていますが、時制データベースは空間に関連するデータタイプ、関係、関数をサポートし、時制データベースは時間に関連するものに焦点を当てている点が異なります。時制データベースのデータ型は「期間」であり、言語拡張(通常のSQLから)はwithin\_period、periods\_overlap、periods\_exclusiveなどの関数である可能性があります。時制データベースのプライマリキーは時間とともに変化する可能性があります(期間内でのみ一定である必要があります)
通常のリレーショナルデータベースで時制データベースを部分的にシミュレートできます。すべてのテーブルは、いつからいつまでを指定する列「datefrom」と「dateto」で拡張されます。レコードは有効な情報です。例:
マーク、ブロンド、2000–03–21、2048–12–11
マーク、ハゲ、2048–12–12、2048–12–23
Mark、wigged、2048–12–24、…
Temporal dbを使用すると、さらに多くのことができるはずです。たとえば、UQ(髪型、日付から、日付から)だけではない、跳躍しない期間を意味する、一定期間にわたる一意の制約を簡単に述べることができるはずです。
回答
まず、いくつかの用語を明確にしておきましょう。データベース管理システムは、データを簡単に長期間保存、検索(クエリ)、取得、および変更できるようにデータを整理および管理するように設計されたソフトウェアです。データベースは、このストレージのインスタンスです。したがって、類推すると、データベース管理システムは図書館カードカタログの概念のようなものであり、データベースは特定の図書館でカードを保持する特定のキャビネットのようなものです。ただし、ほとんどの人が会話で行うように、全体的な概念を「データベース」と呼びます。
データを保存および取得できることは非常に一般的であり、それは真実です。まさにそれです。データベースはです。これらは、ソフトウェアアプリケーションで一般的に発生するニーズに適合する一般化されたソリューションです。データベースの重要な機能は、アプリケーション/ビジネスで使用されることを意図した方法でデータを編成することです。これは、ファイルのコレクションだけでなく、アプリケーションのコンテキスト内でファイルを整理する方法でもあります。この種のニーズは、ソフトウェア、特に永続的なストレージとオンラインアクセスを必要とするインターネットアプリケーションで常に発生します。たとえば、電子メールサービスを作成する場合、電子メールを永続的に保存し、ユーザーが電子メールを取得できるようにする必要があります。メールを検索して並べ替えることができる必要があります。どのメールがどのユーザーのものかなどを簡単に見分けることができる必要があります。データベースはこれに最適です。
ほとんどすべてのソフトウェアがデータを保存してアクセスする必要がありますが、ソフトウェアエンジニアは常にデータベースを使用することを選択するとは限りません。したがって、データベースが常に必要であるとは限らない場合は、彼らは目的を果たし、いつ使用するかをどのように知るのでしょうか?
繰り返しになりますが、完璧ではありませんが、類推を使用してみます。あなたが学校のために短い2ページの研究論文を書いていると想像してください。すでによく知っている教科書のいくつかの章を読む必要があります。この場合、章を読んですぐに論文を書き始めることができます。必要に応じて教科書を参照してください。 。たぶん、あなたは「アウトラインにいくつかのメモを書き留めるでしょう。何であれ、大したことではありません。
ここで、50ページの長さになる徹底的に研究された論文を書かなければならないとしましょう。あなたは「十数冊の教科書を使って研究し、参考文献を引用する必要があります。今、あなたは間違いなく整理する必要があります。あなたはおそらく、メモの書き方、教科書でのブックマークの使い方、論文の概要について、より整理され、勤勉になりたいと思うでしょう。
最初のシナリオでは、スーパーであること整理されていると、少しやり過ぎになり、速度が低下する可能性があります。2番目のシナリオでは、整理されていないと、適切に仕事をすることができません。これら2つのシナリオの中間にあるのは、アプリケーションはデータベースを使用する必要があり、いつそれがおそらくもっと軽いことをすることができるか。それはシナリオと製品/サービスのニーズに依存します。
この時点で、「何を尋ねるのが自然です」。 sデータベースとファイルシステムの違いは?どちらもデータの保存、整理、取得に使用されますか?
ファイルシステム(コンピュータにファイルを保存して表示するシステムなど)は、データベースが実行するように設計されているのと同じことの多く。データを長期間保存します。それはあなたがデータを検索することを可能にします。データと新しいデータを取得したり、既存のデータを変更したり、データを削除したりできます。
主な違いは、ファイルシステムは特定のアプリケーションやビジネス目的のためにデータを整理することを目的としていないことです。ファイルを保存および取得できるようにするために必要なもの以外は、データの構造についてあまり理解していません。ファイルは必ずしも相互に関連しているわけではありません。それらは必ずしも相互に依存しているわけではなく、相互に特定の意味を持っているわけでもありません。コンピュータのファイルシステムには、MP3があり、おそらくあなたが書いた学校の論文、ビデオゲームのセーブファイル、電子メール、とあなたのカメラからの写真。ファイルシステムは、これらのファイルを整理してさまざまなアプリケーションで使用するのに役立ちますが、それらを結び付ける中心的な理解はありません。したがって、「私のお気に入りのMP3はどこにありますか?」のように、ファイルシステムに意味のある質問がいくつかあるかもしれません。 「どのファイルが最大ですか?」 「どのファイルが最新ですか?」 「去年の私の写真はどこにありますか?」ただし、「このMP3はこのWord .docよりも価値がありますか?」など、ファイルシステムにとって意味のない質問が他にもあります。
一方、データベースは、次のようなデータを保存することを目的としています。すべて、少なくとも何らかの形で、いくつかの共通の目的に関連しています。したがって、データベースは、「私の最も価値のある顧客は誰ですか?」「最も人気のある製品はどれですか?」などの質問に簡単に答えられるように情報を整理するのに適しています。 「「製品Aが利用可能であることに依存しているすべてのサプライヤとすべての顧客は誰ですか?」など
もう一度類推すると、ファイルシステムは次のファイルキャビネットのようになります。家。税務書類、車のメンテナンス記録、子供たちのレポートカード、手に入れたい領収書、請求書などを保存するために使用します。これにより、荷物が整理され、見つけ方がわかります。しかし、そこにあるすべてのものが必ずしもそこにある他のすべてのものに関連しているわけではありません。
データベースは、たとえば、ACCのファイリングキャビネットの束のようなものです。請求書のみを保持するオフィス。それらはおそらくすべて何らかの方法で編成されています。すべての売掛金が一方の壁に、すべての買掛金がもう一方の壁にあるように。日付順に並べるか、支払人または受取人のアルファベット順に並べることができます。インデックスがいくつかある場合があります。特定の名前と、おそらく電話番号による別のインデックス、または20万ドル以上の価値のあるすべての請求書を一覧表示する別のインデックスを持つ支払人に関連付けられたファイルを探すキャビネットを示す前面のファイル。すべての関連ファイルビジネスにとって、ビジネスの目的にとってより役立つ方法で編成されています。