• ベストアンサー
  • 困ってます

mysqlでリレーション

こんにちは。 OSはRedhatLinux7.1 Apache_1.3.26 php-4.2.3 mysql-3.23.52 を使っています。 基本的なことなのですが、データベースでのリレーションの持たせ方がよくわかりません。 今まではリレーションを持たせずに頑張っていたのですが、データの管理が大変になってきました。 mysqlでコマンドを使ってテーブルとテーブルの間に関係を持たせ、データを管理しやすくするにはどのようにしたらいいのでしょうか? 勉強不足ですが大変申し訳ないのですが、アドバイスお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数620
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1

3.23.43b以降でInnoDBを使えば「外部キー制約」を付ける事が出来るようですね。 これでリレーション管理(連鎖削除)が楽になると思います。

参考URL:
http://www.mysql.com/doc/en/SEC447.html

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。勉強になりました。

関連するQ&A

  • PostgreSQLとMySQL

    OSはRedhatLinux7.1 Apache_1.3.26 php-4.2.3 PostgreSQL-7.2.1 mysql-3.23.52 を使っています。 データベースの勉強をするために Apache+php+PostgreSQL Apache+php+MySQL で同じWebアプリケーションを作っていこうと思っています。 しかし、どのように比較し、どのように勉強していけばいいのか悩んでいます。 PostgreSQLとMySQLではphpの関数が違う事はわかったのですが。。。 よろしければアドバイスお願いします。

  • postgresqlとmysqlの違い

    こんにちは。 OSはRedhatLinux7.1を使っています。 Apache_1.3.26 php-4.2.1 PostgreSQL-7.2.1 mysql-3.23.52 を使ってWebアプリケーションを作ろうとしています。 Apache+php+PostgreSQLで、 SJISで書いたphpプログラム(htmlのページの表示もSJISに指定)を使って表示されたページからPostgreSQLにデータを登録しようとするとエラーになります。 Warning: pg_exec() query failed: ERROR: Invalid EUC_JP character sequence found (0x8971) となります。 同じようにApache+php+mysqlでやってみたら登録できます。 PostgreSQLはSJISでデータを登録できないのでしょうか? どこをどのようにすればいいのかわかりません。 初歩的で申し訳ありませんがアドバイスお願いします。

  • 別サーバへのmysql接続に関して

    諸事情によりPHPプログラムで別のサーバにあるmysqlへ接続しようと 試みていますが、うまくいきません。 それぞれのサーバに入っているPHP,apache,mysqlのバージョンは 下記の通りです。 【PHPを動かすサーバ(以降:サーバA)】  Redhat Linux ES 4.0  PHP Version 4.3.9  Apache 2.0.52  mysql(入っていません) 【mysqlが動いているサーバ(以降:サーバB)】  FreeBSD 4.7  PHP Version 4.3.10  Apache 1.3.37  mysql 4.1.11 プログラムは下記のものです。 if(!$conn = mysql_connect(サーバB:3306,ユーザー名,パスワード)){  die('MySQL接続失敗'); } if(!$sts = mysql_select_db(データベース名,$conn)){  die('テーブル選択失敗'); } サーバBで同一のプログラムを 起動した場合はもちろん問題なく繋がります。 サーバAでは「MySQL接続失敗」となってしまいます。 どのような設定を行えば、サーバAからサーバBのmysqlへ接続可能に なるのか、よろしくご教授の程、お願いいたします。

    • 締切済み
    • PHP
  • mysqlで掲示板

    OSはRedhatLinux7.1 Apache_1.3.26 php-4.2.3 mysql-3.23.52 を使っています。 掲示板を作りたいと思っているのですが、参考になるサイトが見つからず困っています。 PostgreSQLのサンプルはたくさんあるのですが・・・ それをmysqlに書き換えようとするとうまくいきません。 何かアドバイスがあればお願いします。 また、よいサイトがあれば教えてください。 お願いします。

  • MySQLで複数のテーブルを相互に連携させてやれることを教えてください。

    PHPとMySQLを勉強しています。 以下のサイトで「たいていは、複数のテーブルを作り、それらを相互に連携(リレーション)させて、1つのデータベースを構築します。」と書いてありますが、具体的にどのような感じなのか教えてください。 http://y-kit.jp/saba/xp/mysqltry2.htm 個人的には、例えば郵便番号を検索できるサイトを制作するなら、ひとつのテーブルにまとめた方が扱いやすいのではないかと思うのですが……。それとも、もっと複雑なデータを扱う場合に、複数のテーブルで管理するのでしょうか?

    • ベストアンサー
    • PHP
  • MYSQLで違う検索結果が出てしまいます。

    こんにちは。 現在PHP4+MYSQLでホームページの検索サイトを作っています。 カテゴリ検索とキーワード検索ができるようにしているのですが、 キーワード検索をすると、キーワードが入っていないレコードの情報まで表示されてしまいます。 エンコード設定に問題があるかも知れないのですが、 ・全てのページのHTMLのエンコード設定 ・全てのページのメタタグのエンコード設定 ・MYSQLの文字コード設定 これらは全てEUCに統一されています。 その他にエンコード設定するべきところがあるのでしょうか? それとも別なところに原因があるのでしょうか? 動作環境はレンタルサーバーなので詳しい設定まではわかりませんが、 Linux 2.4.X RedHat 7.x Apache/1.3.2X mysql-3.23.46 です。 PHPのバージョンまではわかりませんでした。 わかる方いらっしゃいましたら教えてください。

    • ベストアンサー
    • PHP
  • デフォルトでトップページの表示

    OSはRedhatLinux7.1 Apache_1.3.26 php-4.2.3 mysql-3.23.52 を使っています。 トップページでindex.phpと入力しなくてもページの表示ができるようにしたのですがどのようにすればいいのですか? 基本的なことで申し訳ないですが教えてください。 お願いします。

    • ベストアンサー
    • PHP
  • mysqlでオートナンバーにするには?

    OSはRedhatLinux7.1 Apache_1.3.26 php-4.2.3 mysql-3.23.52 を使っています。 mysqlでデータ型をオートナンバー型にしたいのですが、何と指定すればいいのですか? postgreSQLではserialと指定するようなのですが。。。 auto_increment?ってゆーのでやってみたのですがエラーになってしまい先に進めません。 アドバイスお願いします。

  • Linux Apache MySQL PHP (LAMP)

    今までWindows+Apache+MySQL+PHPの環境で作業をしていたのですが、 別のPCにLinuxをインストールしたので、そちらでもApache+MySQL+PHPをインストールしようと思いました。 ですが、Linuxを触るのは初めてなので、インストール方法やApache+PHPの関連付けの仕方などがサッパリわかりません。 どこか詳しく解説しているサイトなどはないでしょうか? 環境 Linux Fedora Core 5 Apache 2.0.59 (予定) PHP 5.1.6 (予定) MySQL 5.0 (予定) どなたかよろしくお願いします。

    • 締切済み
    • PHP
  • MySQLでバックアップなしデータを復元できますか

    環境はLinux CentOS5.7 Apache MySQL5 PHP 会社のシステム管理者からこうなったらどうしますか?と聞かれたのですが システムの事はよくわかっていないのでご教示お願い致します。 私は興味があると、つい聞いてしまって逆に質問されて困っています。 PHPで動いているソフトがありまして そのソフトというのは、企業情報の一覧で出てきて そこに一件一件電話営業をかけて 商談の結果等を打ち込んでいくというものですが 企業情報や商談結果がMySQLのデータベースに収められています。 そこで聞かれた事が 毎朝9時にMySQLのバックアップを取っているとして AM9時から11時まで従業員が電話をして打ち込んだ商談結果があったが 何らかの原因でデータが壊れてしまった。 その間のバックアップは取っていない。 9~11時までのデータはどうやって戻せるででしょうかというものです。 9時に取っているバックアップを復元してしまうと9~11時までの商談データは 消えてしまいますよね。 バックアップを取っていないデータを戻す方法ってあるのでしょうか。

    • ベストアンサー
    • MySQL