日本ユニシス>ユニシス技報68号 論文要約>データウェアハウスのモデリング
午後II をちょっと意識しつつ。。。
試験用要約
DWHの特性
活用目的に沿って(サブジェクト指向),データを整理統合し一元管理(統合化)する。
必要な時に発生時のデータ属性値をそのまま見ることができ(恒常的),時間の変化とともに参照することも可能になる(時系列)。詳細データ ・・・ 発生時のデータ
要約データ ・・・ 日別,週別,月別,商品種別等に集計されたデータ
※要約のレベルのことを「要約の粒度(グラニュラリティ)」と呼ぶ
ディメンジョナルモデル=スタースキーマモデルファクトテーブル
次元(軸)テーブル ・・・ 代理キー(任意キー)/自然キー(有意キー)代理キーの利点
ファクトテーブルの容量の圧縮
結合条件指定の複雑性の軽減
次元の変更対応力,次元の変更履歴管理次元の変化に対するファクトテーブルの対応
レコードオーバーライト(前データの消失)
新規レコードの生成(履歴管理)
新旧属性値の保持(2世代を横持ち)
首相官邸に面白いモノが落ちていた。
首相官邸 > 会議等一覧 > IT戦略本部 > IT戦略本部各府省情報化統括責任者(CIO)連絡会議
各府省情報化統括責任者(CIO)連絡会議(第6回)資料
3. 人事・給与等業務・システム最適化計画ドキュメント
(1) 業務説明書
(2) 機能情報関連図
(3) 業務流れ図
(4) 情報体制整理図
(5) 実態関連ダイアグラム
(6) データ定義表
(7) 情報システム関連図
(8) 情報システム機能構成図
(9) 技術体系
(5)のER図なんか興味深いっすなぁ。。。
ER図を見ると業務が見えてくる。。。気がしません?
データベース設計のネタになる人事異動。
H14午後I 問4設問3(1)のアイテック本の解答例が気になってちょっと調べた。
解答例退職は異動に含まれるんじゃないかい?
異動,退職,組織変更による部署の長の変更
室戸市職員の人事異動に関する規程
異動区分に「配置換」や「定年退職」がある。含まれているやん。
国立大学法人弘前大学職員任免規程
ここも含む。やっぱり。
奈良県教育委員会規則第十号
ここも含む。ほーら。
もしや。。。アイテックは「異動」を「移動」と勘違いして,退職を補足しているのか?
テクニカルエンジニア(データベース)試験で使われる標準SQL
Webで個別製品のSQLの解説は多いが,標準SQLはあまり見かけませんね。
ということで,まとめてみました。
算術演算子
+ 値の足し算
- 値の引き算
* 値の掛け算
/ 値の割り算
ビット演算子
なし
比較演算子
= 等しい
> 大きい
< 小さい
>= より大きい
<= より小さい
<> 等しくない(!= ではないので注意)
論理演算子
ALL すべてを表す比較演算子の修飾子
AND 論理積
ANY 何れかを表す比較演算子の修飾子
BETWEEN 範囲内におさまっている場合に真を返す
EXIST 存在するか
IN 入っているか
LIKE パターンマッチング
% 任意の文字列
_ 任意の1文字
NOT 否定
OR 論理輪
SOME 何れかを表す比較演算子の修飾子
単項演算子
+ 正号
- 負号
IS NULL NULLであるか
その他の演算子
|| 文字列結合
CASE 値の変換
集計関数(集合関数)
AVG 平均値を求める
COUNT 行数をカウントする
MAX 最大値を得る
MIN 最小値を得る
SUM 合計値を得る
文字列関数
SUBSTRING 文字列の部分抽出
TRIM 文字列から指定文字の削除
日付関数
なし
変換関数
CAST 型変換を行う
算術関数
なし
午後I データベースの基礎理論対策
ボイスコッド正規形編
関係
R(X,Y,A,B,C)
候補キー:X,Y (それぞれ候補キー)
設問
関係Rはボイスコッド正規形である。その理由を述べよ。
設問の主旨
X→(Y,A,B,C)または,Y→(X,A,B,C)を適切に説明すること。
設問の解答例
候補キーXに候補キーY及び非キー属性{A,B,C}が完全関数従属し,推移関数従属もないため。
(XとYは逆でも可)
H12午後I 問3設問3
SELECT * FROM 施策
WHERE EXISTS
(SELECT * FROM 社員, 課, 施策グループ
WHERE :USER = 社員.ユーザID
AND 社員.所属課コード = 課.課コード
AND 課.所属部コード = 施策グループ.参画部コード
AND 施策.施策ID = 施策グループ.施策ID )
H14午後I 問3設問1(1)
SELECT 地区本部名称, 商品大分類名称, 年, 月, SUM(販売金額)
FROM 販売, 組織軸, 商品軸, 時間軸, 地区本部, 商品大分類
WHERE 地区本部.地区本部コード = 'A20' AND
地区本部.地区本部コード = 組織軸.地区本部コード AND
組織軸.組織軸コード = 販売.組織軸コード AND
商品大分類.商品大分類コード = 商品軸.商品大分類コード AND
商品軸.商品軸コード = 販売.商品軸コード AND
時間軸.時間軸コード = 販売.時間軸コード AND
GROUP BY 地区本部名称, 商品大分類名称, 年, 月
HAVING 時間軸.年 = '2001'
・FROM句の表参照カンマリストは必要十分か?過不足をもう一度チェックしろ。
・x IN ( SELECT x FROM ... )だ。同じにしとけ。
・x = ANY(副問合せ)とx IN(副問合せ),x <> ANY(副問合せ)とx NOT IN(副問合せ)は同じだ。覚えとけ。
・EXISTS ( SELECT * FROM ... )だ。EXISTSのXとIで*だ(w
・結合条件は問題文に既出でないか?周りを見ろ。
・列名はかぶってないか?表名.を忘れるな。
・FROM句を安易に列記してないか?右に JOINがあれば,最後の表名は結合されるテーブルだということを忘れるな。
・BETWEEN A AND Bだ。for i=0 to X 世代は気をつけろ(w
・GRANT 権限 ON 表名 TO 権限受領者だ。全ユーザはPUBLICだ。
・DECLARE カーソル名 CURSOR FOR 問合せ式だ。覚えとけ。
【見直しポイント】
・外部キーの下線はもう一度見直せ。思いがけない列名が他のテーブルで主キーかもしれない。設問で問われなかったテーブルは要チェックだ。
・主キーの下線で本当にユニークか?疑え。図をもう一度確認だ。
・安易に親テーブルの主キーを子テーブルの主キーに組み込んでいないか?子テーブルのIDは親テーブルの主キーがなくてもユニークかもしれないぞ。
例:A(a,b,c),B(a,x,y,z)と思ったら,B(a,x,y,z)で,aは外部キーかもしれない。
・テーブルの追加は別解を意識しろ。そして無難な選択をするんだ。
H15午後I 問2設問1(2)
SELECT コース.コースコード, コース.コース名
FROM コース, 必修コース, 社員
WHERE 社員番号 = 123456
AND 必修コース.コースコード = コース.コースコード
AND (必修コード.担当職務コード = 社員.担当職務コード1 OR
必修コード.担当職務コード = 社員.担当職務コード2)
AND コース.コースコード NOT IN
(SELECT コースコード
FROM 受講
WHERE 社員番号 = 123456)
H15午後I 問2 設問1(1)
SELECT 部門.部門コード, 部門.部門名, COUNT(社員.社員番号),
COUNT(受講集計.社員番号),
SUM(年間受講ポイント数 + 繰越ポイント数),
SUM(使用ポイント数)
FROM 部門, 社員 LEFT JOIN
(SELECT 社員番号, SUM(受講ポイント数) AS 使用ポイント数
FROM 受講, コース
WHERE 受講.コースコード = コース.コースコード
AND 受講開始年月日 BETWEEN '2002-04-02' AND '2002-09-30'
GROUP BY 社員番号 ) 受講集計
ON 社員.社員番号 = 受講集計.社員番号
WHERE 部門.部門コード = 社員.部門コード
GROUP BY 部門.部門コード, 部門.部門名
ORDER BY 部門.部門コード
購入申込(顧客番号,申込番号,日付,支払方法,住所,顧客名,電話番号)

購入明細(顧客番号,申込番号,明細行番号,主商品番号,副商品番号,主商品名,副商品名,価格,送料,数量)

配達(顧客番号,申込番号,配達曜日指定,配達時間帯指定)
