「SQLを使用したデータベースの導入:ハーバードの無料コース」
「ハーバードの無料コースで学ぶ:SQLを使ったデータベースの導入」
長年にわたり、ハーバード大学のCS50クラスは、コンピュータサイエンスへの入門として、世界中の学習者がコンピュータサイエンスに参入し、開発の旅をスタートするのを助けてきました。このクラスは、デビッド・J・マラン教授によって教えられています。CS50はコンピュータサイエンスの入門ですが、Python、AIなどの専門トラックもあります。
ご想像の通り、チームはデータベースとSQLの入門コース、「CS50 SQL」をリリースしました。このコースでは、データベースのクエリを学び、自分自身のデータベースを設計する方法など、さまざまなスキルを学ぶことができます。
もしデータ専門職を目指しているなら、データベースとSQLの基礎を築いておくことが重要です。そしてこのコースは、その目標を達成するのに役立ちます。
CS50 SQLコースについて
Carter Zenke氏によって教えられるデータベースとSQLの入門コースは、7つのモジュールに分かれ、7週間にわたって進行します。これらのモジュールには、実世界のデータセットを基にした講義や関連する問題が含まれています。
各モジュールでは、次の手順に従うことができます:
- 講義を視聴する
- ノートを復習する
- 講義で紹介された例を試す
- モジュールの問題セットに取り組む
問題セットは、VS Code for CS50上で解くことができます。コードスペースと同様に、CS50向けに適用されたクラウド上のVS Codeを利用できます。つまり、コースを進める中で、多くの学習と実践を行うことができます。
コースの内容がわかったので、次にその詳細について見ていきましょう。
注:以下のモジュール1から7は、コースの第0週から第6週に対応しています。
1. データベースのクエリ
最初のモジュールデータベースのクエリでは、スプレッドシートを超え、リレーショナルデータベースにデータが格納されている理由について話し合います。そして、SQLを使ったデータベースのクエリの基礎を学びます。カバーされるトピックは以下の通りです:
- SELECT文
- LIMITとWHERE句
- NULLの理解
- LIKEキーワード
- 範囲
- ORDER BY
- 集計関数
クエリのモジュールを確認してください。
2. データベースの関連付け
データベースの関連付けモジュールでは、前のモジュールを基に、単一のデータベーステーブルを超えて進みます。複数のテーブルで作業し、それらの関係性を理解することを学びます。カバーされるトピックは以下の通りです:
- エンティティ関係図(ER図)
- 関係の種類:一対一、一対多、多対多の関係
- 主キーと外部キー
- サブクエリ
- INキーワード
- JOIN
- 集合演算:INTERSECT、UNION、EXCEPT
- GROUPBY
関連付けのモジュールを確認してください。
3. データベーススキーマの設計
これまで、データベースと単一および複数のテーブルを操作し、質問に答える方法を学んできました。しかし、自分自身でそのようなデータベースを作成するにはどうすればよいでしょうか?このモジュールデータベーススキーマの設計では、まさにそれについて学びます。以下のような概念を含む、スクラッチからデータベースを設計する方法を学びます。
- データベーススキーマの作成
- 正規化の概念とデータベーステーブルの関連付け
- テーブルの作成
- データ型とストレージクラス
- テーブルとカラムの制約
- テーブルの変更
デザインに関するモジュールをチェックしてください。
4. データベースへの書き込み
これまでにクエリを使用してデータベースからデータを取得し、ゼロから独自のデータベースを設計する方法を学んできました。このモジュールデータベースへの書き込みでは、以下の内容を学びます:
- レコードのデータベースへの挿入
- CSVファイルからのデータのデータベースへのインポート
- レコードの削除と更新
書き込みに関するモジュールをチェックしてください。
5. データベーステーブルの表示
次のデータベーステーブルの表示モジュールでは、データベースビューの作成とその利点について詳しく説明します。以下のトピックをカバーしています:
- ビューとは何か
- ビューの作成
- ビューの作成の利点
- 共通テーブル式(CTE)
- パーティショニング
- データベースのセキュリティ
- ソフト削除
表示に関するモジュールをチェックしてください。
6. データベースクエリの最適化
データベースクエリの最適化モジュールでは、インデックスを使用してデータベースクエリの処理を高速化する方法と、インデックスに関連するトレードオフに焦点を当てています。以下のトピックをカバーしています:
- データベーステーブルインデックスの作成
- 複数のテーブル間でのインデックスの作成
- 空間と時間のトレードオフ
- 行の一部に対する部分的なインデックス
- トランザクションと競合状態
最適化に関するモジュールをチェックしてください。
7. データベースのスケーリング
これまでのコースではSQLiteを使用しました。この最終モジュールであるデータベースのスケーリングでは、MySQLとPostgreSQLについて紹介します。これらの広く使用されるRDBMSの基礎を学び、さらに学びを深めることができます。このモジュールでは以下の内容をカバーしています:
- テーブルの作成と変更
- MySQLストアドプロシージャ
- パラメーターを持つストアドプロシージャ
- PostgreSQLの操作
- アクセス制御文
- SQLインジェクション攻撃
スケーリングに関するモジュールをチェックしてください。
このコースでカバーされているすべてのトピックは、データ関連のキャリアを考える上で重要です。 データサイエンスのデータベース入門は、データベースの関連性と基本的なデータベーススキルについての概要を提供しています。
まとめ
全体的に、これはデータベースとSQLの堅固な基礎を築くための素晴らしいコースです。データの専門家として、SQLを常に使用することになります。しかし、SQLの習得は継続的な旅であることも認識するでしょう。そして、そのためには練習が最良の友です!
SQLのスキルを磨きたい準備ができている場合は、SQLを実践するための7つの最高のプラットフォームをチェックしてみてください。
[Bala Priya C](https://twitter.com/balawc27)は、インド出身の開発者兼技術ライターです。彼女は数学、プログラミング、データサイエンス、コンテンツ作成の交差点での作業が好きです。彼女の関心と専門知識の範囲には、DevOps、データサイエンス、自然言語処理などがあります。彼女は読書、執筆、コーディング、コーヒーが好きです!現在、彼女はチュートリアル、ハウツーガイド、意見記事などの執筆によって、開発者コミュニティと彼女の知識を共有することに取り組んでいます。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles