Today’s Lecture:
Database SW
• In our 4th & final Lesson on
productivity software, we will continue our discussion from last week
on data management
• We will find out about relational databases
• We will also implement a simple relational database
Let’s continue on with the tabular approach. We stored data in a table
last time, and liked it. Let’s revisit
that table and then put together another one
Table from the Last Lecture
Another table …
Calculus & Smith Sahib Good Publishers 325 N
Analytical
Geometry
Sung-e-Kilometer 29 Y
Publishers
Accounting Zamin Geoffry
Secrets
kim zainBooks 199 Y
Champion
The Terrible
Twins
Good Bye Mr. John
Khan
zainBooks 1000
Y
kim
Title Author Publisher Price InStock
Good Bye Mr. kim
Calculus &
Analytical Geometry
The Terrible Twins
Good Bye Mr. kim
Title
Miftah Muslim 2002.12.25 Surface
Karen Kaur 2002.12.24 Air
Aadil Ali 2002.12.26 Air
Aadil Ali 2002.12.26 Air
Customer Shipment Type
This & the previous table are related
• They share a column, & are
related through it
• A program can match info from a field in one table with info in a
corresponding field of another
table to generate
a 3rd table that combines requested data
from both tables
• That is, a program can use matching values in 2 tables to
relate
info in one to info in the other
Q: Who is zainBooks’ best customer?
• That is, who has spent the most
money on the online bookstore?
• To answer that question, one can process the inventory and the
shipment tables to generate a third
table listing the customer names and the prices of the books that they
have ordered
The
generated
table
Can you now process this table to find
the answer to our question
Relational Databases
• Databases consisting of two or
more related tables are called
relational databases
• A typical relational
database may have anywhere from 10 to over a thousand tables
• Each column of those tables can contain only a single type of data
(contrast this with spreadsheet
columns!)
• Table rows are called records; row elements are called fields
• A relational database stores all its data inside tables, and nowhere
else
• All operations on data are done on those tables or those that are
generated by table operations
• Tables, tables, and nothing but tables!
37.1 RDBMS
• Relational DBMS software
• Contains facilities for creating, populating, modifying, and querying
relational databases
• Examples:
–Access
–FileMaker Pro
–SQL Server
–Oracle
The Trouble with Relational DBs
• Much of current SW development
is done using the object-oriented methodology
• When we want to store the object-oriented data into an RDBMS, it needs
to be translated into a
form suitable for RDBMS
The Trouble with Relational DBs
• Then when we need to read the
data back from the RDBMS, the data needs to be translated back
into an object-oriented form before use
• These two processing delays, the associated processing, and time spent
in writing and maintaining
the translation code are the key disadvantages of the current RDBMSes
1000
325
199
1000
Price
Miftah Muslim
Karen Kaur
Aadil Ali
Aadil Ali
Customer
– DB2
–
Objectivity/DB
– MySQL
– Postgres
Solution?
• Don’t have time to discuss that,
but try searching the Web on the following terms:
• Object-oriented databases
– Object-relational databases
Classification of DBMS w.r.t. Size
•
Personal/Desktop/Single-user (MB-GB)
– Examples: Tech. papers’ list; Methai shop inventory
– Typical DMBS: Access
•
Server-based/Multi-user/Enterprise (GB-TB)
– Examples: HBL; Amazon.com
– Typical DMBS: Oracle, DB2
• Seriously-huge databases (TB-PB-XB)
– Examples: 2002 – BaBar experiment at Stanford (500TB); 2005 – LHC
database at CERN (1XB)
– Typical DMBS: Objectivity/DB
37.2 Some Terminology
•
Primary Key
is a field that uniquely identifies each
record stored in a table
• Queries
are used to view, change, and analyze
data. They can be used to:
– Combine data from different tables, efficiently
– Extract the exact data that is desired
• Forms
can be used for entering, editing, or
viewing data, one record at a time
• Reports
are an effective, user-friendly way of
presenting data. All DBMSes provide tools for
producing custom reports.
• Data normalization
is the process of efficiently organizing
data in a database. There are two goals
of the normalization process:
– Eliminate redundant data
– Storing only related data in a table
Before we do a demo, let me just mention my favorite database
application:
Data Mining
• The process of analyzing large
databases to identify patterns
• Example: Mining the sales records from a zainBooks could identify
interesting shopping patterns
like “53% of customers who bought book A also bought book B”. This
pattern can be put to good use!
• Dat a mining often utilizes intelligent systems’ techniques
Let’s now demonstrate the use of a desktop RDBMS
• We will create a new relational
database
• It will consist of two tables
• We will populate those tables
• We will generate a report after combining the data from the two tables
Access Tutorial
http://www.microsoft.com/education/DOWNLOADS
/tutorials/classroom/office2k/acc2000.doc
Today’s Lecture:
• In this final Lesson on
productivity software, we continued our discussion from last week on
data
management
• We found out about relational databases
• We also implemented a simple relational database
Next Lecture’ Goals
(Cyber Crime)
• To know the different types of
computer crimes that occur over cyber space
• To familiarize ourselves with with several methods that can be used to
minimize the effect of these
crimes
• To get familiar with a few policies and legislation designed to tackle
cyber crime |