経験を活かしてヒューリスティック評価

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

ヤコブ・ニールセンのユーザインタフェースに関する10か条のヒューリスティックスの一つである "システム状態の視認性" に該当するものはどれか。

  1. 異なる画面間でも,操作は類似の手順で実行できる。
  2. (正解)実行中に処理の進捗度を表示する。
  3. 入力フォームの必須項目に印を付けて目立たせる。
  4. 表示する文字の大きさや色が適切で、効果的に画像も使用する。

出典 : 応用情報技術者試験 平成22年秋期 午前 問26

2024-09-14訪問 港3 麻布黒美水温泉竹の湯

使いやすいって?

ユーザインタフェースは、「使う人」+「接合部分」なので、人が触ったり操作したりするところのことです。
システムとかソフトウェアだと「画面」が代表的です。

「情報にアクセスしやすいレイアウト」「次の操作がわかりやすい動きの画面」「目の不自由な人が操作しやすい」とかいろいろあります。

ユーザビリティは、「やりたいこと」を「やりやすいか」が大事

ユーザビリティの説明として,最も適切なものはどれか。

  1. 障害,年齢,性別,国籍などにかかわらず,誰もが使える設計をいう。
  2. 障害者や高齢者がサービスを支障なく操作又は利用できる機能をいう。
  3. 障害者や高齢者に負担を与えない設計をいう。
  4. (正解)どれだけ利用者がストレスを感じずに,目標とする要求が達成できるかをいう。

出典 : 応用情報技術者試験 平成22年秋期 午前 問26

ユーザビリティ(usability)」は日本語で「使用性」で、「やりたいことをやりやすいか」という感じのようです。

参照元 書いてある内容
JIS Z8521
人間工学-人とシステムとのインタラクション-ユーザビリティの定義及び概念
特定のユーザーが、特定の利用状況において、システム、製品、またはサービスを利用する際に、効果、効率、および満足を伴って特定の目標を達成する度合い
JIS X25010
システム及びソフトウェア製品の品質要求及び評価(SQuaRE)-システム及びソフトウェア品質モデル
指定された利用状況において、利用者が有効さ、効率、満足度をもって特定の目標を達成できる度合い

「やりやすいか」は聞かねばわからない

使った人が「満足したか」どうかは聞かなきゃわかんないってことですね。

使用性(ユーザビリティ)の規格(JIS Z 8521:1999)では,使用性を“ある製品が,指定された利用者によって,指定された利用の状況下で,指定された目的を達成するために用いられる際の,有効さ,効率及び利用者の満足度の度合い”と定義している。この定義中の“利用者の満足度”を評価するときに用いる方法はどれか。

  1. (正解)インタビュー法
  2. ヒューリスティック評価
  3. ユーザビリティテスト
  4. ログデータ分析法

出典 : 応用情報技術者試験 平成28年春期 午前 問25

SWEBOKにある「User Observation Heuristics」にも
ユーザビリティヒューリスティックスには、認知的ウォークスルー、クレーム分析、フィールド調査(現場観察)、思考発話法(シンクアラウド)、さらにはユーザーアンケートやインタビューのような間接的なアプローチも含まれます。」
的なことが英語で書いてあります。

ここで問題にあった「ヒューリスティックス」なる言葉に出会います。

ヒューリスティックは、経験から得られる解決方法を見つけることです。

英語で書くと「heuristic」で日本語にすると「発見を促すような」「試行錯誤的な」という意味でした。
ヒューリスティックは、経験からの解決方法なので、必ず正解なわけではないです。でも、これまでの情報に基づくので結構いい感じの解決方法になります。

ヒューリスティック評価」は、ユーザーインターフェースについて「やりやすいか」をこれまでの情報や知識から評価することです。
評価する人はズブの素人ではなく、UI/UXに精通した人でないとイマイチな結果になるのが欠点です。

一般に専門家が,様々なユーザインタフェース設計によく当てはまる経験則を基にして,インタフェースを評価する方法はどれか。

  1. 回顧法
  2. 思考発話法
  3. 認知的ウォークスルー法
  4. (正解)ヒューリスティック評価法

出典 : 応用情報技術者試験 平成28年春期 午前 問25

10か条のヒューリスティック

ユーザビリティ研究者のニールセンさんが「経験則」を10個集めて作ったのが「10か条のヒューリスティックス(英語:10 Usability Heuristics for User Interface Design)」

日本語 英語 意味 過去問にあった該当する選択肢
状態の可視化 Visibility of system status システムがどんな状況かがユーザーにわかるようにする 実行中に処理の進捗度を表示する。
現実との一致 Match between system and the real world ユーザーに理解しやすい言葉やアイコンなどを使うようにする
ユーザーでの制御と自由 User control and freedom ユーザーが間違えた時に「戻る」「キャンセル」などが行いやすくなっている
一貫性と標準性 Consistency and standards ユーザーが直感的に操作できるように、アイコンや文言・デザインに一貫性があること 異なる画面間でも,操作は類似の手順で実行できる。
エラー防止 Error prevention ユーザーが間違えにくいように設計して、重要操作時には確認メッセージを表示する 入力フォームの必須項目に印を付けて目立たせる。
記憶に頼らない Recognition rather than recall ユーザーが思い出さなくてもいいように、アイコンのラベルやツールチップを設定して情報を画面上に表示すること
操作の柔軟性と効率性 Flexibility and efficiency of use ユーザーの経験に関わらず、効率的に操作できるようにショートカット機能やカスタマイズ機能があること
美的で最小限のデザイン Aesthetic and minimalist design 無関係・めったに見ない情報を排除して、シンプルかつ機能的なデザインにする 表示する文字の大きさや色が適切で、効果的に画像も使用する。
エラーの認識・診断・回復 Help users recognise, diagnose, and recover from errors ユーザーが問題を理解・解決できるようにエラーメッセージはわかりやすい表示・言葉にすること
ヘルプとマニュアル Help and documentation ユーザーが参考にできるヘルプ情報・マニュアルなどのサポートが用意されていること

2024-11-04訪問 府中市7 府中湯楽館桜湯

次回の勉強内容

勉強中・・・

メールで頑張るプロトコル達

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけ

電子メールをスマートフォンで受信する際のメールサーバとスマートフォンとの間の通信をメール本文を含めて暗号化するプロトコルはどれか。

  1. APOP
  2. (正解)IMAPS
  3. POP3
  4. SMTP Submission

出典 : 応用情報技術者試験 令和2年秋期 午前問45

2024-03-02訪問 足立49 大和湯

メールを受信する時にPOPかIMAPというプロトコルを使います。

Gmailで、他のGoogleアカウントのGmailを受信していました。
ある日気がついたら「POPでエラーになってるよ」的なメッセージと共に他のアカウントのGmailが受信できなくなりました。

原因は、他のGoogleアカウントで2段階認証を設定していたのでアプリパスワードを設定しなくてはならないのに普通のパスワードを設定していたことでした。
思ったのです、「メールの設定って難しいな」と。

メールを送る「SMTP

利用者のパソコンから電子メールを送信するときや,メールサーバ間で電子メールを転送するときに使われるプロトコルはどれか。

  1. IMAP
  2. MIME
  3. POP3
  4. (正解)SMTP

出典 : 基本情報技術者試験 平成19年秋期 午前問55

SMTP」は、文字しか送れません。
文字以外も送れるようにしたのが「MIME」です。

