スキーマについて教えてください!

それから。
外部スキーマ・概念スキーマ・内部スキーマに
それぞれについても教えてください!

お願いします!!!

このQ&Aに関連する最新のQ&A

A 回答 (3件)

スキーマには、概要や体系といった意味があります。


データベースで言うところのスキーマも、データベースを体系だててまとめる作業を指します。

各スキーマを簡単に言うと、
 概念スキーマは、データベースの全体像、ERD。
 外部スキーマは、列ひとつひとつの定義。
 内部スキーマは、データベースエンジンに関わる部分
といった感じでしょうか。

私も以前に調べたことがあったんですが、なんかしっくりくる説明がないんですよね。なんとなく分かってはいるんだけど説明できないっていうかそんな感じです。
詳しい説明は、とりあえず下記を参考にしてください。

簡単な説明は、
http://www.ish.ic.kanagawa-it.ac.jp/sotsuken/R95 …

もう少し詳しい説明は、
http://www.netlaputa.ne.jp/~hijk/study/db/schema …

実際の設計の進め方は
http://www.unisystem.co.jp/~uscsen/jouhou/databa …
    • good
    • 0
この回答へのお礼

各スキーマについてよくわかりました。
それから、理解しやすい説明のURLを
教えて頂きありがとうございました!!!

お礼日時:2001/09/04 11:25

>現在、基本情報処理の勉強をしていまして


>そのなかででてくるスキーマという用語が
>いまいちよくわからないのです。

>なのでデータベースを使っているという訳ではありません。

技術を体で覚えるタイプなので、理論面でどうこういうのはあまり好み
ではないのですが、一応調べたので解説してみましょう。

パソコンのハードディスクを使用するとき、最初にパーティションを
切ってから使います。1台のハードディスクを1つのパーティション
にすることもあれば、複数のパーティションに分割することもあります。
そして、切ったパーティションにドライブを割り当て、そこにファイル
を格納します。

データベースのスキーマとは、この"パーティション"に該当する概念です。
そしてデータベースのテーブルは"ファイル"に該当します。
データベースにスキーマを定義して、テーブルを格納する場所を確保する
ということです。


それから、"外部スキーマ","概念スキーマ","内部スキーマ"っていうのは
私にも何のことかわからないですね。
おそらく、基本情報処理の勉強だけで使われる概念ではないでしょうか。
ソフトウェア開発の実作業では聞いたことのない言葉です。

"外部テーブル","内部テーブル"はわかるような気がします。
自データベースに格納されているテーブルを"内部テーブル"と呼び、
他データベースに格納されているテーブルを"外部テーブル"と呼ぶことは
あります。
ちなみに、"概念テーブル"という言葉があるとすれば、それはビュー表の
ことを指すかと思います。
    • good
    • 0
この回答へのお礼

いろいろと調べてくれてありがとうございました!!!
簡単なスキーマについてに理解することができました。

お礼日時:2001/09/04 11:23

スキーマですか。

私も理論的なことはあまり知らないのですが、
テーブル名の頭にくっつけて使います。
(↓)こんな感じです。

スキーマ名.テーブル名
(例)スキーマ名scott, テーブル名empの場合:scott.emp

スキーマ名が別であれば、同一テーブルを別々に管理することができます。
(例)scott.emp, system.empなど

データベースがOracleの場合、ログインIDとスキーマ名が同一になっています。


>外部スキーマ・概念スキーマ・内部スキーマに
>それぞれについても教えてください!

使っているデータベースの種類は何ですか。
概念的な話は、人に聞くよりDBMSのマニュアルを読んだ方が確実です。

この回答への補足

現在、基本情報処理の勉強をしていまして
そのなかででてくるスキーマという用語が
いまいちよくわからないのです。

なのでデータベースを使っているという訳ではありません。

一応、アスキーの用語辞典などを調べてみたのですが
理解できるほどのっていなかったし、持っている本の
説明を読んでもよく理解できないのでできれば
用語の説明をしていただきたいなと思っています。

補足日時:2001/08/31 13:28
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q 積分の問題です。y=x^2ー3xとy=-2x+2に囲まれた面積を求め

 積分の問題です。y=x^2ー3xとy=-2x+2に囲まれた面積を求めよ。です
-∫(-1~2)(x^2-x-2)dx=-[x^3/3-x^2/2ー2x](-1~2)で間違いないですね。
とすると
-{(8/3-2-4)-(-1/3-1/2+4)}となって答えが回答になる9/2にならないのですがどこが間違っているのでしょうか?よろしくお願いします。

