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

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

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

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

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

Q&A

解決済

3回答

963閲覧

データベース設計に関して

odakyutetu

総合スコア85

MySQL

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

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

0グッド

0クリップ

投稿2021/10/01 12:17

最近webアプリケーションを制作している者です。
データベースの設計は今までネットで調べつつ自分流で設計していました。
学生なのでプログラミングは仕事ではないのであまり設計は気にしていなかったのですが、今後のことも考えてしっかりとしたデータベースの設計を行いたいと考えています。

最近私が制作しているwebアプリケーションのデータベースの構造です。
具体的にはどこを改善すればよりよく運用することが可能でしょうか。
また設計は間違っていないでしょうか。
教えていただければ幸いです。

userテーブル

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ユースケースがわからないとデータ構造やパフォーマンスの改善案は出せないし、学校のテストじゃないので「これが正解」という答えが用意されたものじゃないから、逆に「間違い」と言えるものは存在しない。

学校のお勉強の延長線上で考えて「勉強」して「正解を学ぶ」、みたいに思っているのが根本的に間違っているんで、まずその辺の認識を改めて、とりあえずちゃんとしたアプリを何個か作り上げ、どういうケースでどういう構造が適しているのか、あるいは適していないのか、という経験を積まないと、「今後」に繋がるものは得られないと思う。

世の中でよく採用される設計の理論やパターンというのは存在するけど、全てが万能の「銀の弾丸」だと思わない方が良い。

実際はトライ・アンド・エラーで学ぶことがほとんど。

投稿2021/10/01 13:03

gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

データベースの(テーブル)設計を学びたいのであれば、データモデリングを学ぶと良いです。

投稿2021/10/01 19:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

メールアドレスが重複禁止、かつ、NOT NULLであれば、主キーになりえるのではないでしょうか?

なので、自動採番のIDと、メールアドレスのどちらかを主キーとすればよいか、という問題になります。
どちらを採用するかは、判断は難しいところです。

しかし、現実的に見て、メールアドレスをもっていない人もいると思うので、
メールアドレスは候補キーどまりで、NOT NULL にすべきではないでしょうか?

投稿2021/10/01 12:39

o-naoki

総合スコア36

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問