電子メールの規約で,ヘッダフィールドの拡張を行い,テキストだけでなく,音声,画像なども扱えるようにしたものはどれか。

  1. HTML
  2. MHS
  3. (正解)MIME
  4. SMTP

出典 : 基本情報技術者試験 平成26年春期 午前問33

MIME」+「暗号化」+「電子署名」でセキュリティを高めたのが「S/MIME」です。
ponsuke-tarou.hatenablog.com

電子メールの内容の機密性を高めるために用いられるプロトコルはどれか。

  1. IMAP4
  2. POP3
  3. SMTP
  4. (正解)S/MIME

出典 : 応用情報技術者試験 平成27年秋期 午前問33

メールを受け取る「POP」「IMAP

電子メールシステムにおいて,利用者端末がサーバから電子メールを受信するために使用するプロトコルであり,選択したメールだけを利用者端末へ転送する機能,サーバ上のメールを検索する機能,メールのヘッダだけを取り出す機能などをもつものはどれか。

  1. (正解)IMAP4
  2. MIME
  3. POP3
  4. SMTP

出典 : 応用情報技術者試験 平成20年春期 午前問55

「POP」は、サーバからメールをローカルにとっくるので、とってきたらインターネットに繋がっていなくても見れます。
IMAP」は、サーバのメールヘッダを参照しているだけなので、インターネットに繋がっていないと見られないけど、インターネットに繋がっていれば複数の端末からメールを見ることができます。

電子メールに関する説明のうち,適切なものはどれか。

  1. (正解)IMAP4は,メールサーバ上で管理されている電子メールを閲覧するためのプロトコルであり,PCとスマートフォンなど複数の端末で一つのメールアカウントを使用する場合は便利である。
  2. MIMEは,電子メールを受信するプロトコルであり,受信したメッセージはPCなどの端末上で管理される。
  3. POP3は,企業や学校に設置した特定のPCで電子メールを送信する場合に利用されるプロトコルである。
  4. SMTPは,電子メールでテキスト以外のデータフォーマットを扱えるようにするための仕組みである。

出典 : ITパスポート試験 平成28年 秋期問85

メールで頑張るプロトコル

用語 正式名称 用途 概要
SMTP Simple Mail Transfer Protocol 送信 送信やメールサーバ間での転送で使われる
POP PostOffice(郵便局) Protocol 受信 メールサーバからメールを取得する
IMAP Internet Message Access Protocol 受信 メールサーバのヘッダ情報を参照する
MIME Multipurpose(多目的の) Internet Mail Extension(拡張) 送信/受信 ASCII文字以外の画像や音声データを送信するための規格。4つの中でこれだけプロトコルではない。

2024-03-09訪問 大田62 あたり湯

次回の勉強内容

ponsuke-tarou.hatenablog.com

和両立は同じような構成のテーブル同士

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった過去問

関係R,Sに次の演算を行うとき,RとSが和両立である必要のないものはどれか。

  1. 共通集合
  2. 差集合
  3. (正解)直積
  4. 和集合

出典 : データベーススペシャリスト試験 令和3年秋期 午前Ⅱ 問11

2024-03-16訪問 大田68 大正湯

和両立は、列数と型が一緒のこと

テーブルの構成がおんなじだけど内容が違うのが「和両立」です。

和両立である表R(ID,NAME)、S(NO,NAMAE)がある。差集合R-Sを求めるSELECT文とするために、aに入れるべき適切な字句はどれか。ここで、下線部は主キーを表す。また、NAMEとNAMAEはNULL不可とする。
SELECT * FROM R WHERE [ a ] (SELECT * FROM S WHERE S.NO=R.NO AND S.NAME=R.NAME)

  1. EXISTS
  2. (正解)NOT EXISTS
  3. NOT IN
  4. R.ID NOT IN

出典 : 情報セキュリティスペシャリスト試験 平成22年秋期 午前Ⅱ 問21

例えば、
表Rには2列で[数値][文字]の列があって、

ID(数値) NAME(文字)
1 すずき
2 たぬき
3 きつね

表Sにも2列で[数値][文字]の列があると

NO(数値) NAMAE(文字)
1 たなか
2 たぬき
3 ねこ

表Rと表Sは「和両立」になります。

「差集合R-S」ということで「表Rから表Sのデータを除いたデータ」と考えて

SELECT * FROM R WHERE NOT EXISTS (SELECT * FROM S WHERE S.NO=R.NO AND S.NAME=R.NAME)

となり以下を取得できる。

ID(数値) NAME(文字)
1 すずき
3 きつね

和両立は、同じような構成とも考えられる。

同じような構成なので、「合わせる」「差をとる」「同じデータをとる」ことができます。

集合の名前 SQLの結合 ざっくり言うと
和集合 UNION データを縦に合わせる
差集合 EXCEPT
NOT EXISTS
差分
共通集合 INTERSECT 共通のデータで「∩」で書かれるやつ
直積 CROSS JOIN データを横に合わせる

でも「直積」だけは横にくっつけるので、同じような構成にする必要はないのです。
ponsuke-tarou.hatenablog.com

和両立である関係RとSがある。R∩Sと等しいものはどれか。ここで,-は差演算,∩は共通集合演算を表す。

  1. (正解)R-(R-S)
  2. R-(S-R)
  3. (R-S)-(S-R)
  4. S-(R-S)

出典 : データベーススペシャリスト試験 平成21年春期 午前Ⅱ 問8

「和両立である関係RとS」「R∩Sと等しいもの」から「RとSは一致する部分がある関係」と考えてベン図で考えるとわかりやすいです。

2024-03-20訪問 渋谷10 八幡湯

次回の勉強内容

ponsuke-tarou.hatenablog.com

NoSQLはBASE特性で可用性を大切に

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

BASE特性を満たし,次の特徴をもつNoSQLデータベースシステムに関する記述のうち,適切なものはどれか。
〔NoSQLデータベースシステムの特徴〕

  • ネットワーク上に分散した複数のノードから構成される。
  • 一つのノードでデータを更新した後,他の全てのノードにその更新を反映する。
  1. クライアントからの更新要求を2相コミットによって全てのノードに反映する。
  2. (正解)データの更新結果は,システムに障害がなければ,いつかは全てのノードに反映される。
  3. 同一の主キーの値による同時の参照要求に対し,全てのノードは同じ結果を返す。
  4. ノード間のネットワークが分断されると,クライアントからの処理要求を受け付けなくなる。

出典 : データベーススペシャリスト試験 令和2年秋期 午前Ⅱ 問2

2024-01-14訪問 足立3 曙湯

「BASE特性」とは、トランザクション処理で「可用性」を大切にする性質です。

「ACID特性」とは、トランザクション処理で守らないといけない4つの性質のことです。
ponsuke-tarou.hatenablog.com
「BASE特性」は「ACID特性」と同じくトランザクション処理で守らないといけないことです。

「ACID特性」は「可用性」より「一貫性」を大切にします。
「BASE特性」は「一貫性」より「可用性」を大切にします。

だから「BASE特性」では、「時間が経てば反映されるさ」みたいなノリです。

特性 日本語 説明
Basically Available 基本的に可用 いつでも利用することが可能
Soft state ソフト状態 状態は時間と共に変わる可能性があるので常に一貫性を保っている必要はない
Eventual consistency 最終的に一貫性がある 結果的に一貫性が保証できていればいい

曙湯の屋根にピンクの何かがいる

NoSQLは、固定のテーブル構造ではなく多様な形式でデータを管理する技術です。