Aベストアンサー

#1です。
-{(8/3-2-4)-(-1/3-1/2+2)}
=-(8/3-2-4+1/3+1/2-2)
=-(9/3-8+1/2)
=-(3-8+1/2)
=-(-5+1/2)
=-(-9/2)
=9/2

計算違い。

Q複数チェック項目に対応したスキーマの定義方法

個人の音楽に対する嗜好情報を格納する為のデータベースのスキーマを定義するとします。

扱う項目は以下の4項目とします。

1.名前
2.住所
3.好きなアーティスト
4.好きなアーティストをどこで知ったか(複数選択:新聞、雑誌、インターネット、ラジオ、その他)


4の項目に関しては、それぞれの選択項目をチェックボックスで複数チェックできるようになっていて、「その他」をチェックした場合は、そのアーティストをどこで知ったかテキストボックスに書き込むようにします。

このような情報を以下のような定義のテーブルを作成し、格納しようとしました。

CREATE TABLE ONGAKU_INFO (
  個人コード CHARACTER(4) NOT NULL ,
  名前 VARCHAR(32) NOT NULL ,
  住所 VARCHAR(256) NOT NULL ,
  好きなアーティスト VARCHAR(32) NOT NULL ,
  好きなアーティストをどこで知ったか VARCHAR(128)
);

「好きなアーティストをどこで知ったか」についてはチェックボックスで選択された項目をそれぞれ「/」でつなげてひとつのフィールドに格納し、取り出すときは「/」で分割しようというわけです。例えば「新聞」「雑誌」「インターネット」をチャックしたら「新聞/雑誌/インターネット」としてひとつのフィールドに書き込むわけです。


しかしこの方法だと「好きなアーティストをどこで知ったか」の選択項目が増えると128byteを超え、格納できなくなってしまいます。その度にスキーマの定義を変更したりするのはスマートなやり方ではないと思います。

このように「好きなアーティストをどこで知ったか」の選択項目が増えても対応できるようなスキーマの定義の方法を教えていただけないでしょうか。

宜しくお願いいたします。

個人の音楽に対する嗜好情報を格納する為のデータベースのスキーマを定義するとします。

扱う項目は以下の4項目とします。

1.名前
2.住所
3.好きなアーティスト
4.好きなアーティストをどこで知ったか(複数選択:新聞、雑誌、インターネット、ラジオ、その他)


4の項目に関しては、それぞれの選択項目をチェックボックスで複数チェックできるようになっていて、「その他」をチェックした場合は、そのアーティストをどこで知ったかテキストボックスに書き込むようにします。

このような情報を以下...続きを読む

Aベストアンサー

>■「個人情報」テーブル
>・個人コード
>・名前
>・住所
>・好きなアーティスト
>
>■「知ったか」テーブル
>・個人コード
>・ID
>・好きなアーティストをどこで知ったか

これでもよいかもしれませんが私だったら

■「どこで知ったか」テーブル
・個人コード
・シーケンス番号
・どこID

■「どこ」テーブル
・どこ
・どこID

として結果はSQL文として

SELECT 個人情報.名前, 個人情報.住所, 個人情報.好きなアーティスト, どこ.どこ
FROM どこ INNER JOIN (どこで知ったか INNER JOIN 個人情報 ON どこで知ったか.個人ID = 個人情報.個人ID) ON どこ.どこID = どこで知ったか.どこID;

みたいなことで如何でしょうか

Q「歌う」が「う・と・-」は音便ですか?

はじめまして、よろしくお願いします。
音楽の先生から「蛍に光」の2番の最後の「さきくとばかり【うとう】なり」は「う・と・う」と発音するのではなく、「う・と・-」と最後を伸ばして歌うものだと教えられました。
昔の古めかしい歌詞はこのように歌うと聞きました。

1.このような「歌う」が「うとー」になるのは、音便ですか。
2.歌でこのようケースがほかにもあったら教えて欲しいです。できたらたくさん教えてください。

Aベストアンサー

