Share
Embed
Transcript
51 slides
-
非構造化データ データに含まれる要素間 の関係を機械的な方法 で検出しづらい 構造化データ データに含まれる要素間 の関係を機械的な方法 で検出しやすい 構造がないデータ・構造があるデータ 7
都道府県 地方 大阪府 近畿 京都府 近畿 兵庫県 近畿 岡山県 中国 広島県 中国 香川県 四国 近畿に大阪府や京都 府がある。実は兵庫が 含まれる。広島県は中 国地方にある。岡山も も同じである。香川県 はうどん県のことで、四 国の北東にある。 -
表計算ソフト: 個人でデータを管理する簡易な方法 • 「計算」を行うことに関する基本的な使い方は、 (おそらく)ICTリテラシなどで学んだと思います • ここでは、「表」の基本的な扱い方を取り上げます • テーブル •
ピボットテーブル • ピボットグラフ • MOSの勉強をした人は多分知っている話です • manabaにあるダミーデータをダウンロードし、 Excelで開いてください • 参考資料: 「表計算ソフトの基礎」 10 (出典) UserLocal「個人情報テストデータジェネレーター」https://testdata.userlocal.jp -
Work: 表計算ソフトでのデータ分析演習 やること: 1. 1行目・1列目の固定 2. 列幅の変更 3. テーブルの作成 4.
フィルター・並べ替え 5. ピボットテーブルの作成 6. クロス集計(血液型×性別) 7. ピボットグラフの作成 8. クロス集計(血液型×年齢) 9. 年齢をグループ化 11 -
表計算ソフトでデータを扱うことの何が問題か? マクロを使えばある程度自動化できるといっても… • 扱えるデータの量が小さく、業務用途に適さない ※Excelの上限: ([Ctrl]+[矢印]キー) 1,048,576(220)行×16,384(214)列 • 複数の表を組み合わせた処理を行うのが難しい (個々の処理はxlookup関数でできるが…)
• 複数人が同時に参照・更新するのに向かない (「共同編集」機能を適切に実装するのは難しい) ⇒ 大規模システムでは、データの管理を専門に行う データベース管理システム(DBMS)が必要 12 (参考) Microsoft「Excelの仕様と制限」(2024/10時点) https://support.microsoft.com/office/1672b34d-7043-467e-8e27-269d656771c3 -
(参考) 情報処理技術者試験の項目 14 (参考) IPA「試験要綱・シラバスについて」 (ITパスポートv6.3, 基本情報v9.0, 応用情報v7.0) https://www.ipa.go.jp/shiken/syllabus/gaiyou.html 大分類
中分類 テ ク ノ ロ ジ 系 基礎理論 基礎理論 アルゴリズムと プログラミング コンピュータ システム コンピュータ構成要素 システム構成要素 ソフトウェア ハードウェア 技術要素 ユーザーインタフェース 情報メディア データベース ネットワーク セキュリティ 開発技術 システム開発技術 ソフトウェア 開発管理技術 大分類 中分類 マ ネ ジ メ ン ト 系 プロジェクト マネジメント プロジェクトマネジメント サービス マネジメント サービスマネジメント システム監査 ス ト ラ テ ジ 系 システム戦略 システム戦略 システム企画 経営戦略 経営戦略マネジメント 技術戦略マネジメント ビジネスインダストリ 企業と法務 企業活動 法務 基本情報・応用情報の大分類・中分類は共通 ITパスポートの「開発技術」はマネジメント系、 テクノロジ系の中分類に「ユーザーインタフェー ス」ではなく「情報デザイン」がある -
(参考) 情報処理技術者試験の項目 (DB分野) 15 (参考) IPA「試験要綱・シラバスについて」 (ITパスポートv6.4, 基本情報v9.1, 応用情報v7.1) https://www.ipa.go.jp/shiken/syllabus/gaiyou.html
分類2 分類3 デ ー タ 操 作 DBの操作 DB 言語 DB言語の種類 DB言語(SQL) データ定義言語 DB言語(SQL) データ操作言語(SELECT 文) DB言語(SQL) その他のデータ操作言語 DB言語(SQL) 埋込型 SQL ト ラ ン ザ ク シ ョ ン 処 理 同時実行制御(排他制御) 障害回復 トランザクション管理 (基本) DBの性能向上 (基本) データ制御 (基本) DB 応 用 DBの応用 (基本) 分散DB (基本) データ資源管理 (基本) 分類2 分類3 DB 方 式 DB DBの種類と特徴 DBの3層スキーマアーキテクチャ DBのデータモデル 関係モデル DB 管理 シス テム DB管理システムの目的 同時実行制御(排他制御) 障害回復 データセキュリティ DB管理システムの種類と特徴 DB 設 計 データ分析 DBの 設計 DB開発工程 (応用) DBの概念設計 DBの論理設計 データの正規化 DBのパフォーマンス設計 (応用) DBの物理設計 (基本) DBの作成手順 (応用) DBの評価・運用 (応用) -
(参考) 情報処理技術者試験の項目 (DB分野) 16 (参考) IPA「試験要綱・シラバスについて」 (ITパスポートv6.4, 基本情報v9.1, 応用情報v7.1) https://www.ipa.go.jp/shiken/syllabus/gaiyou.html
分類2 分類3 デ ー タ 操 作 DBの操作 DB 言語 DB言語の種類 DB言語(SQL) データ定義言語 DB言語(SQL) データ操作言語(SELECT 文) DB言語(SQL) その他のデータ操作言語 DB言語(SQL) 埋込型 SQL ト ラ ン ザ ク シ ョ ン 処 理 同時実行制御(排他制御) 障害回復 トランザクション管理 (基本) DBの性能向上 (基本) データ制御 (基本) DB 応 用 DBの応用 (基本) 分散DB (基本) データ資源管理 (基本) 分類2 分類3 DB 方 式 DB DBの種類と特徴 DBの3層スキーマアーキテクチャ DBのデータモデル 関係モデル DB 管理 シス テム DB管理システムの目的 同時実行制御(排他制御) 障害回復 データセキュリティ DB管理システムの種類と特徴 DB 設 計 データ分析 DBの 設計 DB開発工程 (応用) DBの概念設計 DBの論理設計 データの正規化 DBのパフォーマンス設計 (応用) DBの物理設計 (基本) DBの作成手順 (応用) DBの評価・運用 (応用) -
(参考) 情報処理技術者試験の項目 (DB分野) 17 (参考) IPA「試験要綱・シラバスについて」 (ITパスポートv6.4, 基本情報v9.1, 応用情報v7.1) https://www.ipa.go.jp/shiken/syllabus/gaiyou.html
分類2 分類3 デ ー タ 操 作 DBの操作 DB 言語 DB言語の種類 DB言語(SQL) データ定義言語 DB言語(SQL) データ操作言語(SELECT 文) DB言語(SQL) その他のデータ操作言語 DB言語(SQL) 埋込型 SQL ト ラ ン ザ ク シ ョ ン 処 理 同時実行制御(排他制御) 障害回復 トランザクション管理 (基本) DBの性能向上 (基本) データ制御 (基本) DB 応 用 DBの応用 (基本) 分散DB (基本) データ資源管理 (基本) 分類2 分類3 DB 方 式 DB DBの種類と特徴 DBの3層スキーマアーキテクチャ DBのデータモデル 関係モデル DB 管理 シス テム DB管理システムの目的 同時実行制御(排他制御) 障害回復 データセキュリティ DB管理システムの種類と特徴 DB 設 計 データ分析 DBの 設計 DB開発工程 (応用) DBの概念設計 DBの論理設計 データの正規化 DBのパフォーマンス設計 (応用) DBの物理設計 (基本) DBの作成手順 (応用) DBの評価・運用 (応用) -
データベース (DB: database) データベースは「データが保管されている基地」 database = data + base データ
基地 • 情報システムの裏側でデータを管理するシステム • ほぼすべてのアプリ・Webサービスにおいて必須 • データベースについて学ぶと、 • データの適切な管理・整理・操作の方法を理解できる • 効率的なデータの扱いと「無駄(?)」の関係を学べる • 情報システムを構築するSEの視点を理解できる • 基本情報・応用情報の資格取得に向けた学習になる 18 職業エンジニア以外にも 必須の内容です -
DBMSの種類と例 ▪ 関係データベース (RDB) ▪ NoSQL系 (RDB以外) オープン ソース •
MySQL • PostgreSQL • SQLite • MariaDB • MongoDB • Redis • Cassandra 商用 • Oracle Database • Microsoft SQL Server • IBM Db2 • Microsoft Access • Snowflake • Elasticsearch • Databricks 対象 関係データ(関係表) オブジェクト・文書・ グラフ・XML・ 時系列・空間… 22 (参考) DB-Engines「DB-Engines Ranking」(2024/10時点) https://db-engines.com/en/ranking -
DBMSの種類と例: 関係データベース(RDB) いくつかの表をもついくつかのデータベースからなる 23 aaa bbb ccc ddd … …
… … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … aaa bbb ccc ddd … … … … … … … … … … … … 関係データベース 管理システム (RDBMS) -
DBMSの種類と例: NoSQL系 RDBでは処理効率が悪い場面で、 RDBではないデータ構造を採用したDBが台頭 24 (参考) Microsoft「リレーショナル データ ソースとNoSQLデータ」(2022) https://learn.microsoft.com/ja-jp/dotnet/architecture/cloud-native/relational-vs-nosql-data
文書 指向 Key- Value型 列 指向 グラフ 指向 MongoDB, Elasticsearch, BaseX Redis, DynamoDB Cassandra, BigTable, HBase Neo4j -
DBMSのランキング(2024/10時点) Oracle MySQL Microsoft SQL Server PostgreSQL MongoDB Redis Snowflake
Elasticsearch IBM Db2 SQLite Cassandra Microsoft Access Splunk Databricks MariaDB 0 200 400 600 800 1000 1200 1400 データベース管理システム (上位15製品) DB-Enginesが算出した得点 25 (出典) DB-Engines「DB-Engines Ranking」(2024/10時点) https://db-engines.com/en/ranking 主要なDBMSの大半が 「関係データベース」を採用 用途によってはNoSQL系が 使われることも増加している -
(参考) Forbes Global 2000 (2023) Microsoft Alphabet Meta Platforms Tencent
Holdings Oracle IBM Cisco Systems Salesforce Accenture SAP 0 500 1,000 1,500 2,000 2,500 3,000 3,500 「IT Software & Services」分野の上位10社 ※時価総額順ではない 時価総額 (単位:10億ドル) 27 (参考) Forbes「The World’s Largest Public Companies」(2024/10時点) https://www.forbes.com/global2000/list/2/ -
(参考) 情報処理技術者試験の項目 (DB分野) 28 (参考) IPA「試験要綱・シラバスについて」 (ITパスポートv6.4, 基本情報v9.1, 応用情報v7.1) https://www.ipa.go.jp/shiken/syllabus/gaiyou.html
分類2 分類3 デ ー タ 操 作 DBの操作 DB 言語 DB言語の種類 DB言語(SQL) データ定義言語 DB言語(SQL) データ操作言語(SELECT 文) DB言語(SQL) その他のデータ操作言語 DB言語(SQL) 埋込型 SQL ト ラ ン ザ ク シ ョ ン 処 理 同時実行制御(排他制御) 障害回復 トランザクション管理 (基本) DBの性能向上 (基本) データ制御 (基本) DB 応 用 DBの応用 (基本) 分散DB (基本) データ資源管理 (基本) 分類2 分類3 DB 方 式 DB DBの種類と特徴 DBの3層スキーマアーキテクチャ DBのデータモデル 関係モデル DB 管理 シス テム DB管理システムの目的 同時実行制御(排他制御) 障害回復 データセキュリティ DB管理システムの種類と特徴 DB 設 計 データ分析 DBの 設計 DB開発工程 (応用) DBの概念設計 DBの論理設計 データの正規化 DBのパフォーマンス設計 (応用) DBの物理設計 (基本) DBの作成手順 (応用) DBの評価・運用 (応用) -
E-R(Entity-Relationship)モデル Entity(実体)とRelationship(関連)に分けて データベースを設計する考え方(データモデル) Entity(実体)の例: 個人(氏名, 住所, 生年月日, …) 場所(地名, 緯度,
経度, 高度, …) (「個人」「場所」などのモノ自体を表す) Relationship(関連)の例: 出身地(氏名, 地名) (「ある個人がある場所で生まれた」という、 実体と実体の間の関連を表す) 29 ※DB分野では個々の関係(relation)と関係間の関連(relationship)を使い分けます -
E-R図 (Entity-Relationship diagram) E-Rモデルを記述する図 • 複 数 の 記 法
が あ る (ITパスポートでは記 法の細部は問わない) • 右図では、 • 実体: Person, Location • 関連: Birthplace (Personが Locationで生まれた、 という関連) • 1:1, 1:多 なども表す 30 (出典) Wikimedia Commons「File:ERD Representation.svg」(2008) https://commons.wikimedia.org/wiki/File:ERD_Representation.svg -
(参考) 最初期のE-R図 (Chen, 1976) 31 (参考) P.P.S.Chen「The Entity-Relationship Model: Toward
a Unified View of Data」 (1976) doi:10.1145/320434.320440 -
関係表 表(table): データの関係を格子状にまとめたもの (これを関係表(relational table)、 もしくは単に関係(relation)という) 利用者名簿 32 (出典) UserLocal「個人情報テストデータジェネレーター」https://testdata.userlocal.jp
氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 滝沢 俊之 たきざわ としゆき 35 06-7797-2829 村上 浩二 むらかみ こうじ 49 03-2822-4810 -
関係表 表(table): データの関係を格子状にまとめたもの (これを関係表(relational table)、 もしくは単に関係(relation)という) 利用者名簿 33 (出典) UserLocal「個人情報テストデータジェネレーター」https://testdata.userlocal.jp
氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 滝沢 俊之 たきざわ としゆき 35 06-7797-2829 村上 浩二 むらかみ こうじ 49 03-2822-4810 「氏名が[大久保 藍]の人のよみがなは[おおくぼ あい]、 年齢は[77]歳で、電話番号は[0574-43-3139]である」 …という「関係」を表す -
関係表 表(table): データの関係を格子状にまとめたもの (これを関係表(relational table)、 もしくは単に関係(relation)という) 利用者名簿 34 (出典) UserLocal「個人情報テストデータジェネレーター」https://testdata.userlocal.jp
氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 滝沢 俊之 たきざわ としゆき 35 06-7797-2829 村上 浩二 むらかみ こうじ 49 03-2822-4810 列(column) 属性(attribute) 行(row)・組(tuple) レコード(record) テーブル名 関係名・リレーション名 属性名 -
(参考) 用語の使い分け 表(表現形式) としての用語 関係データベース としての用語 数学的構造 としての用語 表 (table)
関係表 (relational table) 関係 (relation) テーブル名 関係名 行(row) レコード(record) 組(tuple) 列(column) 属性(attribute) 次元(dimension) セル(cell) 属性値 フィールド(field) 要素(element) 行数 関係の大きさ (cardinality) 組数 列数 次数(degree) 見出し(heading) 属性名 属性の型(type) 定義域(domain) 35 ※どの呼び方でも問題ないが、異なる分野の用語が交ざると違和感が生じるので注意 (とはいえ、DBは厳密でない実用志向の分野であるため、実際には交ぜて使われることも多い) -
キー: 主キー・外部キー・インデックス キー(key): 関係表の列(の組)のうち、 その列の値を定めると、 その値に対応する関係表 の行が一つに定まるもの • 主 キ
ー: キーのうち 最も「好ましい」もの (IDなどの識別子) 外部キー: 関係表の列の う ち で 、 別 の 関 係 表 の キーを定義域とする列 例: • 国民の表で、ある「個人 番号(マイナンバー)」に 対応する国民は一人に 定まるはず • 製品の表で、ある「製造 番号」に対応する製品 は一つに定まるはず • 大学生の表で、ある「大 学」とある「学籍番号」 に対応する学生は一人 に定まるはず • ある「氏名」に対応する 個人は一人に定まらな い (同姓同名がいる) 36 -
効率的なデータの管理: 正規化の必要性 期末試験の解答用紙における記入事項(例): 理屈上は、学籍番号さえ分かれば、 他の情報は学生情報のテーブルから得られるはず (学部名や氏名は学籍番号に関数従属している) ⇒ 効率的なDB設計のための正規化を行う 37 2024年度第1期「◆◆入門」期末考査
解答用紙 情報デザイン 学部 情報デザイン 学科 1 年 氏名 •• •• 学籍番号 2401234 . これをすべて書く(データとして記録する)必要はあるのか? ※記録するデータ量を最小化するだけなら学籍番号のみ記入させればよいが、実際は、回答者が 学籍番号を書き間違えることがあるため、学籍番号以外も記入させ、あえて冗長化(非正規化)する -
効率的なデータの管理: データの前処理 入手したデータをすぐDBに入れられるとは限らない 複数のデータが1つの要素に結合されていたり、 表記ゆれがあったり前後に空白があったりする ⇒ データクレンジング(前処理ともいう)が必要 • 総務省「統計表における機械判読可能な データ作成に関する表記方法」(2020)
https://www.soumu.go.jp/main_content/000723697.pdf • 首相官邸「数値(表)、文章、地理空間情報の データ作成に当たっての留意事項」(2016) https://www.digital.go.jp/assets/contents/node/basic_ page/field_ref_resources/f7fde41d-ffca-4b2a-9b25- 94b8a701a037/faf1278e/20220523_resources_data_ betten_05.pdf 38 -
(参考) 情報処理技術者試験の項目 (DB分野) 39 (参考) IPA「試験要綱・シラバスについて」 (ITパスポートv6.4, 基本情報v9.1, 応用情報v7.1) https://www.ipa.go.jp/shiken/syllabus/gaiyou.html
分類2 分類3 デ ー タ 操 作 DBの操作 DB 言語 DB言語の種類 DB言語(SQL) データ定義言語 DB言語(SQL) データ操作言語(SELECT 文) DB言語(SQL) その他のデータ操作言語 DB言語(SQL) 埋込型 SQL ト ラ ン ザ ク シ ョ ン 処 理 同時実行制御(排他制御) 障害回復 トランザクション管理 (基本) DBの性能向上 (基本) データ制御 (基本) DB 応 用 DBの応用 (基本) 分散DB (基本) データ資源管理 (基本) 分類2 分類3 DB 方 式 DB DBの種類と特徴 DBの3層スキーマアーキテクチャ DBのデータモデル 関係モデル DB 管理 シス テム DB管理システムの目的 同時実行制御(排他制御) 障害回復 データセキュリティ DB管理システムの種類と特徴 DB 設 計 データ分析 DBの 設計 DB開発工程 (応用) DBの概念設計 DBの論理設計 データの正規化 DBのパフォーマンス設計 (応用) DBの物理設計 (基本) DBの作成手順 (応用) DBの評価・運用 (応用) -
関係表におけるデータの操作 (一部) 操作の種類 使うSQL文 SQLでの書き方 説明 挿入 insert INSERT文 INSERT
INTO テーブル名 (列名1, 列名2, …) VALUES (値1, 値2, …) 表に新たな データを挿入 更新 update UPDATE文 UPDATE テーブル名 SET 列名1= 値1, 列名2 = 値2, … WHERE 条件式 表のデータの 一部を更新 選択 select SELECT文 SELECT * FROM テーブル名 WHERE 条件式 表の一部の 行を抽出 射影 projection SELECT 列名1, 列名2 FROM テーブル名 表の一部の 列を抽出 結合 join SELECT * FROM テーブル名1 INNER JOIN テーブル名2 ON テーブル名1.列名1 = テーブル名2.列名2 複数の表を 結合 40 ※ITパスポートではSQLの文法は問われないので、まずは操作の種類を理解すればOK -
関係表におけるデータの操作: 挿入(insert) 41 氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ
あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 滝沢 俊之 たきざわ としゆき 35 06-7797-2829 村上 浩二 むらかみ こうじ 49 03-2822-4810 関係表に氏名「滝沢 俊之」「村上 浩二」の行を挿入 INSERT INTO テーブル名 (氏名, よみがな, 年齢, …) VALUES (“滝沢 俊之”, ”たき ざわ としゆき”, 35, …) ※関係表には行の順序はないので、基本的に末尾に挿入される -
関係表におけるデータの操作: 更新(update) 42 氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ
あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 23 0120-333-555 加藤 吉孝 かとう よしたか 55 03-6479-7858 関係表の氏名「福島 紀子」の行に おける年齢と電話番号を更新 UPDATE テーブル名 SET 年齢 = 23, 電話番号 = “0120- … WHERE 氏名 = “福島 紀子” ※WHEREで条件を指定しないと、すべての行の値が更新されてしまう -
関係表におけるデータの操作: 選択(select) 43 氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ
あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 氏名 よみがな 年齢 電話番号 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 関係表のうち年齢が60以下の 行を選択 SELECT * FROM テーブル名 WHERE 年齢 <= 60 ※SELECTの後の「*」は「すべての列」を示す(「ワイルドカード」と呼ばれる特殊な指定方法の一種) -
関係表におけるデータの操作: 射影(projection) 44 氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ
あい 77 0574-43-3139 福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 よみがな 年齢 おおくぼ あい 77 ふくしま のりこ 44 かとう よしたか 55 関係表のうちよみがなと年齢の列 を射影 SELECT よみがな, 年齢 FROM テーブル名 ※選択と射影はどちらがどちらか紛らわしいが、関係データベースでは基本的に行(レコード)単位 でデータを操作する。関係表の行は後から変更しやすいが、列は最初に作成した後はあまり変えない -
氏名 よみがな 年齢 電話番号 大久保 藍 おおくぼ あい 77 0574-43-3139
福島 紀子 ふくしま のりこ 44 01586-5-7658 加藤 吉孝 かとう よしたか 55 03-6479-7858 関係表におけるデータの操作: 結合(join) 45 氏名 よみがな 電話番号 大久保 藍 おおくぼ あい 0574-43-3139 福島 紀子 ふくしま のりこ 01586-5-7658 加藤 吉孝 かとう よしたか 03-6479-7858 よみがな 年齢 おおくぼ あい 77 ふくしま のりこ 44 かとう よしたか 55 2つの関係表をよみがなをキーに して結合 SELECT * FROM テーブル名1 INNER JOIN テーブル名2 ON テーブル名1.よみがな = テーブル名2.よみがな ※結合には複数の結合方法・記法がある -
(参考) 情報処理技術者試験の項目 (DB分野) 46 (参考) IPA「試験要綱・シラバスについて」 (ITパスポートv6.4, 基本情報v9.1, 応用情報v7.1) https://www.ipa.go.jp/shiken/syllabus/gaiyou.html
分類2 分類3 デ ー タ 操 作 DBの操作 DB 言語 DB言語の種類 DB言語(SQL) データ定義言語 DB言語(SQL) データ操作言語(SELECT 文) DB言語(SQL) その他のデータ操作言語 DB言語(SQL) 埋込型 SQL ト ラ ン ザ ク シ ョ ン 処 理 同時実行制御(排他制御) 障害回復 トランザクション管理 (基本) DBの性能向上 (基本) データ制御 (基本) DB 応 用 DBの応用 (基本) 分散DB (基本) データ資源管理 (基本) 分類2 分類3 DB 方 式 DB DBの種類と特徴 DBの3層スキーマアーキテクチャ DBのデータモデル 関係モデル DB 管理 シス テム DB管理システムの目的 同時実行制御(排他制御) 障害回復 データセキュリティ DB管理システムの種類と特徴 DB 設 計 データ分析 DBの 設計 DB開発工程 (応用) DBの概念設計 DBの論理設計 データの正規化 DBのパフォーマンス設計 (応用) DBの物理設計 (基本) DBの作成手順 (応用) DBの評価・運用 (応用) -
トランザクション トランザクション(transaction): 直訳は「取引」だが、DB分野では「一つの活動と して扱うべきいくつかの処理のまとまり」を指す トランザクション処理が必要になる場面: • 複数の処理を同時に要求されたときに、 どちらの処理も正しく完了させなければならない • 一つの解決策は、あるトランザクションの処理中は
DBに他の処理を行うことを制限(ロック)し、他の 処理を行えないようにする(排他制御)こと 47 -
ACID特性: トランザクション処理で考慮すべき点 • 原子性(Atomicity): あるトランザクションの処理 について、「全く処理していない」か「すべて処理 し終えた」のどちらかの結果になるように処理す る(「途中まで処理した」という中途半端な状態に ならないようにする) •
一貫性(Consistency): あるトランザクションの 処理について、処理の前後でDBの内容に矛盾 が生じていないように処理する • 独立性(Isolation): いくつかのトランザクション の処理について、処理を一つずつ実行しても同時 並行で実行しても同じ結果になるように処理する • 永続性(Durability): 処理し終えたトランザク ションについては、その後に障害が生じても処理 結果が失われないように処理する 48 -
障害が生じたときの回復処理 DBに何らかの障害(DBが壊れること)が生じた場合、 何らかの回復処理が必要になる • バックワードリカバリ(ロールバック): トランザクションの処理中に障害が生じたときに、 トランザクション処理直前の状態に戻す (処理開始前に作成したログファイルを使用する) • フォワードリカバリ(ロールフォワード):
トランザクションの処理後に障害が生じたときに、 トランザクション処理直後の状態に戻す (DB全体のバックアップと、 処理終了後に作成したログファイルを使用する) 49 -
(参考) すぐ学び始めたい方へ • 武善「身近にあるデータベースを学ぼう!」 https://www.youtube.com/watch?v=T1U E1j8Q-i0 「情報I」を学ぶ現在の高校生向けの動画です。 • 藤本「実践データベース」 https://speakerdeck.com/
recruitengineers/shi-jian-detabesushe-ji リクルートの新人研修用スライドだそうです。 • 基本情報技術者試験などの参考書 浅いが簡潔に書かれているので、予習にお勧め。 52 -
(参考) すぐ学び始めたい方へ • 山本「データベースの講義ノート」 https://dbnote.hontolab.org 名古屋市立大の講義で使われている資料です。 • 向「データベースシステム」 https://mukai-lab.info/pages/classes/ database_system/
椙山女学園大の講義資料だそうです。 • 宇田川・藤原『実学としてのデータベース』 https://amazon.jp/dp/4864810893 次年度使用予定の必携書。 変えるかもしれないので、まだ買わなくてよいです。 53 -
(参考) すぐ学び始めたい方へ DB分野の情報処理技術者試験の過去問サイト • ITパスポート試験ドットコム https://www.itpassportsiken.com/ index_te.html#21_1 • みちともデジタル https://michitomo2019.com/
it-passport-database-qs/ • 基本情報技術者試験ドットコム • https://www.fe-siken.com/ index_te.html#9_1 • スマホ用アプリなどもある ※情報処理技術者試験の過去問は、教育目的など試験の意義に即した 利用であれば、条件を満たせば許諾なく利用可能だそうです。 54 (参考) IPA「試験に関するよくある質問」(2024/10時点) https://www.ipa.go.jp/shiken/faq.html -
課題 「過去・現在・未来におけるあなたとデータベースの 関係」について、Webフォームに記入し提出 • 「過去」は大学入学以前、「未来」は学部卒業後 • それぞれの場面で使っている(いた)データベース の具体名(Web上のものはURLも記す)を挙げる • それぞれ異なるものを1つずつ(計3つ)挙げる
• ここでいう「データベース」は、Webで利用可能な もの以外の、紙や自作ファイルにまとめたものも可 • 「データベース」に直接触らず、Webサイト・アプリ などから利用するものでも可 • 挙げた「データベース」を、あなたがいつどのよう に使っている(いた)かを具体的に説明する 55