ビッグデータの基盤技術として利用されるNoSQLに分類されるデータベースはどれか。

  1. 関係データモデルをオブジェクト指向データモデルに拡張し,操作の定義や型の継承関係の定義を可能としたデータベース
  2. 経営者の意思決定を支援するために,ある主題に基づくデータを現在の情報とともに過去の情報も蓄積したデータベース
  3. (正解)様々な形式のデータを一つのキーに対応付けて管理するキーバリュー型データベース
  4. データ項目の名称,形式など,データそのものの特性を表すメタ情報を管理するデータベース

出典 : 応用情報技術者試験 平成30年春期 午前問30

固定のスキーマやテーブル構造を使わず、いろんな形でデータを管理します。
だから、状況に合わせて構造を簡単に変更できて、大量データを効率的に取扱うのに向いています。
複数サーバにデータを分散させることだってできます。

使いやすさ重視なので、従来のRDBみたいに「ACID特性」ではなく「BASE特性」で「一貫性」より「可用性」を大切にします。

インターネット販売などの巨大な取引データを高速に処理するために,NoSQLと呼ばれるデータ処理方式が使われることがある。その特性のうち結果整合性(Eventual Consistency)の説明として,適切なものはどれか。

  1. データを複製し,複数サイトに分散して保持するとき,コンシステントハッシング手法によって,時間帯別に格納先を固定する。
  2. 複数のクライアントからの更新要求が衝突する場合,ロック機構によってどちらかを待たせることで整合性を保つ。
  3. (正解)分散した複製サイト間で更新内容を厳密に同期させずに,同期の一時的な遅れを許容する。
  4. 分散した複製サイト間で更新内容を整合させるために,2相ロック方式を採用する。

出典 : データベーススペシャリスト試験 平成27年春期 午前Ⅱ 問18

NoSQLは、データ管理方法でいろいろ種類があります。

大量のIoTデバイスから送信される大量で,かつ様々な形式のデータを格納可能なデータモデルのうち,行ごとに任意の列数をもち,かつ列ごとに複数の値をもつことによって,柔軟なデータ格納を実現しているデータモデルはどれか。

  1. グラフ
  2. ドキュメント
  3. リレーショナル
  4. (正解)ワイドカラム

出典 : 応用情報技術者試験 平成30年春期 午前問30

種類 概要
キーバリュー 「キー」と「値」のセットでデータを管理
カラム
ワイルドカラム
行ごとに異なるカラムでデータを管理
ドキュメント JSONXMLなどの形式でデータを管理
グラフ グラフみたいに「ノード」「エッジ」「プロパティ」の3要素でデータを管理

NoSQLのうち,データ構造はキーに対して一つの値をもつデータモデルであり,データ間は疎結合で分散して配置しやすい特徴をもつものはどれか。

  1. (正解)キーバリューストア
  2. グラフデータベース
  3. 文書データストア
  4. ワイドカラムデータストア

出典 : データベーススペシャリスト試験 平成27年春期 午前Ⅱ 問18

弓矢セットもぶら下がってる

次回の勉強内容

ponsuke-tarou.hatenablog.com

AmazonS3はオブジェクトストレージ

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

データアクセス方式の一つであるオブジェクトストレージに関する記述のうち、最も適切なものはどれか。

  1. ストレージにファイルシステムを構成し、ファイル単位でデータにアクセスする。
  2. ストレージの論理ボリュームを決まったサイズに分割し、その単位でデータにアクセスする。
  3. データとメタデータをセットに保存し、階層構造にすることによってデータにアクセする。
  4. (正解)データとメタデータをセットに保存し、固有の識別子でデータにアクセスする。

出典 : 応用情報技術者試験 令和6年秋期 午前 問13

2023-09-17訪問 神戸市にある灘温泉

オブジェクトストレージは、階層構造になっていません。

オブジェクトストレージでは、データをオブジェクト単位で保存・管理します。
そして、「データ本体 + メタデータ + ユニークなID(識別子)」をセットで管理し、ユニークなID(識別子)でデータにアクセスします。

フォルダもありません。

ファイルストレージにのようにフォルダの中にファイルが入っているのはありません。
全てのデータがフラットにオブジェクトとして管理されています。

AmazonS3はオブジェクトストレージです。
S3の画面では、ファイルストレージのようにフォルダがあって中にファイルが入っているように見えますが、
識別子が「Development/Projects.xls」みたいになって「/」で区切っているのでDevelopmentフォルダのように見えるだけです。

「Development/Projects.xls」も「Finance/statement1.pdf」もフォルダなどはなくてフラットにオブジェクトとして管理されています。

2023-12-02訪問 新宿32 第三玉の湯

「大量のデータ」「あんまり更新しないデータ」に向いています。

最初は小さいサイズでオブジェクトストレージを作成しても、階層構造を持たずにフラットに管理されているので、データが大きくなっても容易にスケールアップできます。
また、場所や情報などをメタデータとして持つことができるので、メタデータを活用してたくさんのオブジェクトから目的のオブジェクトを探しやすくなっています。

オブジェクトストレージの記述として、最も適切なものはどれか。

  1. (正解)更新頻度の少ない非構造型データの格納に適しており、大容量で拡張性のあるストレージ空間を仮想的に実現することができる。
  2. 高速のストレージ専用ネットワークを介して、複数のサーバからストレージを共有することによって、高速にデータを格納することができる。
  3. サーバごとに割り当てられた専用ストレージであり、容量が不足したときにはストレージを追加することができる。
  4. 複数のストレージを組み合わせることによって、仮想的な1台のストレージとして運用することができる。

出典 : 応用情報技術者試験 令和6年春期 午前 問13

オブジェクトストレージには「一度保存したオブジェクトを変更しない(不変性)」という考え方があるそうです。
そのため、更新する場合は「ファイルの一部を更新する」のではなく「一部を更新したオブジェクトに置き換える」的な感じになります。

また、「Write Once Read Many」=「略してWORM」=「1度書き込んだら、あとは読み出しが中心」という考え方もあって、そういう使い方を想定しています。

その分、「バックアップ」「動画など変更しない配布するだけのデータ」などを低コストで管理するのに適しています。

2024-01-05訪問 大阪にある寿温泉 朝ドラ「ブギウギ」ロケ地

次回の勉強内容

ponsuke-tarou.hatenablog.com

待ちグラフでデッドロック発見

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

DBMSにおいて,デッドロックを検出するために使われるデータ構造はどれか。

  1. (正解)待ちグラフ
  2. 資源割当表
  3. 時刻印順管理表
  4. トランザクションの優先順管理表

出典 : データベーススペシャリスト試験 平成30年春期 午前Ⅱ 問16

2023-10-21訪問 台東19 富士の湯

待ちグラフは、どのトランザクションがどのトランザクションをロックしているかを表す

待ちグラフは、
トランザクション1つ1つをノードとして書きます。
なので以下の場合はA~Dの4トランザクションがあります。

トランザクションBが、トランザクションAがロックしているデータのリソースのロック解除を待っている場合はB->Aで矢印を書きます。

トランザクションA~Dに関する待ちグラフのうち、デッドロックが発生しているものはどれか。ここで、待ちグラフの矢印は、X→Yのとき、トランザクションXはトランザクションYがロックしている資源のアンロックを待っていることを表す。

  1. (正解)

出典 : 情報セキュリティスペシャリスト試験 平成26年秋期 午前Ⅱ 問21

以下の待ちグラフでは
「Aがロック解除」->「Bが再開してロック解除」->「Cが再開してロック解除」->「Dが再開」
と動くことができます。

