2011年1月31日月曜日

何は、データベースは、リレーショナルせるのか?

インターネット上で広がっている中傷があります。それはあまりにも深く、多くの聡明な人々は、彼らがそれを理解すると思うことが定着している。これは完璧な理にかなっている。それが論理的なものです。それは理解できる。しかし、それは、間違っている間違っている間違っているのです。

私が説明させてください...

1960年代のコンピュータに戻って、騒々しく、非常に、非常に高価大きかった。情報は、多かれ少なかれ、ランダムな場所に保管され、アクセス手でフェッチする&適切な場所にデータを送信コード化されたプログラムによって。これは、紙の上にランダムに自分の電話番号と一緒にすべてのあなたの友人の名前を書くように少しした。どのようにして電話番号は、友人に属している知っていますか?これらの初期の時代には、プログラマは項目が属し知っていた彼らは、システムのデータを取得するプログラムを書いたときにすると。システム自体では、ほとんどすべての場所に終わった。お客様の電話番号は、プログラマは、情報が使用されるたびに、顧客の名前にリンクされていた。

その後、1970年に、一緒に彼の独創性に富んだ紙テッドコッド来た:"データのリレーショナルモデルを大規模な共有データバンクは、"(http://www.acm.org/classics/nov95/toc.html)。

博士エドガーコッドは、オックスフォードで教育を受けた、ドーセット、イングランドで1923年に生まれ、戦争中に空軍に飛んだ。 1949年に彼は、アメリカでIBMに入社し、1976年にIBMフェローとなり、1981年にチューリング賞、業界最高の栄誉が可能と発表された。しかし、少数の人々は現在、彼の'リレーショナルモデル'を理解しています。

ほとんどの人は、テーブル内の、リレーショナルデータベースの情報を格納を知っている。スポーツ等の電話帳、テレビプログラムのリスト、電車の時刻表、リーグテーブルを - これらは私たちが日常的に使ってテーブルに似ている

多くの人々は、それはあなたが別の情報を照合して、あるテーブルの情報を関連付けることができます場合、データベースは、リレーショナルされていることと思います。

注文システムを検討してください。お客様がするので、別で開催されたことが顧客の注文にお客様に関連付けることができます、お客様番号をされている最初の列との接触の詳細は、与信限度、電話番号などの受注は、別のテーブルにある、と一緒に、一方のテーブルにあるテーブル。多くの人々は、これは'関係'と呼ばれると思います。実際には、のStructured Query Language(SQL)でこれはリレーショナルデータベースを操作するために使用されると、その'結合'と呼ばれる。

テッドコッドは、テーブルの関係をされていることを示した。彼の言ったことは、テーブル内のすべてのデータを置く場合は、データのいずれかの部分は(顧客名)が毎回プログラミングすることなく、他のすべての(お客様の電話番号)との関係を見ることができるということでした。

スポーツ等の電話帳、テレビプログラムのリスト、電車の時刻表、リーグテーブルを - 通常の表のように我々が日常的に使用

多くの人々は、それはあなたが別の情報を照合して、あるテーブルの情報を関連付けることができます場合、データベースは、リレーショナルされていることと思います。

注文システムを検討してください。お客様がするので、別で開催されたことが顧客の注文にお客様に関連付けることができます、お客様番号をされている最初の列との接触の詳細は、与信限度、電話番号などの受注は、別のテーブルにある、と一緒に、一方のテーブルにあるテーブル。多くの人々は、これは'関係'と呼ばれると思います。実際には、のStructured Query Language(SQL)でこれはリレーショナルデータベースを操作するために使用されると、その'結合'と呼ばれる。

テッドコッドは、テーブルの関係をされていることを示した。彼の言ったことは、テーブル内のすべてのデータを置く場合は、データのいずれかの部分は(顧客名)が毎回プログラミングすることなく、他のすべての(お客様の電話番号)との関係を見ることができるということでした。

(実際には、彼が言ったようなものだった:

"という用語の関係は、その受け入れられて数学的な意味でここで使用されます。与えられた集合S1を、S1は,···,は、Sn、(必ずしも明確な)、Rは、これらのnの関係が設定はn -それぞれのタプルのセットされている場合S1は、S1から2番目の要素などから、その最初の要素を持っている。"

しかし、彼は数学の天才だったと私はどちらもしています。)

表では、例えば電話帳は、1つの列の名前を読むことができますし、次の列に電話番号を知っているあなたは読むだけの名前に関連し、ではなく、いくつかの他の名前を別のページに表示されます。任意の(縦)列では、すべての情報は、同じタイプ(名前または電話番号の両方ではなく)です。各行では、すべての情報(電話番号は、'name'カラムの名前ではなく、いくつかの他の名前どこかに属している)関連しています。

リレーショナルデータベースに格納テーブルにそのデータだから。そのように簡単です。これらのテーブルには、またはが、複雑なクエリの他のテーブルに参加できない場合がありますそうではない場合は、それは、リレーショナルされて停止しません。

約結合テーブルを渡すの会談では、:(高レベルの挿入、更新、および削除規則7)1985年テッドコッドは、リレーショナルデータベース、全部で12、しかし、それらの1つだけのための規則を定義しています。ルールの一部は、今も現代のリレーショナルデータベースでサポートされていません。テッドコッドは、2003年に他界した技術はまだ彼の驚くべき洞察力のすべてに追いついていない。

0 件のコメント:

コメントを投稿