2009-01-19
WAK database release
ようやく山行記録DBが公開されました!
http://www.arukou.sakura.ne.jp/component/option,com_dbquery/Itemid,28/
まだ若干の警告エラーがあるけど、まぁそこらへんは気にしない方向でお願いします。また、名称がWAK DB→山行記録DBに変更されています。WAK DBじゃ、何のデータベースかわからないから山行記録DBの方が分かりやすくていいね。
山行記録の量がまだそんなに多くなくて、はりぼてな感じが否めないけど、WEB上からデータを追加する機能もあるので、そのうち多くなっていくと思います。今後に期待かな。
2008-12-28
[Apache Derby] limit command
なんでかapache derbyでlimit文が使えないなぁ、と思ってたらサポートされてませんでした。 でも、ちゃんと代替の方法も用意されているみたいで、以下のように書いたらちゃんと動きました。
Statement stmt = con.createStatement();
stmt.setMaxRows(5);
ResultSet rs = stmt.executeQuery
("SELECT * FROM myLargeTable");
この"stmt.setMaxRows(5)"の部分が、"limit 5"になる模様。
参考サイト:
http://db.apache.org/derby/faq.html#limit
2008-12-03
WAK DataBase
思わず連続投稿してしまいました。
というのも、約10ヶ月前に制作したWAK DBが、友達のデザインによってとてもかっこよくなって帰ってきたからです。あ~、なんともうれしい限りです。
リリースはまだですが、一応制作者だしちょっとぐらいフライングして公開しても大丈夫だろう、多分。 ※ 名前の表示箇所は加工してあります。
というのも、約10ヶ月前に制作したWAK DBが、友達のデザインによってとてもかっこよくなって帰ってきたからです。あ~、なんともうれしい限りです。
リリースはまだですが、一応制作者だしちょっとぐらいフライングして公開しても大丈夫だろう、多分。 ※ 名前の表示箇所は加工してあります。