しかし、以下の待ちグラフでは
「Dがロック解除」しても「AはCのロック解除待ち」「CはBのロック解除待ち」「BはAのロック解除待ち」
となってデットロックになっていることがわかります。

トランザクションA~Gの待ち行列において、永久待ちの状態になっているトランザクション全てを列挙したものはどれか。 ここで、待ちグラフのX →Y は、トランザクションXはトランザクションYがロックしている資源のアンロックを待っていることを表す。

  1. A, B, C, D
  2. B, C, D
  3. (正解)B, C, D, F
  4. C, D, E, F, G

出典 : 応用情報技術者試験 平成29年秋期 午前 問29

この問題では、端っこから考えて
「Aがロック解除」しても再開できるトランザクションはありません。

「Gがロック解除」->「Eが再開してロック解除」まではできますが、その先は再開できるトランザクションがありません。

結果、真ん中部分のトランザクションがデットロックとして残ります。

t1~t10の時刻でスケジュールされたトランザクションT1~T4がある。時刻t10でT1がcommitを発行する直前の,トランザクションの待ちグラフを作成した。aに当てはまるトランザクションはどれか。ここで,select(X)は共有ロックをかけて資源Xを参照することを表し,update(X)は専有ロックをかけて資源Xを更新することを表す。これらのロックは,commitされるまでアンロックされないものとする。また,トランザクションの待ちグラフの矢印は,Ti→Tjとしたとき,Tjがロックしている資源のアンロックを,Tiが待つことを表す。
トランザクションのスケジュール〕

時刻 T1 T2 T3 T4
t1 select(A) - - -
t2 - select(B) - -
t3 - - select(A) -
t4 - - - select(B)
t5 - - - update(B)
t6 select(C) - - -
t7 - select(C) - -
t8 - update(C) - -
t9 - - update(A) -
t10 commit - - -

  1. T1
  2. (正解)T2
  3. T3
  4. T4

出典 : データベーススペシャリスト試験平成25年春期 午前Ⅱ 問10

「t5」で[T4]が[B]を占有ロックするために「T2の共有ロック解除待ち」になります。

「t8」で[T2]が[C]を占有ロックするために「T1の共有ロック解除待ち」になります。

t9」で[T3]が[A]を占有ロックするために「T1の共有ロック解除待ち」になります。

なので待ちグラフはこんな感じになります。

2023-11-25訪問 新宿25 柳湯

次回の勉強内容

ponsuke-tarou.hatenablog.com

あじさい日記

あじさい基本情報

名称不明

2018-05-20
2025-06-07:ピンクにするため土の上には食後のシジミや蛤を置いています

名称不明

2025-06-07:随分と赤系になってしまった

(死亡)ダンスパーティー

ラベンダー日記

アングスティフォリア

  • 別名:イングリッシュラベンダー
  • 学名:Lavandula angustifolia

名称不明

2025-05-28:ずいぶんなお歳になってボリュームが減りましたが、今年も頑張って咲いてくれそうです

2025-06-07:今年もたくさん咲き始めました

(死亡)ほのか

  • 2023頃 : お亡くなりになった


ストエカスラベンダー

  • 別名:フレンチラベンダー
  • 学名:Lavandula stoechas

ラベラピュアホワイト

  • 登録品種名 : NUFLV17124(登録日:2023-01-16日)
  • 海外持出禁
    • 登録品種につき品種の育成に関する保護を認めていない国以外の国であって指定国以外の国に対し種苗を輸出する行為及び当該国に対し最終消費以外の目的をもって収穫物を輸出する行為を制限する。(出典 : 農林水産省HP)
  • 2025-05-10 道の駅で購入

2025-05-28:次々に花が咲いていきます

(死亡)名称不明

  • 2018-05-22 春に盛大に切り戻したので今年のお花は諦める。
  • 2019頃 : 切り戻し過ぎが災いしてお亡くなりになった



ラベンダーデンタータ

  • 別名:フリンジラベンダー、キレハラベンダー
  • 学名:Lavandula dentata

名称不明

2025-05-28:たくさん咲いたお花は今年もリースにしてご近所にお裾分けしました

(死亡)名称不明

  • 2020頃 : 弱々しかったが敢えなくお亡くなりになった

セイヨウスグリ成長日記

基本情報

  • 和名 : 西洋酸塊、オオスグリ
  • 学名 : Ribes uva-crispa
  • 英名 : gooseberry
    • ヒル料理似合うからgooseらしい
  • 原産 : ヨーロッパ/西アジア
  • 耐寒性 : 強、耐暑性:弱
    • 高冷地などの涼しい場所に向く
    • 高温多湿が苦手
  • 落葉低木
    • 高さ : 1~2m
    • 枝 : 鋭いとげがある
    • 葉 : 円形で浅く3~5裂し、縁に鋸歯
    • 花 : 1個または1対ずつ鐘状、色は白または緑
    • 果実 : 細かい毛が生えているが毛を持たない変種もある、色は緑たまに紫

分類(APG体系) : ユキノシタスグリスグリ

仲間
和名 学名 英名 補足
アカフサスグリ Ribes rubrum Red currant
クロフサスグリ Ribes nigrum Black currant フランス語でカシス
アメリスグリ Ribes hirtellum gooseberry アメリカ原産
ヤシャビシャク Ribes ambiguum 日本原産、準絶滅危惧、ブナなどの落葉高木の老木の樹上に生える
コマガタケスグリ Ribes japonicum 日本固有種
ヤブサンザシ Ribes fasciculatum 雌雄異株

スケジュール

01 02 03~04 05 06 07 08~09 10 11 12
植付け o o o
花期 o o
収穫期 o o
追肥 o o
植替え o o o

病気

2025-05-16(金)

ボブさんからもらいました。まずは頑張って夏越しします。

インデックスは値と検索の特徴で選ぶと効果的

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

関係データベースの表において,検索速度を向上させるために,列Zにインデックスを付与する。ア~エは,列Zの値が等しい行の数を示したものである。インデックスを付与することによって,1行当たりの平均検索速度が最も向上するものはどれか。ここで,各行は等頻度で検索されるものとする。
ア.

データ値 行の数
p 600
q 600
r 0
s 0
t 0
u 0

イ.

データ値 行の数
p 1000
q 200
r 0
s 0
t 0
u 0

ウ.

データ値 行の数
p 20
q 40
r 80
s 160
t 300
u 600

エ.(正解)

データ値 行の数
p 200
q 200
r 200
s 200
t 200
u 200

出典 : データベーススペシャリスト試験 平成21年春期 午前Ⅱ 問10

2023-03-11外から見ただけ 川口市坂下町 昌見浴場

データベースのインデックスは、検索速度を向上できます。

インデックスの日本語は「見出し、しるし」です。言葉の通り「見出し」がある方が早く目的の情報を見つけられます。

関係データベースの表の列に利用者がインデックスを設定する目的はどれか。

  1. 外部キーの列の値を別の表の主キーの値に一致させる。
  2. (正解)データの格納位置への効率的なアクセスが可能となり,検索速度の向上が期待できる。
  3. 一つの大きなテーブルを複数のディスクに分散格納する場合,ディスク容量が節約できる。
  4. 列内に重複する値がないようにする。

出典 : 基本情報技術者試験 平成24年秋期 午前 問27

インデックスは、どこでもいいからあればいい訳ではありません。
一般的に「レコードが多い」「値に偏りがない」項目が良いとされています。

