2026a 第12回:データベース
小テスト
講義
講義は今回を入れて残2回、その次は期末試験です
Google Spreadsheetをデータベースとして使うサービスも実在する
Spreadsheetの仕様上、「1000万セル上限」などの制限も
Microsoft謹製のデータベースソフト
1990年代〜2000年代後半までは中小企業のデータベースとして広く使われていた
顧客管理、売り上げ管理、受発注管理…
「クラウド」と言われる以前の時代の話
DBにおけるセキュリティとプライバシ
パスワードの永続化
セキュリティと認証のジレンマ
ユーザーが入力したパスワードが正しいかどうか、システムは判別する必要がある
↔︎︎一方、平文で保存するとDB内容が漏洩した際にユーザーのパスワード情報が漏洩
前提:ハッシュ関数
どんな長さのデータでも、元に戻せない形で短い決まった長さの値に変換する仕組み
code:sh
echo 'password' | md5
286755fad04869ca523320acce0dc6a4
code:python
if '286755fad04869ca523320acce0dc6a4' == md5('password'):
success()
else:
failure()
これにより平文で保存せずとも、「入力されたパスワードが正しい」ことを検証可能
問題
これだけだと、 「事前に用意しておいたハッシュの対応表」で看過できてしまう
password = 286755fad04869ca523320acce0dc6a4
part3. RDB
実際に手元で動かしましょう
MySQLサーバーのインストール
Windowsの方
実行し、セットアップ種別は Server only を選ぶ(Workbench等は不要)。
設定ウィザードで root のパスワードを決める(必ずメモ)。「Windowsサービスとして自動起動」はそのままでOK。
Execute → Finish で完了。サーバーは自動で起動します。
MacOSの方
code:sh
mysql
code:sh
brew install mysql
brew services start mysql
mysql -u root
MySQLサーバーに接続する
Windows ... MySQL Command Line Clientを起動
MacOS ... terminalにて mysql -u root
データベースを注入する
起動したCLIに直接流し込み