質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

書籍の内容はまともでしょうか?

1981225
1981225

総合スコア62

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

2回答

1グッド

0クリップ

346閲覧

投稿2023/01/21 17:36

編集2023/01/21 18:05

くそみたいな質問をします。
書籍の内容はまともでしょうか?
phpMyadmin
これは「phpMyAdmin」~の「MySQ」L関連の質問です。
mysql> select * from my_items;
+----+----------+--------------+-------+----------------------+-------+---------------------+
| id | maker_id | item_name | price | keyword | sales | created |
+----+----------+--------------+-------+----------------------+-------+---------------------+
| 1 | 1 | いちご | 180 | 赤い,甘い,ケーキ | 5 | 2018-01-01 00:00:00 |
| 2 | 2 | りんご | 90 | 丸い,赤い,パイ | 20 | 2023-01-11 06:57:21 |
| 3 | 1 | バナナ | 120 | パック,甘い,黄色 | 16 | 0000-00-00 00:00:00 |
| 4 | 3 | ブルーベリー | 200 | 袋入り,青い,眼精疲労 | 8 | 0000-00-00 00:00:00 |
+----+----------+--------------+-------+----------------------+-------+---------------------+
4 rows in set (0.01 sec)
以上ですが
分かりにくいで、上記と同じ「添付画像」で問題の表の確認ができます。

さて
書籍P.179「よくわかるPHP教科書()PHP第7対応版」
3)複数のテーブルを横断して検索する
ではこの状態で「いちご生産者」を知るにはどうした良いのでしょう?
このとき、通常の手順にしてとしては次のようになります。
❶次のSQLを発行して商品1の情報を取り出します。
(「phpMyAdmin」の「SQL」に以下を入力しましす。)
SELECT maker_id FROM my_items WHERE id=1

❷このデータ「maker_id」を見て、1であることを知ります。

❸次SQLを発行して、生産の情報を検索します。
(P.180)
SELECT * FROM makers Where id=1;
❹こうして山田さんであることを知ることができます。(図4-18-7)。

id name address tel
1  山田さん 東京都港区 000-111-2222
(図4-18-7)

しかし、これは非常に効率が悪いです。そこで、データベースは非常に便利な機能があります。
それがリレーションです。

リレーションを使う ・・・
❺まずは実際に使ってみましょう。次のSQLを実行します。
SELECT * FROM makers, my_items WHERE my_items.id=1 and makers.id=my_items.maker_id

❻ 以上の、少し長いSQLを実行すると、一発で生産者の名前や住所、電話番号が商品情報とともに閲覧できます。
------------------------------------------------------------------------------------------------------- 
(カラム省略)
山田さん 東京都港区 000-111-2222 1 1 いちご 180 赤い,甘い,ケーキ 5 2018-01-01 00:00:00
図4-18-8

以上までの書籍の内容です。
書籍の内容は以上ですが
さて それで 疑問があります。
❷の「このデータ「maker_id」を見て、1であることを知ります。」
ですが!
「maker_id」が「1」であるか無いかがわからなくても
最初から
SELECT * FROM makers Where id=1
と検索したほうが 手っ取り早いのですが
何故 それをしないのですか?
よろしくお願いいたします。

イメージ説明

1981225👍を押しています

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2023/01/22 00:50

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

2023/01/22 00:04

こちらの質問が複数のユーザーから「過去に投稿した質問と同じ内容の質問」という指摘を受けました。

2023/01/22 03:10

こちらの質問が複数のユーザーから「広告と受け取られるような質問」という指摘を受けました。

1981225

2023/01/21 20:15

ありがとうございます。  ありますね! 質問する前確認したのですが 私の視野にありませんでしたので 新たに質問しました。 まして、ベストアンサー とななっていますね 私の記憶が正しければ ベストアンサー 記憶はないです。 ファクト は 1つなので 完全な 私の認識違!? 記憶障害 じゃないことを祈るしかないです。
m.ts10806

2023/01/21 20:52 編集

既に何度も本人に指摘し、運営にも通報してますが https://teratail.com/legal 第7条(禁止事項) (11)複数のユーザーIDを1人で保有する行為 「他人のふり」をしたとしても隠しきれない「癖」がありますし、指摘に対して無視をし過ぎなので逆に疑いを深めます。 あとどんな良書だったとしても扱う人の理解度やレベルによってはゴミになるので(豚に真珠、馬の耳に念仏) 自身を疑う癖をつけましょう。
dameo

2023/01/21 20:52

でじゃ・・ぶ?
SurferOnWww

2023/01/22 00:06

> ◯◯みたいな質問をします。 複垢使う◯◯のような人の◯◯みたいな質問ということのようですね。

回答2

2

ベストアンサー

まともです。
ここでの狙いは
my_itemsの任意のレコード(ここではid=1のいちご)の生産者を知りたい訳であって、
何でもいいので適当に生産者を知りたい訳ではありません。

「maker_id」が「1」であるか無いかがわからなくても
最初から
SELECT * FROM makers Where id=1
と検索したほうが 手っ取り早いのですが

いちごの場合はこれで「偶然にも」生産者が分かりますが、ブルーベリーの場合は生産者に辿り着けませんので、
「手っ取り早い」とは言えません。

投稿2023/01/21 17:53

tanat

総合スコア18520

1981225, yuma.inaura👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

1981225

2023/01/21 20:39

徐々にわかってきました。 辿り着けませんので~です。 そう言われてみると! これは 大規模 データベースを構築した場合の事例でだったの!? 書籍には そんな説明がないので 4件しかないデータ なのに 検索 ですか・・・なので私がバカでした。  やけどをする前に 私はバカだと認めた方が身の為です。 哲学はさておき そもそも 「なんで 4件しかないでデータ」検索する意味が不明でした。 たぶん もし 万単位のデータ検索するとなると ちゃんとして検索システムを構築しないといけなくなります。 そんな意味合いがある 事例の紹介だと思われます。  すみません 間違いないでしょうか? 宜しくお願い致します。
tanat

2023/01/22 03:43

> たぶん もし 万単位のデータ検索するとなるとちゃんとして検索システムを構築しないといけなくなります そうですね。 その方向で正しいです。 データ量が多かったり、データ構造が複雑なものをシンプルなテーブルに整理分解(正規化)して管理しようというのがRDBMSのコンセプトですね。 とは言え、最初から複雑で大規模なデータでは学習に向かないので簡単なところを学習課題にしているんだと思います。
1981225

2023/01/22 06:04

ありがとうございます。 ・RDBMSのコンセプト  ・最初から複雑で大規模なデータでは学習に向かないので簡単なところを学習課題に  了解です。

0

そもそも商品の生産者 ( makers_id ) を調べなければ makers テーブルも絞り込めないのでまともでしょう

投稿2023/01/21 17:48

yuma.inaura

総合スコア1334

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。