関係データベースにおけるインデックスの設定に関する記述のうち、適切なものはどれか。

  1. (正解)インデックスの設定に際しては、検索条件の検討だけでなく、テーブルのレコード数についての考慮も必要である。
  2. インデックスの設定によって検索性能が向上する場合は、更新・削除・追加処理の性能も必ず向上する。
  3. インデックスの設定は、論理設計段階で洗い出された検索条件に指定されるすべての列について行う必要がある。
  4. 性別のように2値しかもたないような列でも、検索条件に頻繁に指定する場合は、インデックスの設定を行うほうがよい。

出典 : 応用情報技術者試験 平成22年春期 午前 問31

2023-05-20訪問 墨田44 高砂

インデックスには種類がります。

B+木インデックスは、値を比較して検索するのが得意です。

値を探索する方法に「2分探索木」というものがあります。

真ん中の値をとって、そこから真ん中より小さいグループと大きいグループに2つに分けて・・・を繰り返して木の構造にします。
その木の構造を利用して検索した値が上にある真ん中の値より大きいか小さかで下に進む方法を決めていきます。

「2分探索木」を進化させてより高速検索できるようにしたのが「B+木インデックス」です。

B+木インデックスのイメージ図

「キーより大きいか小さいか?」で分岐しながら検索するので「一致検索(=)」「値の比較(>,<)」「範囲検索(between)」がお得意です。

"部品"表のメーカーコード列に対し,B+木インデックスを作成した。これによって,"部品"表の検索の性能改善が最も期待できる操作はどれか。ここで,部品及びメーカーのデータ件数は十分に多く,"部品"表に存在するメーカーコード列の値の種類は十分な数があり,かつ,均一に分散しているものとする。また,"部品"表のごく少数の行には,メーカーコード列にNULLが設定されている。実線の下線は主キーを,ピンクは外部キー*1を表す。

部品 (部品コード,部品名,メーカーコード)
メーカー (メーカーコード,メーカー名,住所)

  1. メーカーコードの値が1001以外の部品を検索する。
  2. メーカーコードの値が1001でも4001でもない部品を検索する。
  3. (正解)メーカーコードの値が4001以上,4003以下の部品を検索する。
  4. メーカーコードの値がNULL以外の部品を検索する。

出典 : データベーススペシャリスト試験 令和5年秋期 午前Ⅱ 問13

B+木インデックスが定義されている候補キーを利用して,1件のデータを検索するとき,データ総件数Xに対するB+木インデックスを格納するノードへのアクセス回数のオーダーはどれか。
ア. √X イ. (正解)logX ウ. X エ. X!
出典 : データベーススペシャリスト試験 令和5年秋期 午前Ⅱ 問4

2023-05-21 墨田7 寺島浴場

ビットマップインデックスは、値の種類が少ない列で効果的です。

ビットマップインデックスは、「レコード」と「値」を組み合わせ表を使って「0」「1」で表したビットマップを使用します。
例えば、[性別]を管理するテーブルがあるとします。

ID メンバ 性別
1 くま 男性
2 かえる 女性
3 アブラムシ 不明
4 うさぎ 女性
5 たぬき 男性

これをビットマップにするとこうなります。

ID 1 2 3 4 5
男性 1 0 0 0 1
女性 0 1 0 1 0
不明 0 0 1 0 0

ここで[性別]列にビットマップインデックスがあるとします。
[性別]=「男性」を検索すると「10001」から「1」を検索することになります。

このビットマップインデックスは、カーディナリティが低い列に設定すると有効です。
カーディナリティは、列に含まれる値の種類の度合いです。
値の種類が少ないとビットマップインデックスの効果が高くなります。

B+木インデックスとビットマップインデックスを比較した説明のうち,適切なものはどれか。

  1. AND操作やOR操作だけで行える検索は,B+木インデックスの方が有効である。
  2. BETWEENを用いた範囲指定検索は,ビットマップインデックスの方が有効である。
  3. NOTを用いた否定検索は,B+木インデックスの方が有効である。
  4. (正解)少数の異なる値をもつ列への検索は,ビットマップインデックスの方が有効である。

出典 : データベーススペシャリスト試験 平成30年春期 午前Ⅱ 問15

2023-06-24 昭島市2 昭和湯

ハッシュインデックスは、「=」検索がチョッパヤです。

インデックス方式のうち、キー値を基に算出して格納位置を求めるとき、異なったキー値でも同一の算出結果となる可能性があるものはどれか。
ア. B+木インデックス イ. 転置インデックス ウ. (正解)ハッシュインデックス エ. ビットマップインデックス
出典 : 応用情報技術者試験 平成22年春期 午前 問30

ハッシュインデックスでは、ハッシュ関数で得たハッシュ値とレコードの位置を一対にして保持する方法です。
なので特定の値を見つけときはハッシュ値さえ得られればすぐ特定できるので、超早いです。
残念なことに、超早い反面、否定検索(!=,<>)や比較検索(>,<)などには役立たないのです。

"売上"表への次の検索処理のうち、B+木インデックスよりもハッシュインデックスを設定した方が適切なものはどれか。ここで、インデックスを設定する列を<>内に示す。
売上(伝票番号、売上年月日、商品名、利用者ID、店舗番号、売上金額)

  1. 売上金額が1万円以上の売上を検索する。<売上金額>
  2. 売上年月日が今月の売上を検索する。<売上年月日>
  3. 商品名が'DB'で始まる売上を検索する。<商品名>
  4. (正解)利用者IDが'1001'の売上を検索する。<利用者ID>

出典 : 基本情報技術者試験 平成26年秋期 午前 問27

2023-08-23 倉敷のえびす湯

次回の勉強内容

ponsuke-tarou.hatenablog.com

*1:本当の試験では「破線の下線」ですが、表現できなかったのでここでは文字色を変えています。

分散システムのCAP定理

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった問題

分散型データベースシステムにおいては, 一貫性・可用性・分断耐性の三つの特性のうち,同時には最大二つまでしか満たすことができないとする理論はどれか。

  1. BASE特性
  2. (正解)CAP定理
  3. アムダールの法則
  4. ベイズの定理

出典 : データベーススペシャリスト試験 平成31年春期 午前Ⅱ 問1

2022-12-04訪問 足立9 ニコニコ湯

CAP定理とは、分散システムの特性についての定理です。

CAP定理におけるAとPの特性をもつ分散システムの説明として,適切なものはどれか。

  1. 可用性と整合性と分断耐性の全てを満たすことができる。
  2. 可用性と整合性を満たすが分断耐性を満たさない。
  3. (正解)可用性と分断耐性を満たすが整合性を満たさない。
  4. 整合性と分断耐性を満たすが可用性を満たさない。

出典 : 応用情報技術者試験 令和4年春期 午前問26

頭文字 英語 日本語 特性
C Consistency 一貫性 いつもデータ参照は「最新を取得できる」「エラーになる」のどちらかしかしかない
A Availability 可用性 どっかのノードがダメでも他のノードが何とかしてくれるから、いつも使える状態
P Partition-tolerance ネットワーク分断耐性 ネットワークが分断してノード同士が疎通できなくても動く状態

分散システムでは、「C」「A」「P」全部を満たすことはできません。

CAP定理に関する記述として,適切なものはどれか。

  1. システムの可用性は基本的に高く,サービスは利用可能であるが,整合性については厳密ではない。しかし,最終的には整合性が取れた状態となる。
  2. 複数のトランザクションを並列に処理したときの実行結果と,直列で逐次処理したときの実行結果は一致する。
  3. トランザクション処理は,データの整合性を保証するので,実行結果が矛盾した状態になることはない。
  4. (正解)分散システムにおいて,整合性,可用性,分断耐性の三つを同時に満たすことはできない。

