System




システム変数

DESC システム変数とはSQL サーバの挙動を設定するための各種パラメータのこと。 設定は設定ファイル(my.ini)に記述することで行う。
// 現在の設定をみる show variables; // sjis に変更する -> かわらなかったような SET @@character_set_results ='sjis'; SET @@character_set_results ='sjis'; [mysql] default-character-set=utf8 となっているのを、 [mysql] # default-character-set=utf8 default-character-set=sjis



Erorr

log_error : エラーログファイルパス ( c:/ProgramData/MySQL/MySQL Server 5.5/data/ ) log_warnings : 警告ログを出すか?


実行中のスレッド

SHOW PROCESLIST



スレーブホストの一覧をみる

show slave hosts;



DB.とは

DESC 使い方ではなくて、DB の考え方の説明です


DB.から学べる.Computer.基礎知識

DESC data を記述するための data ( meta Data ) Computer とはそもそも data 処理をするための道具


DB

DESC
// Table は Record の集合 [Table] [Record] [Record] [Record] [Record] // Record は Column の集合 [Record] [Column][Column][Column][Column][Column]
DBMS とは DB を管理する Soft( Service ) KEY は table間の relationship を向上するもの. index は data 検索を向上させるもの. Record を一意に識別可能な field を PrimaryKey という 外部KEY とは他tableの主KEY のこと ( 外部KEY によって Relationship が構成される )


DBとはデータの貯蔵庫

DESC data を一箇所に集めるることで, 検索 SPEED があがる data を蓄積するために, 伝票, 名刺に必要な情報をまとめる -> 構造体 | Record -> ここでどんな構造体がくるかわからないから, metadata が必要になります DB のわかりやすいたとえとして, [ 住所録 Application ]


relationDB.で.DRY.原則を守る

DESC 問題は 複数の [ Record が 同一のdata ]を繰り返すこと
// 墨田区 の名前が変更されたら, すべて変更しないといけない // 住所録 DB 田中 | 墨田区 | ... 佐藤 | 墨田区 | ... A | 中央区 | ... B | 中央区 | ... C | 千代田区 | ...
区Table を別管理して参照させる 墨田 -------- 田中 中央 | 千代田 ---- 佐藤


DatabaseSystem.の実態は.datafile

DESC datafile <-> DBMS <-> Application System の規模に応じて , 構成をかえる


小規模(StandAlone)

DESC 一台のPC に datafile DBMS Application を配置


中規模(File.共有型)

DESC 一台のPCに datafile && 複数のPCに DBMS | Application


大規模(ClientServer.型)

DESC 一台のPCに datafile | DBMS を配置 複数PC Application


ServerとClientをWeb経由でするならばWebSystem

DESC Application も Server に配置して, Application は browser のみ.


DB.を設計してみよう

DESC 何が知りたいのかを考えて Data を洗い出してみる( ここ大事です )


個々のData.属性を作成する

* ( data をあらわす data を作成する ) 1. Schema という.( どんな情報があるか ? を定義する. )
-------------------------------- 酒屋 DB -------------------------------- Filed name:商品 : 型 string Filed name:顧客 : 型 string Filed name:単価 : 型 数値 Filed name:売上数 : 型 数値



データの重複をなくそう

DESC DB の中に同じ data がないかチェックする Relational DB とは table を分割して, 情報を重複を防ぐこと. ie. 参照にするだけ
// 同じ data を繰り返し入力する必要がある. ----------------------- 酒屋 DB ----------------------- 商品名: 単価 顧客 ウィスキー 2000 A ウィスキー 2000 B 日本酒 1000 A



Table.間を.LINK.するための.KEY.を.Field.に追加する

DESC Primary KEY : record を特定する uniq 値 -> XXX_ID という Field名 が一般的 * ForeignKey ( 他Table Record を特定する KEY -> だから外部 ) ポインタみたいなもの * メタファーとしては 外部 KEY の部分に 他Table Record が埋め込まれるのを想像しよう 売り上げ Table 売り上げID 商品ID 顧客ID 売り上げ数量 0 1 3 10


Dataの検索SpeedをあげるためにIndexを利用してみる

DESC 1. Tableの各 field に index つけをする. メタファーとしては 本の索引. glBegin <-> P315 1. Index Table Field値 , record 場所. -> 代表となる(_KW_: ) で情報をひくのが Point


つくる手順

DESC DB を設計する DBMS を操作する Application ( usr interface )作成する


SQL(StructuredQueryLanguage)とは.DBMS.に命令を与える言語

DESC SELECT : Refer Update Insert
SELECT // 取得したい Field 顧客名, 住所, 電話番号, 商品名, 単価, 売上数量 // Table FROM 顧客Table, 商品Table, 売上Table // 条件指定 AND == && WHERE 顧客Table.顧客名 = "やまだたろう" AND 売上Table.顧客ID = 顧客Table.顧客ID 使い道としては Asset ( Version ) 管理をするために, SQL Server をたてる



Transaction.制御も.DBMS.にまかせる

DESC Transaction とは 複数の SQL 文 BEGIN_TRANSACTION SQL... COMMIT Trouble が発生した場合は Rollback 処理をする -> ここまでしてくれるから DB を使う意味がある!


FAQ

DESC 困ったときはこちら


SQL.でうまく動作しなくなったら.reset.するのがよいかも

DESC 何か 新規で file を追加しただけで, 動作しなくなった


Tomcat.のログを見る

DESC トラブルにあったときは, 以下に log がのこる Java の Program らしい ので JRE の ReInstall などで 実行できなくなると サービス開始時に落ちる
[2010-04-06 10:01:51] [info] Error occurred during initialization of VM [2010-04-06 10:01:51] [info] java/lang/NoClassDefFoundError [2010-04-06 10:01:51] [info] : java/lang/Object [2010-04-06 10:10:40] [info] Procrun (2.0.4.0) started [2010-04-06 10:10:40] [info] Running Service... [2010-04-06 10:10:40] [info] Starting service...



次のサービスを.Reboot.すると正しく動作するらしい

DESC SQL Server (SQLEXPRESS) * なんか 2 table を merge できるらしい -> しかも 更新日時 が新しい方にとか google の検索 page もこちらになるらしい mosi local におとして, parse すると perl などですると 相当負担がかかるらしい