こんにちは。
1.これは音便とは言いません。
先生のおっしゃる「昔の古めかしい歌」とは「文語で書かれた歌詞」のことで、こういうものは、「歌う(歴史的仮名遣いでは、うたふ)」という言葉を朗読、朗詠、歌唱するときは「う・と・-」と最後を伸ばして歌うものです。先生のおっしゃる通りです。
すなわち、文語調の歌の「あう(歴史的仮名遣いでは、あふ)」や「おう(おふ)」は「お・-」と「お」を伸ばして歌います。
「うたう(うたふ)」⇒「う・と・-」
「におう(にほふ)」⇒「に・お・-」
「さすらう(さすらふ)」⇒「さ・す・ろ・-」など。
これを「う・た・う」とか「う・と・う」と歌うと文語の格調が損なわれます。
ただ、格調とは無関係のヤクザ風アンチャンがそのように歌うとかえっておかしいかもしれません(「北帰行」で小林旭が「さ・す・ら・う」と歌っています)。
次の参考URLで京大OBが三高寮歌紅萌ゆるを歌っています。
「匂う(ふ)」「伝う(ふ)」「思う(ふ)」などは、みな「お・-」と歌っています(歌い方はへたくそですが)。
http://music.geocities.jp/yoshidaryou21/audio/audio04.html

先生のおっしゃることは正しいと思います。
格調高い文語調の歌詞は、伝統的な歌い方で歌うべきだと思います。
(ただし格調の低い文語マガイの歌詞や品のない歌い方の歌手はその限りにあらず)

2.このようなケースをたくさん知りたい・・・音楽カテゴリーでお尋ねになったら、もっと出てくるかもしれません。

なお、歌詞に「歌う」が「うとう」となっていたら、これは「う・と・-」と歌ってくださいということでしょう。
「うとう」の最後の「う」は新仮名遣いのオ列長音の「う」のつもりです。
「おはよう」の「う」と同じです。誰も「お・は・よ・う」とは発音しません。「おはよー」です。
楽譜の歌詞のオ列長音の書き方に問題があるかもしれません。

こんにちは。
1.これは音便とは言いません。
先生のおっしゃる「昔の古めかしい歌」とは「文語で書かれた歌詞」のことで、こういうものは、「歌う(歴史的仮名遣いでは、うたふ)」という言葉を朗読、朗詠、歌唱するときは「う・と・-」と最後を伸ばして歌うものです。先生のおっしゃる通りです。
すなわち、文語調の歌の「あう(歴史的仮名遣いでは、あふ)」や「おう(おふ)」は「お・-」と「お」を伸ばして歌います。
「うたう(うたふ)」⇒「う・と・-」
「におう(にほふ)」⇒「に・お・-」
「...続きを読む

Q特定のスキーマのテーブルを一括削除したい

おせわになります、

Oracleのデータベースで
特定のスキーマのテーブルを一括削除したい時の
コマンドを探しているのですが、

ひとつずつ消すのは面倒なので、一括で消したいとかんがえております。

よろしくお願いします。

Aベストアンサー

ユーザを削除する時に、同時にスキーマ内のオブジェクトを一緒に削除するという方法では駄目でしょうか?(削除後ユーザを再作成する)
この方法だと、テーブル以外のオブジェクトも削除されてしまいますが・・・。

以下の方法でユーザを削除できます(システム権限が必要です)
DROP USER ユーザ名 CASCADE;


それか、以下のSQL*PLUS、SQLコマンドをSPOOLして実行し、SPOOLされた結果を再度実行するという方法は?
SET PAGES 0
SPOOL 任意のファイル名.SQL
SELECT 'DROP TABLE '||TABLE_NAME||';' FROM USER_TABLES;
SPOOL OFF
@任意のファイル名.SQL

Q秀丸エディタで、「-」や「ー」を文字の前に追加したい。

秀丸エディタを使って「-」や「ー」などの文字を、すべての行の前に追加するにはどのようにすればいいのでしょうか?

例えば、「-」や「ー」などの記号をすべての行の前に追加したい場合、

1121
1121

などを

ー1121(全角)
-1121(半角)

のようにしたいです。


よろしくお願いします。

Aベストアンサー

正規表現を使います。私はあまり得意ではありませんが、知っているものを紹介します。

考え方は行末の改行コードに着目します。改行コードの次が『-』や『ー』になればよいわけですから、メニューバーの検索→置換で置換代やログボックスを表示させ、検索に『\n』、置換に『\n-』と入力します。次に正規表現にチェックが入っている事を確認して、全置換をクリックすると1行目を除く各行頭に『-』が挿入されます。

1行目だけは入らないので手で入力します。正規表現にチェックが入っていないとうまく置換されませんから注意が必要です。

参考になれば幸いです。

Q外部結合とカウントができない!

お世話になります。