出典 : データベーススペシャリスト試験 令和3年秋期 午前Ⅱ 問1

2022-11-13訪問 杉並9 天狗湯

2相コミットは、「C:一貫性」「A:可用性」を満たすけれども「P:分断耐性」を諦めました。

2相コミットは、「更新したいサイト」が「他のサイト」に更新可能かを確認して、「他のサイト」がみんなOKだった場合に「更新したいサイト」が「他のサイト」へ更新を指示します。

分散トランザクション処理で利用される2相コミットプロトコルでは、コミット処理を開始する調停者(coordinator)と、調停者からの指示を受信してから必要なアクションを開始する参加者(participant)がいる。この2相コミットプロトコルに関する記述のうち、適切 なものはどれか。

  1. 参加者は、フェーズ1で調停者にコミット了解の応答を返してしまえば、フェーズ2のコミット要求を受信していなくても、ローカルにコミット処理を進められる。
  2. (正解)調停者に障害が発生するタイミングによっては、その回復処理が終わらない限り、参加者全員がコミットもロールバックも行えない事態が起こる。
  3. 一つの分散トランザクションに複数の調停者及び参加者が存在し得る。例えば、5個のシステム(プログラム)が関与している場合、調停者の数が2、参加者の数が3となり得る。
  4. フェーズ1で返答のない参加者が存在しても、調停者は強制的にそのトランザクションをコミットすることができる。

出典 : 応用情報技術者試験 平成21年秋期 午前 問31

2相コミットは、「C:一貫性」「A:可用性」のために「更新確認」をしてから「更新指示」をしますが、通信するため「P:分断耐性」を満たすことはできませんでした。

分散データベースのトランザクションは複数のサブトランザクションに分割され、複数のサイトで実行される。このとき、トランザクションのコミット制御に関する記述のうち、適切なものはどれか。

  1. 2相コミットでは、すべてのサブトランザクションからコミット了承応答が届いても、必ずしもすべてのサブトランザクションをコミットするとは限らない
  2. (正解)2相コミットを用いても、サブトランザクションが実行されるサイトに主サイトの指示が届かず、サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある
  3. 2相コミットを用いると、サブトランザクションロールバックされてもトランザクションがコミットされる場合がある
  4. 集中型データベースのコミット制御である1相コミットで、個々のサイトが独自に分散データベースのコミットを行っても、サイト間のデータベースの一貫性は保証できる

出典 : データベーススペシャリスト試験 平成24年春期 午前Ⅱ 問12

「更新確認」で「他のサイト」の1つのサイトが障害でダウンして返事をしなければ、ロールバックします。

2相コミットで分散トランザクションの原子性を保証する場合、ネットワーク障害の発生によって参加者のトランザクションが、コミットすべきかロールバックすべきかを判断できなくなることがある。このような状況を発生させるネットワーク障害に関する説明として、適切なものはどれか。

  1. 調停者のトランザクションが、コミット又はロールバック可否の問合せを参加者に送る直前に障害になった。
  2. (正解)調停者のトランザクションが、コミット又はロールバックの決定を参加者に送る直前に障害になった。
  3. 調停者のトランザクションが、コミット又はロールバックの応答を参加者が返す直前に障害になった。
  4. 調停者のトランザクションが、コミット又はロールバックの完了を参加者が返す直前に障害になった。

出典 : データベーススペシャリスト試験 平成25年春期 午前Ⅱ 問13


「更新確認」で「他のサイト」全部がOKを返しても、その直後に「更新したいサイト」が障害でダウンしてしまうと指示を待っている「他のサイト」はどうして良いかわからなくなってしまいます。このようにして2相コミットは、「P:分断耐性」を満たすことはできないのです。

2023-02-23訪問 神戸の宮本温泉

次回の勉強内容

ponsuke-tarou.hatenablog.com

工夫と利点で分散データベース

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった過去問

分散データベースシステムにおける問合せでは,サイト間にまたがる結合演算の最適化が重要である。この最適化の方法として,適切なものはどれか。

  1. LRU法
  2. (正解)セミジョイン法
  3. ソートマージ法
  4. 楽観的方法

出典 : データベーススペシャリスト試験 平成21年春期 午前Ⅱ 問12

2022-11-03訪問 世田谷23 丸正浴場

分散データベースとは、いろんなところに存在するデータベースがあっても1つのデータベースみたいに使えるデータベースです。


日本や世界の各地にデータベースがあってもネットワークで繋いで使うから、ユーザーには1つのデータベースを使っているみたいに見えます。
いろんなところにあるから、1つ壊れても他で頑張るから大丈夫!しかもみんなで処理するから効率アップ!ってできちゃいます。

分散データベースの透過性の説明として,適切なものはどれか。

  1. (正解)クライアントのアプリケーションプログラムは,複数のサーバ上のデータベースをアクセスする。アプリケーションプログラムは,データベースがあたかも一つのサーバ上で稼働しているかのようにアクセスできる。
  2. クライアントのアプリケーションプログラムは,複数のサーバ上のデータベースをアクセスする。アプリケーションプログラムはどのサーバ上のデータベースをアクセスするのかを知っている必要がある。
  3. 複数のクライアントのアプリケーションプログラムが,一つのサーバ上のデータベースを共有してアクセスする。
  4. 複数のクライアントのアプリケーションプログラムは,一つのサーバ上のデータベースを,サーバ上のアプリケーションプログラムを介してアクセスする。

出典 : 基本情報技術者試験 平成21年春期 午前 問35

分散データベースを使いやすくする特徴が、透過性です。

分散データベースは、便利に安全に使いやすくするためいくつかの透過性を必要とします。

種類 説明
分割透過性 データがいろんなデータベースに散っていてもユーザは意識せずに使えること
障害透過性 どこかが故障してもユーザは故障を知らずに使えること
複製透過性 いろんなところに同じテーブルがあってもユーザには1つに見えること
移動透過性 テーブルが違うところに移動してもユーザは移動を意識しなくていいこと
位置透過性 どこにデータベースがあるかを気にせず使用できること
データモデル透過性 各データベースがリレーショナルモデルとか階層モデルとかネットワークモデルとか違っていてもユーザは意識せずに使用できること
アクセス透過性 データベースの仕様が違っていても同じ方法で操作できること
障害透過性は、どこかが故障してもユーザは故障を知らずに使えること

分散処理システムにおける障害透明性(透過性)の説明として,適切なものはどれか。

  1. 管理者が,システム全体の状況を常に把握でき,システムを構成する個々のコンピュータで起きた障害をリアルタイムに知ることができること
  2. 個々のコンピュータでの障害がシステム全体に影響を及ぼすことを防ぐために,データを1か所に集中して管理すること
  3. どのコンピュータで障害が起きてもすぐ対処できるように,均一なシステムとなっていること
  4. (正解)利用者が,個々のコンピュータに障害が起きていることを認識することなく,システムを利用できること

出典 : データベーススペシャリスト試験 平成30年春期 午前Ⅱ 問23

複製透過性は、いろんなところに同じテーブルがあってもユーザには1つに見えること

