Mount Holyoke College's Database
Course provides the following
lecture slides that will help you understand these important database
concepts and topics, and to put them into practice. These go into a
great amount of detail on the areas covered and also give examples and
coding samples where applicable.
MySQL is a free, open source database management system that is easy to
install, implement and maintain. It also provides quick performance and
is very reliable, while being widely implemented throughout
the world. MySQL brings the power of a scalable relation
database application to anyone with the skills to build a data driven
application or web site.
Here is another excellent, free online book, MySQL
Essentials, hosted by techotopia.com.
The objective of MySQL Essentials, is to
provide step-by-step instructions on how to implement and
administer MySQL. The book teaches you the fundamentals of relational
databases and how to configure and install MySQL. It then covers all
the tasks you need to know and perform so you can successfully build,
maintain and secure MySQL based databases. The topics of MySQL
Essentials are listed and linked below in the table of contents.
Database Basics
- What is a Database?
- Understanding Database Tables
- Introducing Database Schema
- Columns and Datatypes
- Database Rows
- Introducing Primary Keys
- What is SQL?
The mysql
Command-Line Tool
- The mysql Command-line Utility
- mysql Command-Line Arguments
- mysql Commands
The MySQL
Administrator Tool
- Getting and Installing MySQL Administrator
- Connecting to the Database Server
- Using the MySQL Administator
The MySQL
Query Browser
- Getting and Installing MySQL Query Browser
- Connecting the MySQL Query Browser to a
Database Server
- A Tour of MySQL Browser
- Executing SQL Statements
Creating
Databases and Tables Using SQL Commands
- Creating a New MySQL Database
- Creating Tables with SQL
- Understanding NULL and NOT NULL Values
- Primary Keys
- AUTO_INCREMENT
- Defining Default Values During Table
Creation
- MySQL Database Engine Types
Updating
and Deleting MySQL Tables
- Altering a MySQL Table
- Adding and Deleting Table Columns
- Renaming Tables and Columns
- Changing The Data Type of a Column
- Deleting a Database Table
Inserting
Data into a MySQL Database
- The Basics of Data Insertion
- Inserting a Complete Row
- Adding Multiple Rows to a Table
- Inserting Results from a SELECT Statement
- Reducing the INSERT Performance Load
- Reducing the INSERT Performance Load
Retrieving
Data From a MySQL Database
- Retrieving a Single Column
- Using SELECT to Retrieve Mutiple Columns
- Restricting Number of Results
- Eliminating Duplicate Values from Results
Using
WHERE to Filter MySQL Data
- The Basics of the WHERE Clause
- Comparison Operators
- Checking for NULL Values
- Searching within Range Values
Advanced
MySQL Data Filtering - AND, OR, NOT and IN
- Filtering Data Using the OR Operator
- Filtering Data Using the AND Operator
- Combining AND and OR Operators
- Understanding Operator Precedence
- Specifying a Range of Conditions using the
IN Clause
- Using the NOT Operator
MySQL
Regular Expression Searches
- What are Regular Expressions?
- Regular Expression Character Matching
- Matching from a Group of Characters
- Matching from a Range of Characters
- Handling Special Characters
- Regular Expressions and Whitespace
Characters
- Matching by Character Type
- Regular Expression Repetition Metacharacters
- Matching by Text Position
Joining Tables
in MySQL
- How Does a Join Work?
- Performing a Cross-Join
- Equi-Join (aka the Inner Join)
- Performing a Left Join or a Right Join
- Creating Joins with WHERE and USING
An
Introduction to MySQL Views
- Creating a Basic View
- Joins and Views
- Getting Information About a View
- Deleting a View
- Replacing a View
MySQL
Calculations and Concatenations
- Performing Calculations on Retrieved Data
- Concatenating Data Fields
- Trimming Trailing Whitespace from Text
- Trimming Leading Whitespace from Text
Working
with Dates and Times in MySQL
- Date and Time Formats
- Creating Date and Time Fields
- Date and Time Formats
- Date and Time Functions
- Inserting Date and Time Values into Table
Columns
- Retrieving Data Based on Date and Time
Criteria
MySQL
Data Aggregation Functions
- The MySQL Aggregate Functions
- Using the Aggregate Functions
- Using the MySQL AVG() Function
- Using the MySQL COUNT() Function
- Using the MySQL MAX() Function
- Using the MySQL MIN() Function
- Using the SUM() Function
- Using Multiple Aggregate Functions
MySQL Users
and Security
- MySQL Security
- Getting Information About Users
- Creating a New MySQL User
- Deleting a MySQL User
- Renaming a MySQL User
- Changing the Password for a MySQL User
- User Privileges
Here is an excellent, free software development book, Essential
Skills for Agile Development, written
by Tong Ka Iok, that reflects his many years of software
application building
experience. has in software
development and training. This freely available book provides many
easy to read and understand examples that present Agile Software
Development from a hit-the-ground running perspective. These include:
how to handle duplicate code, comments, and
bloated code; how to write effective end-user requirements; how to
perform TDD (including functional testing, user interface testing and
unit testing); and how to use a database in Agile Development.
By applying the examples, you will learn the required skills and put
them into practice immediately.
Essential Skills for Agile Development teaches the programming concepts
of Agile Development one skill at a time by presenting exercises that
the authors expect you to complete. So you can learn what you're doing
correctly and incorrectly, it also gives you sample solutions to the
exercises. To reinforce the skills taught, the book gives repeated
exercises that test you on the skills
taught previously, so reading the chapters sequentially is recommended.
This book can be used as training for software developers, and
its also an ideal reference for Java programming. To
effectively use this book you should have knowledge in reading Java and
HTML code, and read and write SQL.
You may download
the whole
book (427 pages, 2.26mb, pdf format)
or you can access each chapter in pdf format.
Table of Contents of Essential Skills for Agile Development: