
No.6ベストアンサー
- 回答日時:
リレー競争(relay)とリレーション(relate)とを結び付けるのは
無理がありそう。
ひとつのデータと別のデータを各々のデータの中の特定の値で関連
付ける(別データを参照したりグループ化できる等)ことができる
データベース、でいいのでは?
例えば学校の生徒名簿なら、カード型データベースでいえば一つ一
つのデータは個人データですけど、クラス名をリレーショナルキー
とすれば、あるクラスには何人在籍しているとかなどキーでグルー
プ化して計算できたりします。
表は関係無いです。
情報ありがとうございます。
>ひとつのデータと別のデータを各々のデータの中の特定の値で関連
付ける(別データを参照したりグループ化できる等)ことができる
データベース、でいいのでは?
これで説明しようと思います。
No.5
- 回答日時:
> ただ、単にリレーショナルデータベースとはどういうものなのか?を伝えないと駄目なのです。
「Excelデータベースで出来ないことや問題点を解決するもの」程度に
認識してもらえば良いのではないでしょうか。
それだけでは足りないのなら、
全くの初心者なら問題にすらぶち当たっていないでしょうから、
まずは諸種問題点から説明する。
それら問題にぶち当たって、初めてソリューションとしてのRDBの出番です。
そして問題解決のためのRDB使用にあたり、厳しいルール(正規化)に従う必要がある。
よって、ルールに従って各種データはこのような形となる(第n正規形とかRDB構築に取り組まない人には不要)。
唯一無二であることを示すためのアイデンティティとして、主キー(ID)が必要になる。
最終的には主キーに従属するデータを持たせる、これがデータ同士の関連性、リレーションである。
これにより、前述の諸種問題は解決できる。
・・・うん、やっぱり分からないでしょうね。
情報がありがとうございます。
>・・・うん、やっぱり分からないでしょうね。
ちょっと難しいです。
>全くの初心者なら問題にすらぶち当たっていないでしょうから、
まずは諸種問題点から説明する。
この方式で様子見をしてみることにします。
No.4
- 回答日時:
個人的には No.1 の回答者の方に1票。
「誰に」「どういう目的で」が明らかでないと,本来的にはどう説明すればいいかは決められないと思います。
今回,「誰に」は「全くパソコン初心者の方に」ということですが,「どういう目的で」の方がはっきりしていません。ShiftTailさんは「単にリレーショナルデータベースとはどういうものなのか?を伝えないと駄目」と書かれていますが,教えられる側の方が「どういう時にその知識を活用したい」のかというようなこともわからないのでしょうか? 極論「試験に受かる/いい成績を取るため」でもいいので,なにかそういう活用シーンというのがあるはずだと思うのですが。それがないのであれば,逆にいうとその知識は不要なのではないでしょうか?
とにかく,基本的に何かを説明するということは,「正確さ」と「わかりやすさ」のトレード・オフであり,そのバランスは,「誰に」「どういう目的で」という要素で変わってきます。
一応「初心者」向けに,「正確さ」より「わかりやすさ」を優先した私なりの説明を以下に述べておきます。「目的」がわからないので,本当に最低限の説明になっています。
・「データベース」とは,たくさんのデータの集まり。
・「リレーショナル・データベース」とは,表形式で表されるデータの集まり。ただし,同じ表の中に同じデータは1つしかないことが保証されている。
以下は質問が出たときの補足。
・「表形式」というのは,「行」と「列」で表現されるという事。リレーショナル・データベースの世界では,データを「行」,データの項目を「列」として扱う事になっている。
例:項目「番号」が「11」,項目「名前」が「佐藤」,項目「年齢」が「16」のデータ
列 列 列
↓ ↓ ↓
+——+——+——+
|番号|名前|年齢|
+——+——+——+
|11 |佐藤|16 |←行=データ
+——+——+——+
・「同じ表の中に同じデータは1つしかない」については,リレーショナル・データベースになっている表となっていない表の,2つの表を例に説明する。
リレーショナルでない例:
+————+——+
|氏名 |年齢|
+————+——+
|佐藤一郎|16 |
+————+——+
|鈴木二郎|16 |
+————+——+
|佐藤一郎|16 |
+————+——+
リレーショナルな例:
+——+————+——+
|番号|氏名 |年齢|
+——+————+——+
|11 |佐藤一郎|16 |
+——+————+——+
|12 |鈴木二郎|16 |
+——+————+——+
|13 |佐藤一郎|16 |
+——+————+——+
同姓同名で年齢が同じ人も,番号という項目を持つことで識別できる。
リレーショナル・データベースでは,上の表に,もう一行「番号」が「11」,「氏名」が「佐藤一郎」,「年齢」が「16」の行を追加しようとすると拒否される。
さらに詳細な質問のための説明は以下。
・では「番号」が「11」,「氏名」が「佐藤一郎」,「年齢」が「17」の行を追加するのは可能か?
→このままだと可能。それで困る場合は,「主キー」を指定する。「主キー」は,データが重複しているかどうかを判断するのに利用する項目のこと。このばあい,主キーに「番号」を指定すると,「番号」が同じ行は追加できなくなる。
・なぜ重複を排除するのか
その方が検索や更新がしやすくなるから。いい加減面倒になったので,例は質問者ご自身で考えてみてください。
・各行の各項目にはどういう値が入れられるのか
一般的なリレーショナル・データベースでは数値または文字のどちらかしか入れられない。
109→OK
山田太郎→OK
3.14159→OK
1, 2, 180→NG(複数の値を一つのセルに入れる事はできない)
109, 山田太郎→NG(複数種類/複数の値を一つのセルに入れる事はできない)
ちなみに,「リレーショナル・データベース」とは,上で説明した「重複のない表」を表す数学用語「リレーション(relation)」を扱うデータベースという意味です。数学用語「リレーション(relation)」の日本語訳は「関係」ですが,これは通常の意味の「関係」とは全く異なる定義を持つ数学用語であり,上に書いた通り,「重複のない表」を指す名詞です。
http://ja.wikipedia.org/wiki/%E9%96%A2%E4%BF%82_ …
情報ありがとうございます。
やっぱりこれだけの説明が要りますよね・・・。
行の重複とかは一通り説明したのですが。
やってもらうしかないですかね。
No.3
- 回答日時:
ある項目やレコードを関連付けることで、別々のデータベース群を連携させ情報抽出等が出来るようにしたデータベース。
リレーショナルは関係や相関的なという意味です。
データは行と列から構成される表形式で表します。
列は各項目を表し、行はデータのレコードを表します。
各データ群は表と表の関係によって関連付けられ、
構造化問い合わせ言語(SQL)によりユーザーの目的に応じて操作できます。
大雑把な例えですが、顧客管理のデータ群と販売情報のデータ群があったとして、
顧客番号という項目で関連付けをすることで、双方のデータ群と連携が出来ます。
階層型の場合は、ツリー構造で、ある1つのデータが他の複数のデータに対して、親子の関係をもつので、1つのデータを探す手順(アクセスするルート)は1通りしか存在しません。
なのででリレーションは出来ません。
情報ありがとうございます。
>大雑把な例えですが、顧客管理のデータ群と販売情報のデータ群があったとして、
顧客番号という項目で関連付けをすることで、双方のデータ群と連携が出来ます。
ちょっと例を作成してこれで説明してみようと思います。
No.2
- 回答日時:
>表を使用するものが、リレーショナルデータベースです。
といっているのですが間違いです。
データベースはどれだって表になります。複数の表を関連させられるがリレーショナルデータベースです。
運動会のリレーとか箱根駅伝とか思い浮かべてください。これがまさにリレーです。このときバトンとかタスキを受け渡します。これを受け渡すことによりリレーが成立するのです。バトンとかタスキとかがあってリレーになるのです。
別々の表をバトンとかタスキで繋ぐことができるのがリレーのようになってるデータベースと言うことでリレーショナルデータベースと言います。略してRDBです。
すばらしい例を教えて頂き、ありがとうございます。
ちょっといくつかお聞きさせて頂ければと思います。
>複数の表を関連させられるがリレーショナルデータベース
そのとおりです。申し訳ありません。
訂正ありがとうございます。
>運動会のリレーとか箱根駅伝とか思い浮かべてください。これがまさにリレーです。このときバトンとかタスキを受け渡します。これを受け渡すことによりリレーが成立するのです。
これは、リレーションのことと認識させて頂きましたが問題ないでしょうか?
>別々の表をバトンとかタスキで繋ぐことができるのがリレーのようになってるデータベースとと言うことでリレーショナルデータベースと言います。略してRDBです。
リレーションを使えることの出来るデータベースがリレーショナルデータベースと言います。で認識させて頂きましたが問題ないでしょうか?
最後に
階層型DBでは、リレーション使えないのでしょうか?
No.1
- 回答日時:
何のためにその方に説明するのかによって、答えは変わると思いますが…
とりあえず、概念の説明をしようとせず、具体例だけ示して「こういうのを(リレーショナル)データベースっていうんだよ」と教えるのが良いと思います。
例えばクラス名簿の例で、「学年」「クラス」「出席番号」「性別」「生徒氏名」の一覧表を見せます。
その上で
・「○年○組の出席番号○番の生徒の氏名」を調べる例
・「○年○組の男子生徒の氏名の一覧」を取得する例
を説明し、データベースのselectの概念を大雑把に把握してもらいます。
さらに、「学年」「クラス」「担任」の一覧表を用意し、
・「○○○○という氏名の生徒の担任の名前」を調べる例
を説明し、「リレーション」の概念を大雑把に把握してもらいます。
とりあえずこれだけ説明して、後は本人から質問してもらって、徐々に理解してもらうのが良いのでは。
>何のためにその方に説明するのかによって、答えは変わると思いますが…
ただ、単にリレーショナルデータベースとはどういうものなのか?を伝えないと駄目なのです。
早期ご回答ありがとうございます。
例までつけて頂きありがとうございます。
例を説明するのにselectの話が若干必要になり
理解できなかった場合、そこでパニックを起こすと思います。
そこで挫けてしまうと、
例を説明しても効力が無いように思います。
こちらでももう少し考えて見ます。
ご意見ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Oracle 参照関係のフィールドについて 1 2023/05/27 17:49
- Java 改行含むテキストの表示の仕方 1 2023/06/13 06:44
- 英語 プライバシー度の高い英文書の文法チェックを、お願いできる業者さんを探しています。 3 2023/08/24 03:33
- Excel(エクセル) エクセル関数のXlookupのフィルハンドル機能(類した機能でも可)を知りたいです。 3 2022/09/20 20:02
- JavaScript SQLでデータベースから返ったデータのJSON形式生成について 1 2022/04/06 12:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの2GBって・・・?
-
ハイフン無しの電話番号データ...
-
VB6.0 エクセルシートにデータ...
-
エクセルの重複データの曖昧検索
-
値がこの列の整合性制約に違反...
-
型 varchar から型 numeric へ...
-
AndroidからのAccessデータベー...
-
スタライズとは、どういう意味...
-
Accessのレポートで「縦書き」...
-
Access2000のVBAでコンパイルエ...
-
クエリをキャンセルしたいので...
-
データベースの最適化をマクロ...
-
C#でint型をIntPtr型に変換した...
-
IBMのデータベース「DB2...
-
2021年現在、表計算ソフトとデ...
-
JavaとOracle Javaって何が違う...
-
リスト形式の表とデータベース...
-
PGAとUGA
-
ADO接続でのセッションIDとシリ...
-
RBDの反対語は?□DB??
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースの2GBって・・・?
-
VBAかSQL?
-
JavaでBtrieveを扱いたいのです...
-
ACCESS と SQLSERVER の違いを...
-
SQLって何のためにあるのでしょ...
-
データベースについてです
-
オラクルとは。。そしてSQLとは...
-
SQLとORACLEの違いを教えてくだ...
-
リレーショナルデータベースとは
-
型 varchar から型 numeric へ...
-
AndroidからのAccessデータベー...
-
データベースの最適化をマクロ...
-
エクセルのフォームについて(...
-
キャッシュとバッファの違いは?
-
ODBC経由の処理が遅い
-
listener.logが肥大化
-
スタライズとは、どういう意味...
-
Accessのレポートで「縦書き」...
-
DB2 UDBって?
-
JavaとOracle Javaって何が違う...
おすすめ情報