分散データベースにおける"複製に対する透過性"の説明として、適切なものはどれか。

  1. それぞれのサーバのDBMSが異種であっても、プログラムはDBMSの相違を意識する必要がない。
  2. 一つの表が複数のサーバに分割されて配置されていても、プログラムは分割された配置を意識する必要がない。
  3. 表が別のサーバに移動されても、プログラムは表が配置されたサーバを意識する必要がない。
  4. (正解)複数のサーバに一つの表が重複して存在しても、プログラムは表の重複を意識する必要がない。

出典 : データベーススペシャリスト試験 平成23年春期 午前Ⅱ 問20

移動透過性は、テーブルが違うところに移動してもユーザは移動を意識しなくていいこと

分散データベースシステムの目標の一つである”移動に対する透過性”の説明として、適切なものはどれか。

  1. (正解)運用の都合や性能向上の目的で、表の格納サイトが変更されても、位置に対する分散状況を意識させないで利用可能にする機能のことである。
  2. データベースは通信網によって接続されて物理的に分散配置されており、利用者に対してこの分散状況を意識させないで利用可能にする機能のことである。
  3. 一つの表が、複数のデータベースサイトに重複して格納されていても、利用者に対してこれを意識させないで利用可能にする機能のことである。
  4. 一つの表が、複数のデータベースサイトに分散して格納されていても、利用者に対してこれを意識させないで利用可能にする機能のことである。

出典 : データベーススペシャリスト試験 平成26年春期 午前Ⅱ 問19

アクセス透過性は、データベースの仕様が違っていても同じ方法で操作できること

分散処理システムに関する記述のうち,アクセス透過性を説明したものはどれか。

  1. (正解)遠隔地にある資源を,遠隔地での処理方式を知らなくても,手元にある資源と同じ操作で利用できる。
  2. システムの運用と管理をそれぞれの組織で個別に行うことによって,その組織の実態に合ったサービスを提供することができる。
  3. 集中して処理せずに,データの発生場所やサービスの要求場所で処理することによって,通信コストを削減できる。
  4. 対等な関係のコンピュータが複数あるので,一部が故障しても他のコンピュータによる処理が可能となり,システム全体の信頼性を向上させることができる。

出典 : 応用情報技術者試験 平成28年春期 午前 問15

2022-10-16訪問 昭島市3 三光湯

データがいろんなところにあるから、通信を軽やかにセミジョイン法

分散型データベースシステムは、あっちこっちにテーブルやデータが散らばっています。
なのでテーブルを結合するには、テーブルの情報を相手に送信しなくちゃなりませんが、おっきなテーブル全部送ると通信速度が残念なことになります。

分散型DBMSにおいて,二つのデータベースサイトの表で結合を行う場合,どちらか一方の表をもう一方のデータベースサイトに送る必要がある。その際,表の結合に必要な列値だけを送り,結合に成功した結果を元のデータベースサイトに転送して,最終的な結合を行う方式はどれか。

  1. 入れ子ループ法
  2. (正解)セミジョイン法
  3. ハッシュセミジョイン法
  4. マージジョイン法

出典 : データベーススペシャリスト試験 平成25年春期 午前Ⅱ 問20

セミジョイン法は、必要な分だけ通信で送り合う方法です。

無駄なく、必要な情報を必要な量だけ送り合うので通信負荷を下げることができちゃうのです。

分散型データベースで結合演算を行うとき,通信負荷を最も小さくすることができる手法はどれか。ここで,データベースは異なるコンピュータ上に格納されて,かつ結合演算を行う表の行数が,双方で大きく異ならないものとする。

  1. 入れ子ループ法
  2. インデックスジョイン法
  3. (正解)セミジョイン法
  4. マージジョイン法

出典 : データベーススペシャリスト試験 平成31年春期 午前Ⅱ 問17

データがいろんなところにあるから、2相コミットで整合性を確保

分散データベースシステムにおいて,複数のデータベースを更新する場合に用いられる 2 相コミットの処理手順として、適切なものはどれか。

  1. 主サイトが各データベースサイトにコミット準備要求を発行した場合,各データベースサイトは,準備ができていない場合だけ応答を返す。
  2. (正解)主サイトは,各データベースサイトにコミットが可能であることを確認した後,コミットを発行する。
  3. 主サイトは,各データベースサイトにコミットを発行し,コミットが失敗した場合には,再度コミットを発行する。
  4. 主サイトは,各データベースサイトのロックに成功した後,コミットを発行し,各データベースサイトをアンロックする。

出典 : データベーススペシャリスト試験 平成23年春期 午前Ⅱ 問12

2相コミットは、「みんなの状況確認」「みんなの状態で更新決定」を分けて整合性を維持します。

更新が必要になると「主となるデータベース」が「いろんなところにあるデータベースそれぞれ」に更新できるか確認します。
これが「第1相」でやることです。

「いろんなところにあるデータベースそれぞれ」が更新可能って返事をしたらコミット、1つでも更新不可ならロールバックと「主となるデータベース」が「いろんなところにあるデータベースそれぞれ」に指示します。

こうやって2相に分けることで複数のデータベースで整合性を保てるようにします。

分散データベースシステムにおいて、一連のトランザクション処理を行う複数サイトに更新処理が確定可能かどうかを問い合わせ、すべてのサイトが確定可能である場合、更新処理を確定する方式はどれか。

  1. (正解)2相コミット
  2. 排他制御
  3. ロールバック
  4. ロールフォワード

出典 : 基本情報技術者試験 平成29年春期 午前 問28

2022-10-29訪問 八王子市2 松の湯

次回の勉強内容

ponsuke-tarou.hatenablog.com

正規形と正規形を表現する言葉たち

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった過去問

正規形を表現する言葉には、「繰返し属性」「非キー属性」「関数従属」「候補キー」「真部分集合」など日頃は使わない言葉が多く、難しくてなかなか覚えられません。

第3正規形において存在する可能性のある関数従属はどれか。

  1. 候補キーから繰返し属性への関数従属
  2. (正解)候補キーの真部分集合から他の候補キーの真部分集合への関数従属
  3. 候補キーの真部分集合から非キー属性への関数従属
  4. 非キー属性から他の非キー属性への関数従属

出典 : データベーススペシャリスト試験 平成26年春期 午前Ⅱ 問6

2022-06-04訪問 東村山市3 桜湯

第3正規形は、主キー以外の項目でレコードが一意になる項目を別テーブルへ切り出した状態です。


「候補キー」は、レコードを一意にすることができる項目の組み合わせです。


真部分集合とは、全体より小さい一部のことです。

全体の一部を「部分集合」といいます。
全体の一部が全体と同じ範囲でも「部分集合」になります。
全体の一部を「真部分集合」ともいいます。だけど、全体の一部が全体と同じ範囲は「真部分集合」ではありません。真の部分的な集合です。
候補キー①{作業,担当者}の真部分集合は{作業}か{担当者}です。
候補キー②{担当者,リーダー}の真部分集合は{担当者}か{リーダー}です。

「関数従属」は、1つの項目値が決まるともう1つの項目値も決まる関係のことです。

「候補キー②の{リーダー}が決まると候補キー①の{作業}が決まる」状態なので、「候補キーの真部分集合から他の候補キーの真部分集合への関数従属」が正解です。

「第3正規形」の次の段階である「ボイスコッド正規形(第3.5正規形)」で、「候補キーの真部分集合から他の候補キーの真部分集合への関数従属」をなくしていきます。
言い換えると「第3正規形」では次の段階の「ボイスコッド正規形」で解消される関数従属性は残っているということになります。

各段階の正規形