メニュー画面
検索画面(鳳凰三山で検索)
2008-10-07
Database Design: Intro, ER model
データベース設計の授業の予習をしまくってXMLをマスターすれば、情報検索のアプリケーションに100%役に立つことを発見。しかも課題も資料も回答ももろもろ全部先に提示してくれるとか、さすがIBMの研究員ともなるとレベルが違うわw。個人的には、このスタイルの授業が割にあってるなぁ。
----- note -----
・成績評価について
中間レポート 40%
→11月ごろ、課題をだす。
期末テスト 60%
→資料持ち込み負荷
目標:データベースの設計が出きるようになる。
教科書は使わない。
→http://www.fukudat.com/
参考書:
Ullman, Widom, "A First Cource in Database Systems," Prentice Hall.
北川, "データベースシステム" 昭晃堂
福田, 森本, 徳山, "データマイニング”
・今日の授業内容
1. データベース入門
2. ERモデル
-------------------------
「1st PPT:データベースの概要」
・What's Database?
→データを蓄えておくところ
→めもりは?
→データを永続的に蓄えておくところ
→HD, CD, Tapeは?
・Definition
データベースとは、
「複数の応用目的絵の共有を意図して、組織的活永続的に格納された大量のデータ群」
keyword:多目的、共有
→入れ物
ーDataBase Management System
「データベースを作成、管理するための機能を提供する仕組み」
→器
ーこれらは混同されて、単に「データベース」とよばれることが多い。
・データベースの役割
例:amazon
データ=本、顧客、仕掛け注文、注文履歴、売れ筋、顧客の嗜好などの情報
大量:中規模の書店でも、少なくとも数偽がギガバイトの情報を管理しなければならない
→メモリには大きすぎる。Cppでやろうとすると、メモリ管理が大変。
永続性:
→途中でなくなっては困る。サーバーシステムでも時々は電源をきらなくてはいけないことがある。ライフタイムが長いから。
複数のアクセスが競合する可能性がある。
マルチユーザ:
→ex:売上集計、注文など
・マルチユーザの例
二人が同時で買い物する時を考える。
重要なこと:どうやって排他制御をプログラムで実現するのか?
・何故データベースを使うのか?
scheme = definition of data
→変更の伝搬・影響が起こらないようにできる
各層の間のマッピングが再構成できれば、他のアプリケーションは安定的に動かすことが出来る。
下からくる場合もある。physical dataから
→マッピングが再構成が出来れば
現在の主流:relational database
conceptual scheme:概念スキーマ
・Logical data independence
・physical data independence
これらを実現するのが、データベースの役割。
・DBMSはsoftware system
→ハードウェアで実現しようとするのは駆逐された。
しばしば、application server, middlewareと一緒に用いられる。
・DBMSのoutline(実装の例)
ユーザが2種類:一般ユーザ、データベース管理者
M:データの定義
U:問い合わせ、更新
strage = hard disc
これをどうやって作れば良いのか、が本当はやりたいこと。
しかし、授業では時間が足りないので、ある程度のテンプレートを使うことにする。
よって、データベース管理システム設計ではなく、データベース設計。
・Required things
-ACID property
Atomic Consistent(一貫性がある) Isolation Durable←データベースに求められる特性
-database schema
-relational database
-query processing
-physical data structure
3-tier schema(3層スキーマ)
-external schema
-conceputal schema
-
・教養としてしっておくこと
-Relational Data Model
E.F. Codd(1923-2003)
San Jose, Almaden laboratory
概念:すべてのデータをrelationで表現する->すべてのデータは表で表現できる。→relation=表, テーブル(visible)
プログラムとデータの独立
データ構造を知らなくても問い合わせがかける
relationというのは、Tableのこと
モデル図のオブジェクト間にある線のこと(だけ)ではない。
詳しくは「relational data model」の回で説明する。
-Relational Completeness 関係完備性 (完全>完備)
関係論理という宣言的な体系を使って表現できる異と、関係台数という手続的な体系を使って表現で切ることが同じであることを証明した。
→relational databaseで表現出来ないことはない。出来なければスキルが足りないか、スペックが足らないかなどが原因。
Ex.IMS 階層型DB
関係論理には十分な表現力が(なんとなく)しんじることができるので、関係台数にも十分な表現があることが分かる。
→SQLでは書けないことがある。
関係データベースの問い合わせ言語、SQLも関係完備。
-Normal Forms 正規化の理論
究極の正規形である第5正規形を発見した。
projection-join normal formともいう
他の正規形(1NF, 2NF, 3NF, BCNF, 4NF)の一般化になっている
→relational databaseで出きること、出来ないことを明確化した。
逆に言えば、正規形でないリレーションは、異常(anomaly)を起こす。
更新異常
削除異常
挿入異常
・データベース業界について
シェアウェア:
oracle
IBM DB2, Informix
Microsoft SQL Server, Access
Sybase
Hitachi HiRDB
フリーウェア:
MySQL - Private companyが作った
サービスを有償で売っている。
PostgreSQL
Apache Derby
SQLite Ipod関係がよく使っている
・データベース業界、学会
国際学会
ACM SIGMOD(実践的なデータベース/PODS(データベースの原理)
SIGMODは日本からはほとんど通らない。
SIG=special interest group
ジャーナル国内(ある程度の結論でも載る:研究者の業績)
ACM TODS
IEEE TKDE
VLDB Journal
国内
情報処理学会 DBS研究会
電子情報通信学会 DEkennkyuukai
ACM SIGMOD 日本支部
日本データベース学会
文献検索
DBLP
「2nd PPT:データモデリング」
データモデルの3要素
1. データ構造を記述するための規約
2. データ構造に対する操作
3. データが満たす制約を記述するための規約
・データモデルの種類
関係データモデル
タプルの集合
現在の主流
ネットワークモデル
・実世界のデータモデリング
→作るための道具
real world -> conceptual design -> conceptual model(entity-relational model) -> logical design -> logical model
・ERモデルとは
実世界の事象をモデル化する。
データベース設計の概念的な概略を描くことが出来る。
設計図はER図と呼ばれる絵(一種の文法のようなもの)
・Entitiyとは
実体:もの。こと。
実体集合:似通った実体の集まり
→学生は同じ?違う?
→何を重要だと思うかによる
↑これがモデリング。この概念はOOPの前身となった。
属性:実体の特性
・ER図
ER図では、各実体集合は短形で表わせる
書き方;
○:名前、製造元
□:酒←注目しているもの
・関連
実体集合を関連図蹴る
◇:関連付ける塩っ太守烏合を表す短径と線で結ばれる
Ex.売る、行き着け、好き
2008-03-13
PHP encoding

データベースでのバグがようやく収束し始めました。
もう、データベースのバグフィックスでほぼ一日近く使ってしまったorz
生産性≒ゼロ
もっと頭フルに使わないと、マジで時間の無駄だ。
問題点:データベースからtxtファイルを受け取り、表示する処理における改行,文字化け,例外処理など
解決策:気合
global $mosConfig_live_site;
$logoDirectory = "/data/records";
if($replacement == ""){
$replacement = "まだ登録されていません。";
}else{
$filename = fopen ("$mosConfig_live_site/$logoDirectory/$replacement", "r");
while (!feof($filename)) {
$result .= "<Div Align='left'/>";
$result .= mb_convert_encoding(fgets($filename, 4096), "UTF-8", "auto");
$result .= "</Div>";
$result .= "<br>";
}
fclose ($filename);
$replacement = $result;
}
2008-03-02
DataBase Query
ちょっとわけあって、 昨日と今日は某サークルの新HP制作のお手伝いしてました。公開前なのでURL非公開ですが、自分ちょっと頑張ったんで担当した部分だけ少し紹介。

←データベースのメニュー画面
検索とか入力とか管理とか出来ます。 ただし、管理画面を正常に動作させるためにはUS$60必要。
←データベース検索画面
色々調べられます。
目的地は検索ワードに一部引っかかれば検索できるのに、それ以外は検索ワードに全部引っかからないと検索できない不思議。orz
←データベース検索結果画面
検索結果からこの画面に飛ばしたり、管理画面から削除、編集するにはQuery同士をLinkさせなくていけません。が、それはシェアウェアなので、現段階では個別にQueryをだすか、リンク貼って各自で飛んでもらうしかありません。orz
←データベースへの入力画面
データを入力できる機能もつけときました。 これがあれば、ある権限レベルを越えればいつでもどこでもデータ入力可能になりますん。
←マニュアル
たった37Pしかないのに全部読むのに2日もかかった。 マジ速読力・理解力無さすぎるわorz orz orz
しかし、マニュアルの癖にデザインがかっこよ過ぎて惚れたww
引用元:
http://www.gmitc.biz/products/dbq.html
という感じで、今のところデータベースはこんな感じに仕上がりました。
CMS使うとあっという間だな。 仕様は見るに耐えないがww
しかし、英語とCSが一緒に勉強できるいい機会になりました。
いい気分転換にもなったし。 感謝感謝。
というか、流石に英語のための英語勉強をずっと続けるのは飽きるわww
だけど、いずれは英語でもCSを不自由なく学べるようにならなくては、
研究室入った後、死亡フラグ立つわけだし、必須能力であることは変わらん。
元々英語資料の多い学問なわけだし。他の意味でも色々と欲しい能力なわけだし。
そんなわけで、明日からまた英語勉強の毎日に戻ります。

←データベースのメニュー画面
検索とか入力とか管理とか出来ます。 ただし、管理画面を正常に動作させるためにはUS$60必要。
←データベース検索画面色々調べられます。
目的地は検索ワードに一部引っかかれば検索できるのに、それ以外は検索ワードに全部引っかからないと検索できない不思議。orz
←データベース検索結果画面検索結果からこの画面に飛ばしたり、管理画面から削除、編集するにはQuery同士をLinkさせなくていけません。が、それはシェアウェアなので、現段階では個別にQueryをだすか、リンク貼って各自で飛んでもらうしかありません。orz
←データベースへの入力画面データを入力できる機能もつけときました。 これがあれば、ある権限レベルを越えればいつでもどこでもデータ入力可能になりますん。
←マニュアルたった37Pしかないのに全部読むのに2日もかかった。 マジ速読力・理解力無さすぎるわorz orz orz
しかし、マニュアルの癖にデザインがかっこよ過ぎて惚れたww
引用元:
http://www.gmitc.biz/products/dbq.html
という感じで、今のところデータベースはこんな感じに仕上がりました。
CMS使うとあっという間だな。 仕様は見るに耐えないがww
しかし、英語とCSが一緒に勉強できるいい機会になりました。
いい気分転換にもなったし。 感謝感謝。
というか、流石に英語のための英語勉強をずっと続けるのは飽きるわww
だけど、いずれは英語でもCSを不自由なく学べるようにならなくては、
研究室入った後、死亡フラグ立つわけだし、必須能力であることは変わらん。
元々英語資料の多い学問なわけだし。他の意味でも色々と欲しい能力なわけだし。
そんなわけで、明日からまた英語勉強の毎日に戻ります。
登録:
投稿 (Atom)






