SQL初心者質問スレ [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
ユーザー退会したらデータどうすんの?
破棄するならテーブル別がらくじゃね
同一テーブルだと日次で深夜にでも削除実行するんか >>271
sqliteで複数ユーザーが
同一テーブルにアクセス、
まだわからないかなw >>261
> (Mysqlはテーブル数の制限がある)
どこ情報かしらないが、普通は制限はないよ
また、仮にsqlite3を使うとしたとき、重大な問題が別に発生する
それは、誰かが書き込みをするとファイルがロックするということ
要件的にそれで大丈夫かどうかは熟考する必要がある
逆にMySQLを使う場合でもユーザ単位でテーブルを分割する場合もある(ユーザIDによる水平分割)
ソシャゲ界隈では良くあること
これも、要件と相談してからだな あ、テーブル数の制限って、レンタルサーバだからなのか
なるほどねー まあこのまま続けてたら半年後にはなんでこんなバカな質問したんだろうと思うこと請け合い ユーザ数が1万人を超えるようなサービスを、MySQLのテーブル数が制限されるようなゴミレンサバで実行するなんて・・・
すごーい(別の意味で) 金取るシステムとは思えん
無料サービスだろ
エラーが発生してもデータが壊れても、すいませんテヘで済むような奴 会員数1万人のWebベースのサービスやりたいんだったら、SQLがどうのではなく、
それなりの通信環境、ハードウエア、システム要員を用意しないと駄目だろう そもそもこんなところで質問するようなやつなんだから
訳分からず質問してるだけだろ
察して遊んでやれよ >例えばテーブル(ユーザー)数が1万を超えても問題ないでしょうか?
要求仕様じゃないかな? テーブル名をフラグに使ったことならあるよ
テーブルがオープンできない=それは未使用
当時はみな気がくるっていた これからSQL勉強する者です
独学で本を参考にするつもりですが、まずSQLでデータベースから抽出できます、といえる程度になるにはどのくらいの期間見込めばいいでしょうか? いや真面目に・・3ヶ月くらいだろうか?ととりあえず予測を立てたのですが・・
実務でできないのが痛いところなのですが 何をインストールするのか知らんけど、つまずく奴はRDBを自分のPCにインストールするとこからつまずくからなw
あれこれやる前から考えてもしょーがない。自分でコマンドをどんどん入れてみるこったよw 君がPCを所有していて、OSが入っていて、ネットに接続できているなら
適当なSQLをダウンロードしてインストールすれば
勉強は今すぐにでも開始できそうなんだが >>290
あんたの才能とやる気次第としか言えない
SQLはかなり癖のある言語だから、ダメな人は1分で本を閉じて終わり >>291
MySQL
能書きいうよりまずやることは経験済み納得だが、今後の方向づけを検討しての質問だった >>294
そうなんですよ
いまうちmacしかも壊れた・・(へぼくてすまん)
つうことでうちは会社があまりダウンロードとかうるさくないのですが、
会社のwinマシンに落とすことを目論み中ですが、会社PCに個人で落としてる人いますか? それはここで聞かずに、上司に聞くべきことだろ
ちゃんと理由を説明して、何をインストールしたいか説明し
それが仕事で必要なことだとなればインストール可能じゃないのかな?
君の会社での役割が管理者で、PCの設定に関して権限があるなら、聞かなくてもいいだろうけど やはりこっそりはまずいか…
実務じゃ必要ないって言われるのが関の山だ
だってうちの上司ろくに関数もわからないお馬鹿…なんでもマッチョに力技が得意技なもんで
なくせに色々要求してくる
んでそんなとこを抜け出すためのSQL習得なのです
Winマシンを大人しく速攻買おう
つうことで安いの探すとこから始めます
Dellあたりかなー できたらVAIO けっこうまじめに質問したんだけどやっぱ2ちゃんだな
冷やかしだけで答えてはもらえないか
ま、いいやとっととやるから 真面目に回答しても冷やかしとしか受け取って貰えない w >>300
だいぶ抽象的で、何に役立つのか
分かりにくい質問だったことは
覚えておいて。 DB板は、おふざけな質問でない限りマトモに答えてくれるよ SQLでデータを抽出する基本だけなら、みんな言うように1日でできるぞ
select文流すだけだからな
問題は、SQLを発行する方法とそのための環境の構築が難しいだけで >>307
select hello from world 批判も応援する言葉もどちらもありがとう
290で3ヶ月と言ったのは、会社のちょっとデータ詳しいちょー意地悪なおっさん(でも非エンジニアで営業部のデータ取りまとめしてる程度)に
SQL独学で3ヶ月でてきて当たり前、オレは3ヶ月で覚えた、と言われて
もちろんそれはマウントしたいだけだからどの辺りまでかなんて言わないしこっちも聞かない
だから漠然とした答えに困るような素人くさい愚問なアホな質問とわかっていたんだけど、
とりあえずの導入としてはどのくらい見ればいいかな、と知りたくなってしまって
だから答えてくれた時間とかはその通りでもあるし、その限りでないこともわかってる
そのおっさんは独学で覚えたのが自慢で、でもそのおっさんがExcelで作ったものはちょっとした普通の作業が汚い
SEの人と一緒に働いたとき当たり前のことをちゃん綺麗に整えて作るからとても感心した
そんななんやかやがあり
スレ違いになり申し訳ない
Hello world 本日、postgresqlをDB2に替えたらwebアプリが動かなくなったわ。
もう逃げたい。俺のせいじゃないけど。 テストもせずにいきなり入れ替えたのかよ
そんなことができる現場、逆にすごい楽しそうだな SQL言語ってオラクルとかMysqlとか、MSで違うんですか? SQLとMySQLって違うの?
でSQLがあってのOracle? >>316
単語それぞれでググってみればわかる
MySQLとOracleはデータベースソフトウェア製品の名前
SQLはそれらで共通に使われている(ただし方言あり)言語の名前 誰が質問者か分からなくなってきた
質問者はsageをせずに書き込むと良いですよ
そうすれば、ID表示でますから SQL ServerとMySQLを単にSQLと略す馬鹿がいるので混乱する。 初めてダウンロード
PostegerSQLとMySQLどちらがいいだろうか? 両方入れとけ
管理方法が違うのでコンソールまたはツールで馴染んだほう残せばいい ツール使うなら、両者ともそれほど違いはなかったと思う
コンソールだと、違いがあるから慣れるまで時間掛かりそう >>324
おけ
両方入れる
>>325
んーよくわからず、まだ先のことだろうから後で考えるわ SQLを触ったことないんですが、クエリ文を覚えるためにはどうすればいいでしょうか?
C#という言語でLINQというものは触ったことあるのでまったくわからないとは思わないのですが・・・ >>328
普通の人は、本買って読むんだけど・・・ SQL試す環境つくればいいよ、上にあるMySQLやPostgreSQLをローカルに入れて
PgAdmin3とかMySQL Workbenchとか動かしてみては
SQLite3でも試せるけどね >>328
SQLとクエリと言ってる時点でおかしい。たぶんSQL Serverが前提なんだろうな。 >>334
質問の意図がわからない
それをここで俺らに聞いて何をしようというのだ? >>334
えっ!?!?
いやいや普通もれなく全員清掃係りの人も警備の人も使うでしょ
おたく使ってないの??? accessは帳票必要なシステムでは楽チンだけど
帳票なかったらphpのほうが楽チンだな >>328
業務で使うsqlのパターン は限られてるから
初心者向けの本を買えばいいと思うよ 業務で使わないsqlは多種多様なのか?違いが分からん DB自体の操作やユーザー管理も含めて言っているのじゃないかな? 業務で使う時は特殊な記述を避けるというだけの話かと 顧客id 顧客名
取引id 顧客id 取引額 取引日
こんな2つの顧客テーブルと取引テーブルがあるとします。
取引テーブルの取引日と顧客idはUNIQUEな関係です(同じ日の再度の取引はない)。
ある顧客との、ある期間中どれだけ取引があったか(回数と総額)の計算をしたいです。
顧客テーブル
顧客id INT PK
顧客名 VARCHAR NN
取引テーブル
取引id INT PK
顧客id INT FK
取引額 INT NN
取引日 DATE NN
UNIQUE (顧客id, 取引日)
インデックスを貼るべきところとかよくわからないのですが、テーブルはこんな感じでいいのでしょうか?
検索(WHERE)に取引日を使うので、取引日にもインデックス貼ったほうがいいのでしょうか?
あと取引日のDATE型なんですが、UNIXTIMEのようにある日からの起算のほうが検索早そうなのでINTにしたほうがいいですか? >取引日にもインデックス貼ったほうがいいのでしょうか?
それで検索をよくするんだったら良いんじゃないの。自分は株価テーブル作っててPKが(コード、出来高年月日)なんだけど、
出来高年月日での検索もするんでその出来高年月日にindex貼ったら実行スピードめちゃ上がったし >>345
DATE型使っても、内部表現はバイナリー値だから実行スピードは変わらないだろう >>346-347
レスありがとうございます。
実例での効果まであげていただいて感謝です。
DATA型でも検索速度は変わらないとのことなので、
このままでCREATEしたいと思います。 RDBMSの内部構造を意識するのが初心者なのかと。 まあプログラムやってればその辺はちょっとは検討つくでしょう
JavaScriptみたいのしかやったことないとかだとDBいじる機会もなかなかないだろうし
ところでDATE型とINT型の検索速度の比較って
ググって見るとINT型のほうが早いみたいだけど 郵便番号と地名が書いてるデータベースを作るとして
0から始まる北海道はとりあえず無視するとして
7桁のユニークな数字になるわけですが
そういう番号があっても主キーにせずオートインクリメントなサロゲートキーを作るべきですか? 郵便番号は郵便局が自分たちの業務をやりやすくするために振っただけのものであって
地名との一対一の紐付けを保証するものではないし
郵便局の都合で変更されることもある
そのへんを理解した上で使うなら別にいいんじゃない? 「郵便番号の」サロゲートだとしたらそのへんは何も変わらんが。 >>353
> ところでDATE型とINT型の検索速度の比較って
> ググって見るとINT型のほうが早いみたいだけど
そらそうよ。プログラムやってれば見当つくはず。
>>354
困ったことに、郵便番号と地名は1:nです データベースは当然、1:n関係を表現できるだろうに。何を困ることがある? 郵便番号はちょっと例えが悪かったかな・・・
例えばクレジットカードとか連番だと都合が悪いけど一意な番号
それでもサロゲートは必要? だってとりあえずauto incrementを主キーにしとけって書籍に書いてるんだもの 初心者にはあれこれいうよりベストな書き方覚えろっていう
ベストでもないオレオレ書き方教える書籍は多い
全部のテーブルにcreated updated作れみたいな >>353
そもそもどのRDBMSのINT型なのか知らないが、標準SQLではコンピュータの数値表現としているので、速いのはあたりまえ。
ちなみにOracleでは標準SQLのINT型はNUMBER型なのでまったく違う。当然Oracleでは計算が遅くはなる。 ■ このスレッドは過去ログ倉庫に格納されています