WEB上で利用者数10万のマイページ機能をもつようなビジネスサイトを構築しようと考えています。
ユーザーのID,PASS管理と
ユーザーごとのマイページの中にスケジュール管理機能、顧客管理機能
を設けます。
このような大規模なデータベースの設計例を教えていただけないでしょうか?
データベースにはMySQLを使用しようと考えています。
ユーザーのID管理は一つのテーブルじゃ無理ですよね?
その場合どのように分ければいいのしょうか?
ユーザーごとのマイページはユーザーごとにスケジュールテーブルなどを
作るべきなのでしょうか?
MySQLの物理的最大DB,テーブル数の制限などあるのでしょうか?
私自身はデータベースプログラムが出来ないため設計の部分でお教えいただけたらと思います。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

MySQLで顧客情報などが10万レコードという規模は特別大きくありません。

性能的にはまだまだ楽々いけちゃうでしょう。ユーザのID管理を分散することを考えるより、バックアップレプリケーションなどの運用に力を入れるほうが実際的です。

あえて検討項目として考えるとすると、(1)データベース部分のディスク容量 (2)同時接続数(想定)対応のコネクション確保 (3)その前提でのメモリーサイズの確保 だと思います。

MySQLではインデックスのキャッシュなどのサイズを指定できますから、パフォーマンスチューニング部分で改善できることは十分あると思います。

参考までに、その手のセミナーもありますよ。

参考URL:http://techstyle.jp/
    • good
    • 0

こんにちは.


DBの設計は難しいですよね.私なら下記のように3テーブルに分けると思います.

■ログインテーブル
 内部ID(連番), ユーザーID, パスワード
■顧客情報テーブル
 ログインテーブルの内部ID, 名前,住所,・・・
■スケジュールテーブル
 ログインテーブルの内部ID, 日付,スケジュール内容

ログイン時に見に行くテーブルによけいなデータを入れたくないのでログインテーブルは別にもうけます.顧客情報テーブルは,ログイン時に内部管理しているIDを入れると,ログインテーブルと顧客情報テーブルの連携が可能です.スケジュールテーブルも同様で,ログインテーブルの内部IDを入れることで関連づけることができます.このテーブル設計ならユーザーごとにスケジュールテーブルをもうける必要はありません.インデックスをはる位置に気をつければ,なかなか快適に動くと思います.

この回答への補足

参考になります。ありがとう御座います。
別件になるのですが、x-gameさんはオンラインショップのDB設計はご存知でしょうか?
http://www.muji.net/のような一般的なオンラインショップのDB設計例など
お知りでしたら教えて下さい。
(受注伝票、顧客管理、入金管理など)

補足日時:2002/04/07 19:34
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q家の外壁ひび割れ対策

築30年余ですが、早い時期からの外壁ひび割れに悩んでいます。10年余り前に塗装しましたが、その後もひび割れは進行しています。内部の鉄骨に沿ってひび割れしています。
有効な対策を教えてください。
たとえばひび割れを止めるような塗装とか、
今の壁の上に外壁を作るとか
その場合の費用(総2階建てで上下合わせて30坪)の目安も教えていただくと有難いです。
よろしくお願いします。

Aベストアンサー

塗装はボロ隠しにしか過ぎません。外壁のひび割れは内部から起きて
いますので、ひび割れの部分に専用の接着剤を注入しないと治まりま
せん。ひび割れをしている外壁の上に、新たに外壁を作っても、内部
が割れているのですから、新たに作った外壁も近い内に割れが生じて
くるでしょう。これは素人では何も解決しませんから、工務店などに
現状を見て頂き、可能なら見積もりをして頂いて補修をするかどうか
決められて下さい。費用ですが、現状が何も分かりませんので、何と
も言いかねます。

Qデータベースで変更の多いテーブルの設計

データベースを設計しています。

あるテーブルに関して、項目(列)が50個くらいあるのですが、これらのうち20個くらいの列が頻繁に変更があり、データの履歴が必要になるため、テーブルを再設計しようと考えています。

現在は変更があるたびにテーブル全体を別テーブルにコピーして、寄せています。

このような場合、何かよい設計方法はあるでしょうか?

Aベストアンサー