ここ数日、外部結合とカウントを組み合わせたSQL
が思うようにかけず大変悩んでいます。
学校・クラス・生徒テーブルをJOINして、
合否判定数を求めたいのですが、
期待する結果になりません。どなたか助けて下さい><


ポスグレ+PHPです。
事情によりプログラム側でカウントできないので、
SQLで一気に取得しなければならないのがネックです。
以下3テーブルと期待する結果テーブルです。

/////////////////////////////////////////////////
学校テーブル
--------------
ID   学校名
--------------
1   あああ
2   いいい
--------------


クラステーブル
----------------------------
ID   学校ID   クラス名
----------------------------
1     1     6-1組
2     1     6-2組
3     2     5-1組
----------------------------


生徒テーブル
----------------------------------------------------
ID   学校ID   クラスID   生徒名   合格判定
----------------------------------------------------
1     1      1     AAAAAA    TRUE
2     1      1     BBBBBB    FALSE
3     1      2     CCCCCC    TRUE
----------------------------------------------------


期待する結果
----------------------------------------
ID   学校名   受験数   合格数
----------------------------------------
1    あああ    3     2
2    いいい    0     0
----------------------------------------
/////////////////////////////////////////////////
どなたか助けてやってくださいm(_ _)m

お世話になります。

ここ数日、外部結合とカウントを組み合わせたSQL
が思うようにかけず大変悩んでいます。
学校・クラス・生徒テーブルをJOINして、
合否判定数を求めたいのですが、
期待する結果になりません。どなたか助けて下さい><


ポスグレ+PHPです。
事情によりプログラム側でカウントできないので、
SQLで一気に取得しなければならないのがネックです。
以下3テーブルと期待する結果テーブルです。

/////////////////////////////////////////////////
学校テーブル
-----------...続きを読む

Aベストアンサー

クラステーブルと結合する必要はないんじゃありませんか。

select g.id,g.学校名,count(s.id) as 受験数,
sum( case when s.合格判定=true then 1 else 0 end ) as 合格数
from
学校テーブル g left join 生徒テーブル s
on g.id = s.学校ID
group by g.id,g.学校名
order by g.id

Q(2X-2)2乗ー2X(X-7)=20 の解答

(2X-2)2乗ー2X(X-7)=20
4X2乗-8X+4-2X2乗+14X=20
2X2乗+6X=16

ここから先が計算できません。どうやら平方根を使うらしいのですが・・・。解法をご存知の方、解説していただけますでしょうか?

Aベストアンサー

x^2とかくとxの二乗のという意味になります。

2x^2+6x-16=0
2(x^2+3x-8)=0

あとは二次方程式の解の公式
http://hooktail.sub.jp/mathInPhys/kainokoshiki/
を使いましょう

ちなみに二次方程式が因数分解出来る場合は解の公式を使わずにとくことができます。
x^2-4x+4=0 の場合
(x-2)^2=0に変形できますのでx=2とわかります
以下を参考に
http://ja.wikibooks.org/wiki/%E5%88%9D%E7%AD%89%E6%95%B0%E5%AD%A6%E5%85%AC%E5%BC%8F%E9%9B%86/%E5%B1%95%E9%96%8B%E5%85%AC%E5%BC%8F

Qお願い!誰か助けてっ!(^⊥^;)

ファイルメーカーについて詳しい方、どなたか「再帰定義」とはどんなことなのか教えていただけませんか?会社の会計ソフトを作っているんだけど、リレーションのデータの取込みの際、再帰定義と表示されたデータがリレーション出来ないの。(決算が近づいてるのに先に進めないよぉ~・・・・・)
「受注」「発注」「仕入」「請求書」と4つのファイルがあって、そのフィールド(商品名)をそれぞれ4つのファイル全部にリレーションさせたいんだけど、「受注」→「発注」→「仕入」まではデータを読込めたのに、再帰定義と表示されて、その先の「請求書」のファイルまでリレーション出来ないの。グスン。(;∧;)
お願い!どうすればリレーション出来るようになるのか教えてくださいませませ。
どうか、よろしくお願いしまぁ~す♪

Aベストアンサー

ファイルメーカーは、まだリレーション機能を持っていなかった頃に使って以来ご無沙汰ですので正確な
ことは分かりませんが。

