For the course project, I will be referring to a timesheet database that can be used to track time and bill hours to a client or supervisor.
Because many of you may be consultants or contractors, I thought it would be fun to build a real-world database that enables you to track your time and bill your supervisor or clients accurately.
With the Timesheet database, you will be able to:
- Keep track of the time you spend on each task for each client
- Exclude lunch and errand time
- Track vacation time
- Compare actual vs. estimated time per task
What makes up a database?
What use is a database that does not store anything? But a Relational Database Management System (RDBMS) is actually much more than data. Today's advanced relational databases not only store your data, they also manage that data for you,
restricting the kind of data that can go into the system, and facilitating getting data out of the system. If all you want is to store the data away somewhere safe, you could use just about any data storage system.
Relational Databse Management systems allow you to go beyond the storage of the data into the realm of defining what that data should look like, or the business rules of the data.
Do not confuse what I am calling the business rules of the data
with the more generalized business rules that drive your entire system (for example, preventing someone from seeing
anything until they have logged in, or automatically adjusting the current period in an accounting system on the first of the month).
Those types of rules can be enforced at virtually any level of the system (these days, it is usually in the middle or client tier of an n-tier system).
Instead, what I am talking about here are the business rules that specifi cally relate to the data. For example, you can not have a sales order with a negative amount. With an RDBMS, you can incorporate these rules right into the integrity of the database itself.
The notion of the database taking responsibility for the data within, as well as the best methods to input and extract data from that database, serves as the foundation for this course.
This module provides an overview of the rest of the course. Most items discussed in this module are covered again in later modules, but this module is intended to provide you with a road map or plan to
bear in mind as you progress through the course. With this in mind, I will give you a high-level look into:
- Database objects
- Data types
- Other database concepts that ensure data integrity