こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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
);
ちなみに下の学科表は作成できました。が上の名簿がうまくできません。長くなりましたがよろしくお願いします。

投稿日時 - 2007-07-16 10:15:39

QNo.3172084

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>家で練習するにあたりOracleを入れれない

Oracle 10gのWindows用Express版入れれば良いかと。
#2様が書かれているとおりです。
まぁMySQLもcommunity版は登録必要だとおもうので、似たようなもんですね。

>が上の名簿がうまくできません。

#1様の書かれている通りですね。

>特に外部キーで悩んでいるのですがどうすればよいか

外部キーの何に悩んでいるのでしょうか?
・外部キーの設定の方法がわからない?
・外部キーを設定するにあたり、どう設定するのが良いか判断基準がわからない?


今回の質問には関係ないですが。
MEIBOは個人管理テーブルで、GAKKAは学科の管理テーブルですね。
要求しようにもよりますが、自分ならMEIBOにはGAKKA_CDをいれずに、
もう一つ対応付けのテーブルを用意するかな。
転科がない仕様なら問題ないですけどね。
まぁ他にも現実的なこと考えるといろいろカラムが必要かなぁとか思ったり。

mysql-gui-toolsを使えば、データベースの管理だとかやりやすくなります。
MySQL query browserを使うと、上部にクエリー(SQL分)書いて実行すると下部に結果が表示されます。
クエリーは強調表示してくれるし、入力し直しも楽なので、コマンドプロンプトでやるより、効率よく学習できるかと

投稿日時 - 2007-07-16 12:50:51

お礼

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

投稿日時 - 2007-07-16 18:49:31

ANo.2

> Oracle10gを使っているのですが家で練習するにあたりOracleを入れれない

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

投稿日時 - 2007-07-16 12:21:58

お礼

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

投稿日時 - 2007-07-16 12:51:28

ANo.1

単なる書き込みのミスかも知れませんが、

UPDATE_DATE に属性指定(DATE等)が抜けているようです。

投稿日時 - 2007-07-16 10:19:33

お礼

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

投稿日時 - 2007-07-16 11:44:32

あなたにオススメの質問