第1,第2,第3正規形とそれらの特徴a~cの組合せとして,適切なものはどれか。

  • a. どの非キー属性も,主キーの真部分集合に対して関数従属しない。
  • b. どの非キー属性も,主キーに推移的に関数従属しない。
  • c. 繰返し属性が存在しない。
第1正規形 第2正規形 第3正規形
a b c
a c b
ウ(正解) c a b
c b a

出典 : 応用情報技術者試験 平成24年春期 午前問27

正規形 状態
第1正規形 繰り返す項目をなくした状態
第2正規形 「主キーの一部の項目の値」によって、「他の列の値」が決まる項目を別テーブルへ切り出した状態
第3正規形 「非主キー列の値」によって、「他の非主キー列の値」が決まる項目を別テーブルへ切り出した状態

「繰返し属性」は、特定レコードの特定項目に情報が複数入っている状態です。

「繰返し属性が存在しない。」状態にしたのが「第1正規形」です。

「非キー属性と」は、候補キーに含まれていない項目のことです。

「(候補)キーに非ず」なので「非キー属性」です。
候補キーに含まれてすらいないので、「非キー属性」だけではレコードを一意にすることはできません。

主キー{受注番号,明細番号}の真部分集合である{受注番号}か{明細番号}で値が決まる項目を別テーブルへ切り出した状態が「第2正規形」です。

「どの非キー属性も,主キーの真部分集合に対して関数従属しない。」状態にしたのが「第2正規形」です。

「推移的関数従属」は、1つの項目値が決まると玉突き的に他の項目値も決まる関係のことです。

非主キー列{商品コード}によって、値が決まる項目を別テーブルへ切り出した状態が「第3正規形」です。

「どの非キー属性も,主キーに推移的に関数従属しない。」状態にしたのが「第3正規形」です。

2022-06-04訪問 新宿8 世界湯

次回の勉強内容

ponsuke-tarou.hatenablog.com

ホスト型とハイパーバイザ型って何?

前回の勉強内容

ponsuke-tarou.hatenablog.com

勉強のきっかけになった過去問

仮想環境の技術には環境の構成によって「ホスト型」「ハイパーバイザ型」「コンテナ型」があります。
「コンテナ型」は、ここ数年Dockerを使ってコンテナで環境を作って使っています。
しかし、「ホスト型」「ハイパーバイザ型」の違いがよくわかっていないので勉強します。

1台のコンピュータで複数の仮想マシン環境を実現するための制御機能はどれか。

  1. シストリックアレイ
  2. デスクトップグリッド
  3. (正解)ハイパバイザ
  4. モノシリックカーネル

出典 : 応用情報技術者試験 平成29年秋期 午前問12

ハイパーバイザは、複数の仮装環境を実行したり管理するソフトウェアです。

1つのハードウェア上で実行できるOSは1つです。
ハイパーバイザ(hypervisor)を使えば、1つのハードウェア上で複数のOS(仮想マシン)を一緒に実行できるようになります。
そして、CPUやメモリなどのリソースを複数の仮想マシンに割当てたり管理してくれます。

OSのことをスーパーバイザとも言い、その「スーパー」の上をいく「hyper(超上)」の「visor(管理者)」らしいです。

ネイティブハイパーバイザは、ハードウェア上で動きます。

「Type1」「ベアメタルハイパーバイザ」ともいうそうです。ホストOSなしで直接ハードウェア上に仮想マシンを作れるので、サーバ環境などで使われるそうです。
このネイティブハイパーバイザを利用したのが「ハイパーバイザ型」です。

ホストハイパーバイザは、ハードウェア上のホストOS上で動きます。

「Type2」ともいうそうです。パソコンなどで使われるそうです。
このホストハイパーバイを利用したのが「ホスト型」です。
昔「Oracle VM VirtualBox」を使って自分のパソコンに仮想マシンを作っていましたが、それが「ホスト型」だったのですね。
ただ、「仮想化ソフト」には「Type2」だけでなく「仮想環境を制御する機能」も含まれるので「ホスト型=Type2」になるとは限らないのです。

仮想環境の種類を絵にしてみました。

ホスト型


ハイパーバイザ型


コンテナ型


コンテナ型仮想化の説明として、適切なものはどれか。

  1. (正解)アプリケーションの起動に必要なプログラムやライブラリなどをまとめ、ホストOSで動作させるので、独立性を保ちながら複数のアプリケーションを稼働できる。
  2. サーバで仮想化ソフトウェアを動かし、その上で複数のゲストOSを稼働させるので、サーバのOSとは異なるOSも稼働できる。
  3. サーバで実行されたアプリケーションの画面情報をクライアントに送信し、クライアントからは端末の操作情報がサーバに送信されるので、クライアントにアプリケーションをインストールしなくても利用できる。
  4. ホストOSで仮想化ソフトウェアを動かし、その上で複数のゲストOSを稼働させるので、物理サーバへアクセスするにはホストOSを経由する必要がある。

出典 : 応用情報技術者試験 令和3年秋期 午前問14

コンテナ型仮想化の説明として、適切なものはどれか。

  1. 物理サーバと物理サーバの仮想環境とがOSを共有するので、物理サーバか物理サーバの仮想環境のどちらかにOSをもてばよい。
  2. 物理サーバにホストOSをもたず、物理サーバにインストールした仮想化ソフトウェアによって、個別のゲストOSをもった仮想サーバを動作させる。
  3. (正解)物理サーバのホストOSと仮想化ソフトウェアによって、プログラムの実行環境を仮想化するので、仮想サーバに個別のゲストOSをもたない。
  4. 物理サーバのホストOSにインストールした仮想化ソフトウェアによって、個別のゲストOSをもった仮想サーバを動作させる。

出典 : 応用情報技術者試験 令和4年秋期 午前問12

足立8 金の湯

次回の勉強内容

ponsuke-tarou.hatenablog.com

Windowsのオーバーレイが表示されない時の対応

事象

Windowsエクスプローラで表示されるマークみたいなのが「オーバーレイ」ですが、アプリをたくさん使っていると表示されなくなることがあります。
なぜなら、「オーバーレイ」は「15個」という上限があり、上限値を超えると超えた分は表示されなくなるからです。
しかもWindows自体が「4個」くらい使っているので、その残りをアプリで取り合うことになります。

「オーバーレイ」を使うアプリは「Skype」「DropBox」「TortoiseSVN」・・・と結構あります。
人によって、別に「オーバーレイ」がなくてもいいアプリもあれば、あった方が使いやすいアプリもあります。

対応 : いらない「オーバーレイ」を削除する

間違えるとパソコンが壊れるかもしれないので、設定は自己責任でやりましょう。

  1. レジストリエディターを開く : Win + R > 「regedit」
  2. [HKEY_LOCAL_MACHINE] > [SOFTWARE] > [Microsoft] > [Windows] > [CurrentVersion] > [explorer] > [ShellIconOverlayIdentifiers]
  3. いらないアプリのアイコンのフォルダを右クリックして[削除] : 上位に必要なアプリが来ればOK
    • 削除したくない場合は「右クリック>[名前の変更]>名前の前後に「"」を付ける。」という策もあるらしい

2022-05-03大阪府堺市安井温泉

「Offline Files」を無効化する

オフラインファイルは、共有ファイルがネットワーク切断時にも使用できる機能ですがいらなければ「無効化」します。
[コントロールパネル] > [同機センター] > [オフラインファイルの管理]で無効化できます。

2022-05-03大阪府堺市太陽温泉