Technotrekの講義。 DBMSの設計(2016年秋)

画像







私たちは引き続き教材を公開しています。 このコースでは、PostgreSQLオブジェクトリレーショナルデータベースの機能に基づいて、SQL言語の基本を探ります。 このプログラムは、ユーザー、ロール、スキーマ、ベーステーブル、およびその他のデータベースオブジェクトを管理するための最小限の機能など、PostgreSQLプラットフォームで標準化されたSQL言語を学習するための統合アプローチを提供します。 PostgreSQLデータベースとそれに適用されるSQLのいくつかの機能を使用する基本について説明します。 より詳細に-猫の下で。







このコースは、Elena Shishkina(プラットフォーム開発グループ、Mail.Ru Groupの責任者)およびDanil Vagapov(内部情報開発グループ、Mail.Ru Groupのプログラマー)によって教えられています。







講義リスト:









講義1. DBMSの設計。 はじめに





これは、DBMS設計の分野における基本概念を説明する入門講座です。 「リレーショナルデータモデル」とは何か、実行されるデータ操作は何かを学びます。 主要なDBMS設計タスクとその主要な段階、つまり概念設計、論理設計、物理設計が考慮されます。







講義2. DBMSの設計。 SQL:開始





この講義では、SQLを使用する際の重要な概念について説明します。この言語でサポートされるデータ型とその違い、SQLテーブルの作成方法、変更方法。 また、テーブル内のデータを使用した基本操作、つまり挿入、選択、更新、削除についても説明します。







講義3. DBMSの設計。 SQL:データ取得





サブクエリと集計関数、特にUNIONの作成を検討します。 テーブルの結合、およびサブクエリとの結合の操作を調べてみましょう。 「ビュー」と「マテリアライズドビュー」という用語の本質を学び、講義の最後に、トランザクションなどを検討します。







講義4. DBMSの設計。 クエリの最適化とインデックス作成





このレッスンは2つのトピックに基づいています。 最初の部分では、インデックス作成の基本、最適なデータ型の選択、インデックス作成戦略、正規化および非正規化について検討します。 JSONのインデックス付けだけでなく、機能インデックスと部分インデックスの概念を理解しましょう。 最初のパートの最後では、推奨される定期的なメンテナンスとアプリケーションおよびキャッシュの問題について説明します。







2番目の部分は、クエリの計画、クエリ統計の収集、およびそれらのプロファイリングに専念します。 スケジューラのヒントを検討し、インデックスの使用を強制します。 サンプルの最適化、遅いクエリの監視、SQLアプリケーションのテストのプロセスの物理的な側面について話しましょう。







講義5. DBMSの設計。 関数とトリガー





この講義では、ストアドプロシージャと関数、それらが適用される方法と場所に焦点を当てます。 単純なSQL関数、および不変、安定、揮発性の関数を検討してください。 pl / pgSQL言語を理解しましょう。 次に、引数と戻り値を検討し、ループとその条件を記述します。 エラーの処理方法を理解します。 トリガーとその使用の一般的なアイデアを取得し、どのタイプのトリガーが存在するかを調べます。







講義6. DBMSの設計。 構成とセキュリティ





重要な概念である設定とセキュリティについて理解しましょう。 構成の基本と、ワークロードに基づいた構成方法を検討してください。 レプリケーションとその構成に精通し、それがどのように構成されているかを調べ、そのトポロジーを理解します。 次に、レプリケーションの管理と保守、および考えられるレプリケーションの問題と解決策について説明します。 次に、データセキュリティに進みます。 バックアップとリカバリの組織について議論し、権限と役割について話し、OSレベルのセキュリティに触れ、最後にSQLインジェクションとは何か、それらに対処する方法を学びます。







講義7. DBMSの設計。 DBデータのスケーリング





データアクセスの最適化の研究から講義を開始します。 次に、マテリアライズドビュー、データベースのスケーリングについて説明します。 CAP定理を理解しましょう。 パーティションテーブル、分散トランザクション、および2フェーズコミットについて説明します。講義の最後で、レプリケーションとクラスタリングについて検討します。







講義8. DBMSの設計。 NoSQLソリューションの概要





この講義では、NoSQLデータベースとは何か、高負荷のシステムを操作するためのNoSQLソリューションは何かを学びます。 NoSQLの理論的基礎、そしてTarantoolやMongoDBなどのデータベースの長所と短所について説明します。







講義9. DBMSの設計。 高度なSQL





コースの最後に、RDBMSでのツリーのストレージについて学習します。 隣接リスト、ネストされたセット、具体化されたパス、リンクテーブル、および混合構造を考慮してください。 最後に、PostgreSQL Itree拡張機能を検討してください。 次に、with句を使用したクエリの最適化に進みます。 再帰クエリと、再帰クエリでの具体化されたパスの動的アセンブリについて詳しく説明します。 次に、ウィンドウ関数、ウィンドウ内の集計関数、そして最後に分析に触れます。










すべての講義のプレイリストはこちらにあります 。 テクノパーク、テクノスフィア、テクノトレックの各プロジェクトのITスペシャリストによるプログラミングに関する実際の講義とマスタークラスは、テクノストリームチャンネルで公開されてます。







Habréの他のTechnotrekコース:










All Articles