Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベース01: データベースを使わない世界
Search
Y. Yamamoto
April 15, 2024
Technology
1
360
データベース01: データベースを使わない世界
1. ガイダンス
2. データベースを使わない世界
講義ノートURL
https://dbnote.hontolab.org/content/introduction/01.html
Y. Yamamoto
April 15, 2024
Tweet
Share
More Decks by Y. Yamamoto
See All by Y. Yamamoto
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
0
520
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
0
500
データベース10: 拡張実体関連モデル
trycycle
0
520
データベース09: 実体関連モデル上の一貫性制約
trycycle
0
510
データベース08: 実体関連モデルとは?
trycycle
0
520
データベース14: B+木 & ハッシュ索引
trycycle
0
240
データベース15: ビッグデータ時代のデータベース
trycycle
0
140
データベース06: SQL (3/3) 副問い合わせ
trycycle
0
370
データベース05: SQL(2/3) 結合質問
trycycle
0
480
Other Decks in Technology
See All in Technology
現地でMeet Upをやる場合の注意点〜反省点を添えて〜
shotashiratori
0
160
バイセルにおけるAI活用の取り組みについて紹介します/Generative AI at BuySell Technologies
kyuns
1
200
SwiftSyntaxでUIKitとSwiftUIの使用率を完璧に計測できちゃう件について
ldf_tech
0
160
クラシルの現在とこれから
am1157154
1
340
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
210
Nix入門パラダイム編
asa1984
1
160
オニオンアーキテクチャで実現した 本質課題を解決する インフラ移行の実例
hryushm
13
2.7k
品質の高い機能を”早く”提供するために技術的な面でチームでやったこと、やりたいこと
sansantech
PRO
2
230
AI Builder について
miyakemito
1
130
Railway Oriented Programming を オニオンアーキテクチャに適用する by kotlin-result / Railway Oriented Programming in Onion Architecture by kotlin-result
yuitosato
2
210
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
190
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
340
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Faster Mobile Websites
deanohume
304
30k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.6k
Navigating Team Friction
lara
183
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Facilitating Awesome Meetings
lara
49
6k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Typedesign – Prime Four
hannesfritz
39
2.4k
Transcript
“データベース”を使わない世界 ⼭本 祐輔 名古屋市⽴⼤学 データサイエンス学部
[email protected]
第1回 データベース 2024年4月15日 (ガイダンス
+)
シラバス情報 科目名 データベース 2 開講学期 2年次 前期 科目区分 専門基礎(必修) 担当教員
山本 祐輔
ガイダンス 1 授業をどう進めるか?
データベースと言えば 何を思い浮かべる?
⼀般⼈が思い浮かべるデータベース 新聞データベース 画像出典: https://www.pokemon.co.jp/ex/sun_moon/pokemon/ ポケモン図鑑的 たくさんのデータの集まりや図鑑的なもの
情報科学屋にとってのデータベース データベース管理システムあるいは それによって管理されたデータの集合 画像出典: https://en.wikipedia.org/
授業⽬的 データベース技術 (特に関係データベース) ⼤規模なデータを効率よく管理・処理するための データ分析者が最低限知っておくべき を学ぶ
この授業で学ぶこと lデータベースの概念 l関係データモデル l関係データベースの問い合わせ方法 l関係データベースの設計 l索引づけ lビッグデータ時代のデータベース
この授業で学ばないこと l前提知識の復習(集合と写像) l関係代数 & 関係論理 l問い合わせ最適化 lデータ格納方式 lトランザクション(障害回復,並列処理) 関係データベース操作 の理論的基礎
ハードウェアに近い話 データベースの内部処理 上記内容はデータエンジニアなら知っておくべき!!
回 実施日 トピック 1 04/15 ガイダンス:データベースを使わない世界 2 04/22 データベースの概念 3
04/29(祝) 関係データモデル 4 05/13 SQL (1/3) 5 05/20 SQL (2/3) 6 05/27 SQL (3/3) 7 06/03 SQL演習 – レポート課題1 8 06/10 実体関連モデル (1/3) 9 06/17 実体関連モデル (2/3) 10 06/24 実体関連モデル (3/3) 11 07/01 正規化 (1/2) 12 07/08 正規化 (2/2) 13 07/15(祝) データベース設計演習 – レポート課題2 14 07/22 索引付け 15 07/29 NoSQL 16 08/05 期末試験 授業計画 11 関係データベース「操作」 関係データベース「設計」
授業の進め⽅ 理解を深める クイズや演習 0:00 1:30 0:60 座学 細かな練習を通じて DB技術を体得 データベースの理論や技術
の理解 (プログラミングスキルは不要)
授業で使⽤するもの(1/2) 配布スライド データベースの講義ノート 13
授業で使⽤するもの(2/2) 14 Google Colaboratory - データベース問合わせ練習⽤ - ブラウザで動く - 要Googleアカウント
draw.io - データベース設計練習⽤ - ブラウザで動く - ユーザアカウントは不要
成績評価 授業中に課す課題(レポート): 40% ・SQL演習(1回) + データベース設計(1回) ・授業内に設けた演習時間(+⾃宅)で回答を作成 期末試験: 60% ・授業中に出題範囲を宣⾔
・⾃分で作成した資料を持ち込み「可」とする予定
参考図書(1/2) 画像出典:https://www.ohmsha.co.jp/book/9784274223730/ 画像出典: https://www.ohmsha.co.jp/book/9784274225161/ 16
参考図書(2/2) https://www.saiensu.co.jp/search/?isbn=978-4-7819-1390-2&y=2017 17
講義ノート https://bit.ly/3xqTSds l 参考図書を踏まえて作成 l コラムや練習問題が充実 l 無料
連絡⽅法 担当教員メールアドレス
[email protected]
授業連絡 Microsoft Teams 学務情報システム データサイエンス学部LMS みなさん,どれを連絡⼿段として希望しますか?
データベースを使わない世界 2 データベースを使う必要性はどこにある?
ある⼩売店のお話(1/3) ⼩売店店主の ⼭畑さん 山畑さんは家族で小さな小売店を営んで いる. 個人経営ながら山畑さんのお店は 繁盛している. とはいえ,街には大手 チェーン小売店が進出してきており,この まま順調に経営を続けられるかは不安だ.
何か手を打たなければならない. 2020年の4月,山畑さんは念願のショッ ピングサイトを立ち上げた. 言うまでもな い.ショッピングサイトを立ち上げたのは, オンラインにも顧客獲得の機会を求める ためだ. サイトは順調に立ち上がり,注文 もポツポツ入ってきている.
ある⼩売店のお話(2/3) ところで,最近世の中では「データサイエンス」なるもの が注目を集めているらしい. データを活かせばビジネスチャンスが広がる,とのことだ. 山畑さんは,Excelシートに入力しつつあった販売履歴 を分析してみようと思い立った. ⼩売店店主の ⼭畑さん ビジネス インサイト
ある⼩売店のお話(3/3) Excelシートには,いつ,誰が,何を,いくらで購入したか の情報が記録されている. ⼩売店店主の ⼭畑さん ビジネス インサイト ショッピングサイトは立ち上がったばかりであるため, Excelシートには200行しかデータが入っていないが, これからデータが貯まっていけば,売り上げを増やす
ための課題が見えるかもしれない!!
課題1 & 2 課題1 以下のURLから⼭畑さんが使っている Excelファイルをダウンロードし,中⾝を確認せよ https://bit.ly/4awIEms 課題2 Excelファイルを使って「岡⽥ 真綾」という⼈物が
何回買い物をしていたかを数えよ
課題3〜5 オートフィルタ機能を使って,「ビタミン補助剤」 を購⼊している⼈をピックアップせよ 課題3 Excel関数のSUMを⽤いて,現時点での総売上⾦額 を計算せよ. 課題4 Excelのピボットテーブル機能を使って,集計期間 中に「最も購買回数が多かった商品」「最も売上⾦ 額の合計が⼤きかった商品」のそれぞれを求めよ
課題5
⼭畑さんのお話の続き(1/3) ⼩売店店主の ⼭畑さん ショッピングサイト⽴ち上げ以降,順調に利⽤者数も 増えていった. やはりメディアに取り上げられたの が⼤きかったのだろう. あのタイミングで認知度が ⼀気に上がり,サイト利⽤頻度も加速度的に増えて いった.
それに伴い,サイト運営に関わるスタッフ も増員した. 増員されたスタッフ
⼭畑さんのお話の続き(2/3) 販売履歴の管理は当初⼭畑さんが⼀⼈で担当してい たが,さすがに⼀⼈では捌ききれなくなった. そこ で,ある時点から数名体制で販売履歴の記録をする ことになった. これまで販売履歴の管理に使って きたExcelシートをクラウドストレージに置き, 販売 履歴記録のスタッフのPC間で同期を取るようにした.
こうすることで,同じExcelファイルの上で記録を つけられるようにしたのである.
⼭畑さんのお話の続き(3/3) ⼗分に販売履歴データが蓄積されたと判断した⼭畑 さんは,いよいよ⼤規模に販売履歴データを分析 しようと思った. シートを開き⾏数を数えてみると その数90万⾏以上! データの数に⼩躍りした⼭畑さん. 早速Excelシートでの分析に詳しいスタッフと⼀緒に データ分析に取りかかった…
課題1 & 2 課題1 以下のURLから⼭畑さんが使っている Excelファイルをダウンロードし,中⾝を確認せよ 完全版ファイル: https://bit.ly/3xxgWYc 課題2 Excelファイルを使って「岡⽥
真綾」という⼈物が 何回買い物をしていたかを数えよ ⼩さめファイル: https://bit.ly/4as2sHv
課題3〜5 オートフィルタ機能を使って,「ビタミン補助剤」 を購⼊している⼈をピックアップせよ 課題3 Excel関数のSUMを⽤いて,現時点での総売上⾦額 を計算せよ. 課題4 Excelのピボットテーブルを使って,集計期間中に 「最も購買回数が多かった商品」「最も売上⾦額の 合計が⼤きかった商品」のそれぞれを求めよ
課題5
お疲れ様でした シナリオ2の課題に 取り組んだ感想は? イライラしたとか,何でもOK
Excelが固まる… 日付の書き方が統一されていない… 全角数字が混じっている… 1マスに複数の商品が… 途中から数字がおかしい…?(疑心暗鬼に)
Excel vs. 情報技術屋の「データベース」 Excel § 個人用の表計算ソフト § 対象データは⽐較的⼩さい § データの管理には不向き
(正しく管理できるかは⼈に依存) “データベース” l 大規模データを効率よく処理 l データを正しく管理 l データを複数⼈/複数アプリで 同時に使うことを想定
余談)データ⼈材とその価値 技術レベル Excel使い ・Excelの関数やマクロを使う ・総合職では⼤活躍
余談)データ⼈材とその価値 Excel使い ・Excelの関数やマクロを使う ・総合職では⼤活躍 相関分析/仮説検定屋 ・Rにこだわる ・研究・開発畑なら必要 技術レベル ビジネス上の価値
余談)データ⼈材とその価値 技術レベル ビジネス上の価値 似非データサイエンティスト ・どの学部でも学べる ・AIと機械学習の区別ができない ・データサイエンティストと名乗ったはら恥ずかしい 相関分析/ 仮説検定屋 Excel使い
余談)データ⼈材とその価値 技術レベル ビジネス上の価値 機械学習ホビーイスト データがあればちょっとした 機械学習コードは書ける データサイエンティストの卵 ・情報系学部の卒業生 ・AIと機械学習の区別ができる ・中小企業でDS人材として雇われると悲劇
相関分析/ 仮説検定屋 Excel使い 似非データサイエンティスト
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト 非情報系の研究開発職なら
使える人材になれる可能性あり データサイエンティストの卵
従来のデータ分析 vs. ビッグデータ分析 ビッグデータ分析 仮説発見 従来のデータ分析 仮説検証 (統計的検定・アンケート調査のような) (パターン,隠れたルールetc.) 注意)
どちらの分析も何を対象とするか(クエスチョン)は決まっていないと何も始まらない 39
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト データサイエンティストの卵
ビジネス的に価値が出てくるライン
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト データサイエンティストの卵
ビジネス的に価値が出てくるライン データサイエンス系学部で しっかり学ぶ価値があるライン
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト +
⼤規模データ分析者 ・データベースを扱える ・⼤規模データ処理コードが書ける ・ある程度機械学習ができる 機械学習エンジニア ・データベースを扱える ・深層学習コードがかける データサイエンティストの卵 戦力になるデータ人材
余談)データ⼈材とその価値 Excel使い 相関分析/ 仮説検定屋 技術レベル ビジネス上の価値 機械学習 ホビーイスト 似非データサイエンティスト +
⼤規模データ分析者 機械学習エンジニア 戦力になるデータ人材 データサイエンティストの卵 ポイントの1つは⼤規模データを扱うスキルがあるか
データサイエンス作業の分担と職種 https://www.oreilly.com/ideas/data-engineers-vs-data-scientists データサイエンティスト データエンジニア 高度な数学・統計知識 機械学習 高度な分析技術 高度なプログラミング データベース データパイプライン
分散処理 機械学習エンジニア データラングリング 機械学習の運用 機械学習のチューニング
Excel vs. 情報技術屋の「データベース」 Excel § 個人用の表計算ソフト § 対象データは⽐較的⼩さい § データの管理には不向き
(正しく管理できるかは⼈に依存) “データベース” l 大規模データを効率よく処理 l データを正しく管理 l データを複数⼈/複数アプリで 同時に使うことを想定 ⼤規模データを扱うならデータベースを学ぶ意味は⼤いにあり