要望が今一つはっきりしませんが(^^;
以下のような設計ではいかが?

薬品テーブル:
        コード(プライマリーキー)
        名称

        製造会社
        新規登録日時

値段履歴テーブル(データが変更される項目を固定的なフィールドとして持つ)
        ID(プライマリーキー)
        コード(薬品テーブルの)
        値段(仮に値段が履歴記録対照であるとして)
        変更日時
        
XX履歴テーブル(データが変更される項目を固定的なフィールドとして持つ)
        ID(プライマリーキー)
        コード(薬品テーブルの)
        XX
        変更日時

・履歴を記録したいフィールド分、履歴テーブルを作る
・変更のタイミングが似通っているものがあれば、グループ化する
・仮に50の履歴テーブルを作成して、リレーションを取った場合、パフォーマンスがどのようになるかは、私にとって未知の領域です。

要望が今一つはっきりしませんが(^^;
以下のような設計ではいかが?

薬品テーブル:
        コード(プライマリーキー)
        名称

        製造会社
        新規登録日時

値段履歴テーブル(データが変更される項目を固定的なフィールドとして持つ)
        ID(プライマリーキー)
        コード(薬品テーブルの)
        値段(仮に値段が履歴記録対照であるとして)
        変更日時
        
XX履歴...続きを読む

Qマンションバルコニーのひび割れ補修について教えてください。

マンションバルコニーのひび割れ補修について教えてください。

マンションのバルコニーの壁と手摺壁の接合部に発生したひび割れです。
打継ぎ部分に当たると言うことです。
画像を添付します。
ひび割れの程度として・・・1センチ以上のひび割れです。

★この場合の最適な補修・修繕方法を教えてください。

また、このひび割れは一度表面だけをコーキング法で補修してもらいましたが
経年経過により・・・再発している状況です。
当マンションでは、今年から大規模修繕に向けて
管理組合にて話し合いが始まります。

このひび割れは、うちだけではなく、他の住戸でも発生しているようなので
大規模修繕に合わせて補修・修繕を行ってもらうことが良いかと考えてます。

Aベストアンサー

 こんばんは。

 写真の接合部のひび割れの原因を把握することが必要です。

 地震などでひび割れが入ったのか、雨水の浸入などで、鉄筋、筋金などに錆が入り、錆の浮き上がり膨張でコンクリートがひび割れたのかなど調べることが必要です。

 地震などによる亀裂でしたら、コーキング剤での修復が有効ですが、鉄筋、筋筋などの錆でしたら、程度にもよりますが、大掛かりな修復工事が必要となる場合があります。

 いずれにしろ、補修業者にひび割れ部分を含めて調査依頼をしてもらい、見積りを出してもらうことです。見積もりも数社に依頼して、単なる金額や工事一式のという内容の見積りではなく、作業内容が分かる見積り明細書も出してもらうことです。

 見積りだけでも調査費用が発生する場合があります。

Qデータベースのフィールドそのものを自由に定義できるテーブル設計とは

はじめまして。
この度、ユーザからの入力をデータベースに保存する複数アンケートフォームを作成しようとしています。
その際、各アンケートフォームごとに入力項目名、入力タイプ好きな数だけ管理側から設定できる仕様です。
このような通常フィールド(列)となる部分の名称やデータタイプを自由に設定できるデータベース設計がうまくいきません。現場ではどのようにしてやられてるのでしょうか?
私が思いつく限りでは
----------------------
アンケートフォームテーブル
・アンケートフォーム番号(PK)
・アンケート名称
----------------------
項目雛型テーブル
・項目番号(PK)
・データタイプ
----------------------
項目実体
・アンケートフォーム番号(PK)
・項目番号(PK)
・項目名称
・表示状態
----------------------

上記のような構造にした場合、ユーザ毎のアンケートデータを保存するテーブル構造が思いつきません。
作成できる項目数の限度を30に決めて、予め30フィールド、テキスト型のようなものを用意しておくのも狭い利用範囲になる気がしますが・・・

アドバイスをお願いします。

はじめまして。
この度、ユーザからの入力をデータベースに保存する複数アンケートフォームを作成しようとしています。
その際、各アンケートフォームごとに入力項目名、入力タイプ好きな数だけ管理側から設定できる仕様です。
このような通常フィールド(列)となる部分の名称やデータタイプを自由に設定できるデータベース設計がうまくいきません。現場ではどのようにしてやられてるのでしょうか?
私が思いつく限りでは
----------------------
アンケートフォームテーブル
・アンケートフォーム番号(P...続きを読む

Aベストアンサー

項目名などの情報の定義情報もDBに保存するということですね。

定義情報を保存するテーブルと、その定義に従って保存されるデータを保存するテーブルを作るのが常套手段です。

今回の場合は、アンケートフォームと項目の2階層あるため、私なら

----------------------
アンケートフォーム定義テーブル
・アンケートフォーム定義番号(PK)
・アンケートフォーム名称
----------------------
項目定義テーブル
・アンケートフォーム定義番号(PK)
・項目定義番号(PK)
・項目名称
・データタイプ
・表示状態
----------------------
アンケートフォームデータテーブル
・ユーザ番号(PK)
・アンケートフォーム定義番号(PK)
・登録日時
----------------------
項目データテーブル
・ユーザ番号(PK)
・アンケートフォーム定義番号(PK)
・項目定義番号(PK)
・入力値

という感じです。
ここで問題になるの入力値のデータ型ですが、
2通り考えられます。
1、文字列型で定義しておき、数値型や日付型の場合は文字列型に変換して登録する。
2、文字列型、数値型、日付型の3つの列を用意し、定義によって適宜登録する列を変更する。

読み出し(SELECT)の場合は上記の逆となります。どちらかというと1の方が楽だと思います。

項目名などの情報の定義情報もDBに保存するということですね。

定義情報を保存するテーブルと、その定義に従って保存されるデータを保存するテーブルを作るのが常套手段です。

今回の場合は、アンケートフォームと項目の2階層あるため、私なら

----------------------
アンケートフォーム定義テーブル
・アンケートフォーム定義番号(PK)
・アンケートフォーム名称
----------------------
項目定義テーブル
・アンケートフォーム定義番号(PK)
・項目定義番号(PK)
・項目名称
・データ...続きを読む

Q集合住宅、1階、耐力壁のひび割れと耐震補強

竣工15年、1階屋内駐車場、耐力壁に、裏にまで貫通した、斜めひび割れが、表壁,裏壁合わせて21本あります。ひび割れ幅は、最大0.2~0.3mmです。長さ2~2.5mです。ここ数カ月間に新しいひび割れの発生はありません。柱、基礎コンクリートにひび割れはありません。柱の沈みもありません。建物周辺の石垣に動きはなく、2m離れて立つ電柱に傾きなどの動きはありません。ひび割れの数が多いこと、斜めの応力クラックであることで、耐震工事をした方がいいですか。耐震工事費用はどれくらいですか?500万円程度で、壁の入れ替えができますか?鉄筋の入れ替えだと300万円程度ですか?コの自字型の壁に囲まれた、5mX10mの広さの屋内駐車場です。建物は、平成9年3月竣工で、阪神震災後の改正建築基準法に適合し、耐震性のある建物です。ひび割れは、竣工3年目から発生し、8年目頃で終息しています。しかし、ひび割れ周辺に、成長きざしのある、微細な、斜め応力クラック様のものは多数あります。ご指導を、宜しく、お願いいたします。

Aベストアンサー

再です。

>建物はRC構造、6階建、分譲70戸入居です。

補足してもらいましたが、現地を見ないと判断は不可能です。耐震診断が出来る建築士に見てもらいましょう。

質問者さんも勉強されているようですが、質問文にもかなりにもかなり誤解されているところがあります。そのためプロに現地を見てもらわなければ解決することはありません。

>平成9年3月竣工で、阪神震災後の改正建築基準法に適合し、耐震性のある建物です。

阪神淡路大震災は平成7年(1995年)、建築基準法の改正は平成12年(2000年)です。6階建てのマンションだから設計は平成8年3月くらいには終わっていますので、改正後の基準法に適合とかありえないです。

>基礎コンクリートにひび割れはありません

基礎なんて見えないでしょ。

>ひび割れ周辺に、成長きざしのある、微細な、斜め応力クラック様のものは多数あります。

プロでも成長きざしなんてわかりません。

>耐力壁に、裏にまで貫通した、斜めひび割れが、表壁,裏壁合わせて21本あります。ひび割れ幅は、最大0.2~0.3mmです

貫通ひび割れでこの幅はありえないと思いますが。本当に貫通しています?もしくはコンクリート表面のモルタルのひび割れじゃないですか?

>ひび割れの数が多いこと、斜めの応力クラックであることで

斜めに入るのは何らかの要因で発生していると思われますが、建物全体と敷地状況を勘案してしか判断できません。

>500万円程度で、壁の入れ替えができますか?鉄筋の入れ替えだと300万円程度ですか?

ひび割れが壁の取替えになることはほぼありません。壁の入替と鉄筋の入替ってどういう意味でしょうか?同じように壁を壊して壁を作り直しならありえますが、鉄筋だけ入れ替えるなんて不可能です。

再です。

>建物はRC構造、6階建、分譲70戸入居です。

補足してもらいましたが、現地を見ないと判断は不可能です。耐震診断が出来る建築士に見てもらいましょう。

質問者さんも勉強されているようですが、質問文にもかなりにもかなり誤解されているところがあります。そのためプロに現地を見てもらわなければ解決することはありません。

>平成9年3月竣工で、阪神震災後の改正建築基準法に適合し、耐震性のある建物です。

阪神淡路大震災は平成7年(1995年)、建築基準法の改正は平成12年(2000年)です...続きを読む

Qデータベースのテーブル設計について

データベースのテーブル設計で、数項目のみのデータをひとつのテーブルにしていますでしょうか?

すべてデータベース内で管理するという一貫性はあると思うのですが、たかだか数項目なのでどうかなとも思ってしまいます。

かといって、数項目のみのデータをプログラム内(たとえば構造体)で管理するというのも、管理が必要な要素が散らばるし、再コンパイルも必要になってきます。

このあたりどのようにすればよいのかなといつも判断に悩んでいます。

みなさんはどのように判断、設計していますでしょうか?ご意見お教えください。

Aベストアンサー

1項目だけでも1つのテーブルにすることはあります。それが「リレーショナル」な設計である場合が往々にしてあります。項目数で判断するものではありません。

Q踵のひび割れ?かかとの痛み

今日の夜中に踵の部分が結構痛くて目が覚めました
10~20秒くらいで治まったのですが原因がよくわからず困惑しています。
その後はあるいても特に痛みは感じたりしていません。
踵がひび割れしているようにもみえます。
ひび割れで痛みが発生した場合は一度のみでなくひび割れの痛みはずっと続くものなのでしょうか?
一回痛くなったあとは特に痛くないなんてことあるのでしょうか?
ひび割れを意識した事がないのでご存じの方いらっしゃいましたらよろしくお願いいたします。

Aベストアンサー

表皮のひび割れで,目が覚めるほどの痛みだとすると
ひび割れ部分に、着衣の糸が絡んだとも思われます。
が、ひび割れしているようにも見える。という事であれば,表皮に糸が絡んだとは考えにくいですね。
まだ、一回だけなので、ひび割れとの関連は想定できません。
急に運動をしたり,かかとに衝撃を受けた。なども考えられるので、しばらくは様子を見るしか無いと思います。

Q出勤管理のデータベース設計

↑をアクセスで作成しています。今のところ、社員テーブル、作業場テーブル、部門テーブルなどを作ってあるのですが、肝心の出勤データはどう設計すればよいのかぜんぜんわかりません。月ごとに申告するものですが、年、月、日、さらに一日分の出社時刻、退社時刻、場所、その他いくつかの項目があり、複雑すぎてどうやればわかりません。もちろん社員分のデータ管理なので、一人分ではありません。かなりぱにくってます。どうぞおしえてください。

Aベストアンサー

社員番号
作業場番号
日付
(以下時刻)
IN
OUT
外出1~3
戻り1~3
(以下時間)
時間内
時間外
深夜
休日
休日深夜

だいたいこの位でしょうかね~
時間の部分は一括計算させる処理で算出すればいいでしょう。

作業場が一日に複数箇所あり得るなら工夫が必要でしょう。
部門は社員の所属先と考えたので、出勤データにはいれてません。

頑張ってくださいヽ(^。^)ノ

Q購入マンションの玄関にひび割れ発見

こんにちは。
今年5月に購入したマンションについて、
先週玄関の掃除をしていたところ、大理石?風の玄関のタイルに
ひび割れを発見しました。

購入したマンションには、住宅性能保証制度、建築住宅性能評価書、設計住宅性能評価書が付いています。

住宅性能保証制度の「共同住宅等性能保証約款」には
短期保証基準の共別表に
「保証対象部分…左官、吹付、石張、タイル工事
(床、壁、天井等の左官、吹付、石張、タイル工事部分)
保証期間…2年
先の保証対象部分のモルタル、プラスター、しっくい等の仕上げ部分、石・タイルの目地部分、張石・タイルに、剥離、変退色、著しいひび割れなどが生じてはならない。
なお、これらの部分に軽微なひび割れが生じることは避けられず、住宅品質又は、性能を損なうものではない。」

との記載がありました。
正直著しいひび割れと軽微なひび割れの判定基準があいまいで、
よくわかりません。
どの程度が著しいひび割れと判断され、また軽微なひび割れと判断されるのでしょうか?

とりあえず保証者である販売業者に連絡するしかないわけですが…
わかる方教えてください。

こんにちは。
今年5月に購入したマンションについて、
先週玄関の掃除をしていたところ、大理石?風の玄関のタイルに
ひび割れを発見しました。

購入したマンションには、住宅性能保証制度、建築住宅性能評価書、設計住宅性能評価書が付いています。

住宅性能保証制度の「共同住宅等性能保証約款」には
短期保証基準の共別表に
「保証対象部分…左官、吹付、石張、タイル工事
(床、壁、天井等の左官、吹付、石張、タイル工事部分)
保証期間…2年
先の保証対象部分のモルタル、プラスター、しっくい...続きを読む

Aベストアンサー

内覧などで、指摘して未済は別として、引渡し後の
当て傷などは、有償扱いとなります。
石orタイルのひび割れとの事なので、多分該当部の
下地の亀裂により表層がひび割れになっています。
5月に購入との事だと、初期のアフターサービスは
終わっているのでしょうね。
先ずは、事業主に事象の連絡→施工会社が確認となる
ので、1年アフターサービス時に補修をしてもらえる
ように話せばいいと思います。

Qマスタテーブル使用時のデータテーブル設計について

皆様こんにちは、失礼致します。

現在、ASP.NET+SQLServerで業務用帳票アプリの開発を行っています。
DBを使用した開発は初めてで、テーブルの設計手法について
経験者様のご指導を頂きたく、宜しくお願い致します。

まず、マスタテーブルは以下とします。

【顧客マスタテーブル】
・顧客マスタID
・顧客名
・顧客名(英語名)

帳票データ入力画面で、顧客マスタ検索ボタンから別画面を起動し、
そこで選択した顧客名を帳票データ入力画面に反映させます。

そして、帳票データ入力画面のデータをデータテーブルへ格納する
のですが、その際には顧客名そのものか、マスタIDのどちらを
格納するのが好ましいのでしょうか?

要件としては以下を満たす必要があります。

1.帳票データ入力画面で格納したデータは
  別の帳票データ入力画面でも使い回す。

2.帳票印刷時にのみ、顧客名を対応する顧客名(英語名)で
  出力する。

3.データテーブルに格納されたデータは後々参照して使い回す。

顧客名で格納しておけば使い回しは楽ですが、2.のケースで
顧客名から顧客名(英語名)をselectした場合に、顧客名は一意でも
顧客名(英語名)が一意ではなかった場合に問題が起きます。

マスタIDで格納しておけば、対応する顧客名(英語名)は検索
できますが、マスタを修正した場合には3.で過去データを
参照する時に修正後のマスタ情報が表示されてしまいます。

結論としましては、両方とも格納しておくのが好ましいのでは、
と考えておりますが、メンテナンス性の観点から、データテーブルの
カラム数はできるだけ少なくしたいとも考えております。

周囲に経験者がいなくて困っております。
ご指導頂けますと幸いです。


以上、宜しくお願い致します。

皆様こんにちは、失礼致します。

現在、ASP.NET+SQLServerで業務用帳票アプリの開発を行っています。
DBを使用した開発は初めてで、テーブルの設計手法について
経験者様のご指導を頂きたく、宜しくお願い致します。

まず、マスタテーブルは以下とします。

【顧客マスタテーブル】
・顧客マスタID
・顧客名
・顧客名(英語名)

帳票データ入力画面で、顧客マスタ検索ボタンから別画面を起動し、
そこで選択した顧客名を帳票データ入力画面に反映させます。

そして、帳票データ入力画面のデー...続きを読む

Aベストアンサー

データテーブルへ格納するのは(一般的には)顧客IDでしょうね(一意ですよね)。

>顧客名から顧客名(英語名)をselectした場合に、顧客名は一意でも
>顧客名(英語名)が一意ではなかった場合に問題が起きます。

意味がよくわからないのですが

>マスタを修正した場合には3.で過去データを
>参照する時に修正後のマスタ情報が表示されてしまいます。

顧客マスタの履歴管理をおこなうのであれば、

・顧客ID(PK)
・適用開始年月日(PK)
・適用終了年月日
・顧客名
・顧客名(英語名)


人気Q&Aランキング

おすすめ情報