Course Outline


Lab Setup

Operating System – Ubuntu 16.04 Desktop or Server Edition

Course Outline

Overview of SQL
  • Datastore design considerations
  • Relational stores
  • Entities, Relationships and Database modeling
Installation
  • Installing MySQL server and client
  • Starting and stopping the server
  • Connecting to a local or remote server
Database
  • Creating databases
  • Dropping databases
  • Listing all the databases
Tables
  • Fields
  • Creating tables
  • Listing tables
  • Getting the definition of an existing table – DESCRIBE and SHOW CREATE TABLE
  • Altering tables
  • Working with relationships – primary and foreign keys
    • 1..1
    • 1..n
    • m..n
CRUD
  • Creating records
  • Retrieving records
    • SELECT
    • FROM
    • WHERE
    • ORDER BY
    • GROUP BY/HAVING
    • LIMIT/OFFSET
  • Joins
    • Inner Join
    • Left Join
    • Right Join
    • Full Join
  • Aggregation functions
    • COUNT
    • MIN
    • MAX
    • SUM
  • Updating records
  • Replacing records
  • Deleting records
Indexing
  • Need for indexes
  • How indexes improve performance
  • Types of indexes – b-tree, hash, spatial, fulltext
  • Evaluating the performance of queries
  • Adding indexes
  • Determining the performance of an index
Command Line Interface
  • Running commands in batch mode
  • mysqladmin
  • Importing data
  • Dumping data
Client Libraries – A Case Study
  • Installing a client driver
  • Using MySQL through the the client driver
NoSQL – An introduction
  • When to use Relational/NoSQL?
  • Categories of NoSQL stores
  • Examples of NoSQL stores
  • NoSQL patterns in MySQL

The classroom training will be provided in Bangalore (Bengaluru), Chennai, Hyderabad or Mumbai and will be conducted in the client's premises. All the necessary hardware/software infrastructure must be provided by the client.