「再帰」の一般的な意味はCranさんの仰る通りでよいと思うのですが、別の例で、鏡を二枚向き合わせると
一方の鏡が他方を映し、映った鏡の中にさらに元の鏡が映り・・・という関係になりますよね。これも
再帰です。恐らくは、例えば請求書レコードを表示しようとするとその中に受注レコードが表示され、
さらにその受注レコードの中で請求書レコードが参照され・・・といったような関係ができてしまって
いるのではないでしょうか。

解決策としては、リレーションの必要性を再検討することだと思うのですが、ある程度手っ取り早い方法
として、実データとビューを分けるというやり方が考えられます。例えば受注テーブルと請求書テーブル
との間にはリレーションをはらず、別に受注ビューテーブル・請求書ビューテーブルを作って、それらから
受注テーブル・請求書テーブルを参照するようにすれば、再帰というか、循環参照のようなことは起きない
と思います。

ファイルメーカーは、まだリレーション機能を持っていなかった頃に使って以来ご無沙汰ですので正確な
ことは分かりませんが。

「再帰」の一般的な意味はCranさんの仰る通りでよいと思うのですが、別の例で、鏡を二枚向き合わせると
一方の鏡が他方を映し、映った鏡の中にさらに元の鏡が映り・・・という関係になりますよね。これも
再帰です。恐らくは、例えば請求書レコードを表示しようとするとその中に受注レコードが表示され、
さらにその受注レコードの中で請求書レコードが参照され・・・といったよ...続きを読む

Q秀丸エディタで「-」や「ー」を文字の後に追加したい。

秀丸エディタを使って「-」や「ー」などの文字を、英数字の行の後に追加するにはどのようにすればいいのでしょうか?

例えば、「-」や「ー」などの記号を英数字の後ろに追加したい場合、

1121
1121

などを

1121ー(全角スペース)
1121-(半角スペース)

のようにしたいです。


よろしくお願いします。

Aベストアンサー

「すべての行」に空行は含まれるのでしょうか。
空行にも-(スペース)をつけたいときは、左記の置換ダイアログで「検索」を
(^.*$)
とすればいいです。空行は無視したいときは、
(^.+$)
としてください。「置換」の文字列は先の回答と同じです。

Qリレーショナルデータベースの概念とエクセルのマクロとVBA

よろしくお願いします。
2つあります。

1.リレーショナルデータベースの概念とはどのようなものなのでしょうか?会社から「リレーショナルデータベースの概念は理解している?」と聞かれたのですが、正直言ってどういうものかわかりませんでした。

2.エクセルのマクロとVBAとはどう違うのでしょうか?私は同じような気がするのですが・・・同じく会社から「マクロとVBAが出来ないとだめだよ」と言われました。

私のスキルとしてはアクセスで簡単なマクロが組めます。
エクセルは簡単なマクロが組めます。

よろしくお願いします。

Aベストアンサー

1.
非常に解説が難しいです。
「リレーショナルデータベースの概念」と一口に言っても、学術的なRDBの概念なのか?RDBMSを設計する概念なのか?RDBMSを利用してRDBを使うシステムを設計する概念なのか?RDBMSを利用するだけの概念なのか?それとも上っ面の概念なのか?
(私はRDBMSを設計したり作ったりする方の専門ですけど)

たとえば、「ACCESSみたいなソフトを作るときに必要なRDBMSの概念」と「ACCESSでVBAを使ってテーブルを使うための概念」ではかなりレベルの違う概念となります。
リレーショナル理論なんてRDBMS設計者でもない限り知らないでも困ることはないでしょうが、本来の意味では【基礎概念】です。

どのようなレベルの概念が知りたいのですか?

2.
VBAはマクロを実現するための技術です。
一般的には「プログラム言語としてのVBA」と「開発環境としてのVBA」の両方を使えて「VBAが使える」と言うようです。

MicrosoftOffice環境においてマクロはVBAの利用技術です。
マクロ機能を持つアプリケーション/システムは数多く存在しますがVBAが使える環境は少数(っていうかMicrosoftOfficeファミリだけ)です。

1.
非常に解説が難しいです。
「リレーショナルデータベースの概念」と一口に言っても、学術的なRDBの概念なのか?RDBMSを設計する概念なのか?RDBMSを利用してRDBを使うシステムを設計する概念なのか?RDBMSを利用するだけの概念なのか?それとも上っ面の概念なのか?
(私はRDBMSを設計したり作ったりする方の専門ですけど)

たとえば、「ACCESSみたいなソフトを作るときに必要なRDBMSの概念」と「ACCESSでVBAを使ってテーブルを使うための概念」ではか...続きを読む


人気Q&Aランキング

おすすめ情報