mysql:15901
From: "KIMURA, Meiji" <"KIMURA, Meiji" <meiji.kimura@xxxxxxxxxx>>
Date: Wed, 26 Dec 2012 09:43:14 +0900
Subject: [mysql 15901] Re: 「スキーマ」という言葉
おはようございます、木村明治です。 (2012/12/22 21:04), kobayashi wrote: > こんにちは。小林と申します。 > > MySQLというよりデータベース一般の話なのですが、 > 他に良いフォーラムやMLを知らないこともあり、恐縮ながら MySQL ML に投稿させていただきます。 > > 数年ほどMySQLを触っていますが、 > 実のところいまだに「スキーマ」の言葉の意味を理解していません。 「スキーマ」については、他の方も説明があったようにいろいろなエリアで 用語として使われていますので、どのエリアのものかを確認しないと、 理解というのは難しいと思います。 http://eow.alc.co.jp/search?q=schema > スキーマについて調べてみても、なんというか実体というよりは概念的な意味合いに受け取れるのですが、 > 人によっては CREATE TABLE 文の詰まっている .sql ファイルのことを「スキーマ」と呼んでいたりもします。 > こういう「スキーマ」の言葉の用法は正しいのでしょうか? ある意味正しいと思います。SQL標準にそった「スキーマ」については以下の説 明があります。(標準SQLガイド改訂第4版 p. 59より引用)後述するSQL-99の解説 書と同じような説明です。 http://www.amazon.co.jp/dp/4756120474/ //->ここから スキーマ(ただしくはSQLスキーマ)は、カタログに含まれている記述子の名前付 きセットである。SQL規格での記述子とは、「SQLの実行要求に従うオブジェクト の情報を定義する、符号化されたオブジェクト」である。 //<-ここまで MySQLではスキーマ = データベースです。スキーマの記述子(を定義する)である 一連のCREATE TABLEを広い意味でのスキーマと呼んでも、用法的には間違った感 じはうけません。(個人的には「スキーマ定義」のほうがしっくりきますが) > 僕はいまだに「スキーマ」という言葉の持つ意味について正しい解釈をできずにいるので > 上記のような .sql ファイルを始めとするテーブル定義情報については > 受け取る相手に誤解を生じさせないように、そのまま「テーブル定義」という言葉で伝えたりしています。 含まれているのがテーブル定義だけなら、それでもいいんじゃないでしょうか? 「スキーマ」というと、私の場合はcreate databaseから始まる一連の定義、 つまりMySQLだとmysqldumpでデータベースを指定して取ったバックアップのイ メージです。テーブル定義以外にも、ビュー等を含んでいるような。 > 逆に下記の様な概念的な設計作業については割と自信をもって「スキーマ設計」という言葉を使えてはいます。 > http://www.cs.is.saga-u.ac.jp/syllabus/GuideLine/database/SchemaDesign.htm > > CREATE TABLE 文のように具体化されたモノまで「スキーマ」と呼んでいいのかどうか、 > この言葉の意味に関してご教授いただければ幸いです。 それはケースバイケースだと思います。少なくともSQLスキーマ的には「スキー マ定義の一部」ではあると思います。 AskMontyでSQL-99の解説書が無料で読めますので、ここも参考にしてみてください。 https://kb.askmonty.org/en/17-sql-schemas-schema/
15897 2012-12-22 21:04 [kobayashi <kobayan.m] 「スキーマ」という言葉 15898 2012-12-22 23:51 ┣[MARUKO Takunobu <mar] Re: [mysql 15897] 「スキーマ」という言葉 15899 2012-12-23 12:03 ┃┗[kobayashi <kobayan.m] Re: 「スキーマ」という言葉 15900 2012-12-23 16:58 ┃ ┗[MARUKO Takunobu <mar] Re: [mysql 15899] Re: 「スキーマ」という言葉 -> 15901 2012-12-26 09:43 ┗["KIMURA, Meiji" <mei] 15903 2012-12-28 15:36 ┗[kobayashi <kobayan.m]