• 締切済み

MySQLでのテーブル作成について

はじめまして。私は学校でDBの勉強をするのにOracle10gを使っているのですが家で練習するにあたりOracleを入れれないのでMySQL5.0をいれてみましたが若干勝手が違いいろいろ調べながらやってみたもののテーブル作成の際の制約の決め方などがうまく作れません。特に外部キーで悩んでいるのですがどうすればよいか教えていただきたいのです。 mysql>CREATE TABLE MEIBO( SEITO_NBR INT(5) PRIMARY KEY NOT NULL, SEITO_MEI VARCHAR(80) NOT NULL, SEIBETSU_KBN CHAR(1), TANJO_YMD DATE, GAKKA_CD VARCHAR(2), BIKOU_TXT VARCHAR(1000), INSERT_DATE DATE, UPDATE_DATE ); mysql>CREATE TABLE GAKKA( GAKKA_CD VARCHAR(2) PRIMARY KEY NOT NULL, GAKKA_MEI VARCHAR(80) NOT NULL ); ちなみに下の学科表は作成できました。が上の名簿がうまくできません。長くなりましたがよろしくお願いします。

みんなの回答

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.3

>家で練習するにあたりOracleを入れれない Oracle 10gのWindows用Express版入れれば良いかと。 #2様が書かれているとおりです。 まぁMySQLもcommunity版は登録必要だとおもうので、似たようなもんですね。 >が上の名簿がうまくできません。 #1様の書かれている通りですね。 >特に外部キーで悩んでいるのですがどうすればよいか 外部キーの何に悩んでいるのでしょうか? ・外部キーの設定の方法がわからない? ・外部キーを設定するにあたり、どう設定するのが良いか判断基準がわからない? 今回の質問には関係ないですが。 MEIBOは個人管理テーブルで、GAKKAは学科の管理テーブルですね。 要求しようにもよりますが、自分ならMEIBOにはGAKKA_CDをいれずに、 もう一つ対応付けのテーブルを用意するかな。 転科がない仕様なら問題ないですけどね。 まぁ他にも現実的なこと考えるといろいろカラムが必要かなぁとか思ったり。 mysql-gui-toolsを使えば、データベースの管理だとかやりやすくなります。 MySQL query browserを使うと、上部にクエリー(SQL分)書いて実行すると下部に結果が表示されます。 クエリーは強調表示してくれるし、入力し直しも楽なので、コマンドプロンプトでやるより、効率よく学習できるかと

mrheboi
質問者

お礼

外部キーはTypeを設定しないといけないというのが知らなかったものでできませんでしたがTYPE=INNODBでできました。他にもいろいろ補足をありがとうございました。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

> Oracle10gを使っているのですが家で練習するにあたりOracleを入れれない Oracle 10gにはフリーのエディションがあります。 ユーザ・プロファイルを登録してからダウンロードする必要があるようですけれど。

mrheboi
質問者

お礼

ありがとうございます。是非試してみます。

  • hito-koto
  • ベストアンサー率53% (14/26)
回答No.1

単なる書き込みのミスかも知れませんが、 UPDATE_DATE に属性指定(DATE等)が抜けているようです。

mrheboi
質問者

お礼

ありがとうございます。確かに抜けていましたすみません。 DATEをつけることでとりあえずの登録(外部キーは後付けにしてみようかなと思います。)はできました。

関連するQ&A