- 1 -
Database Introduction
• RRDBMS: Relational Data Base
Management System
• SQL: Structured Query
Language
• DBA: Data Base Administrator
• DB Designer/Data Modeler
E-commerce
Website
Query or
Reporting
Tools
Database
Database
DBMS DBMS
Payroll
System
Class
Enrollment
program
- 2 -
Multiple (Dual) Perspectives
DATA (Information) Activity(Operation)
EMPLOYEE
(Resource)
HIRE
EMPLOYEE
PAY
EMPLOYEE
PROMOTE
EMPLOYEE
FIRE
EMPLOYEE
......
....
......
....
ACME
Enterprise
We do
these things
We use
this data
SQL
Insert
Update
Delete
Select
CRUD
Operations
Create
Read
Update
Delete
User
Interface
Data Process
App.
- 3 -
Database Tables
3
- 4 -
SELECT COURSE.C_ID, COURSE.TITLE, COURSE.FEE
FROM COURSE
WHERE (((COURSE.FEE)>250 And (COURSE.FEE)<=350))
ORDER BY COURSE.FEE DESC;
SQL Select and Query Design in Access
- 5 -
Tables
Query
(View)
Form Report
Database Application
Relationships among Access Database Objects
• QUERY in Access can be SELECT, INSERT, UPDATE, or
DELETE.
• A saved SELECT query is officially called a View in SQL standard. When
you save a query, you save the definition of the query, not the query result.
• You can create a query against a table or a query.
• You can create a form or report against a table or a query.
Basic Database Objects
- 6 -
Database:
Tables, Columns, Rows,
Primary Keys, Foreign Keys
and Relationships
Potential relational database
for Coca-Cola Bottling Co.
- 7 -
Member Agreement
is enrolled under;
applies to
Club
established by;
established
Member
Order
Product Promotion
sponsors;
is sponsored by
is featured in;
features
generates;
generated by
sells;
is sold on
placed by;
places
Data Model (Entity Relationship Diagram)
- 8 -
Data Modeling Case Study
The following is description by a pharmacy owner:
"Jack Smith catches a cold and what he suspects is a flu virus.
He makes an appointment with his family doctor who confirm
his diagnosis. The doctor prescribes an antibiotic and nasal
decongestant tablets. Jack leaves the doctor's office and drives
to his local drug store. The pharmacist packages the
medication and types the labels for pill bottles. The label
includes information about customer, the doctor who
prescribe the drug, the drug (e.g., Penicillin), when to take it,
and how often, the content of the pill (250 mg), the number of
refills, expiration date, and the date of purchase."
Please develop a data model for the entities and
relationships within the context of pharmacy. Also
develop a definition for "prescription". List all
your underlying assumptions used in your data
models.
8
- 9 -
Northwind Database
9
- 10 -
A Business Form
10
- 11 -
An Informal Example of Normalization
• A CUSTOMER ORDER contains the following information:
– OrderNo
– OrderDate
– CustNo
– CustAddress
– CustType
– Tax
– Total
– one or more than one Order-Item which has
• ProductNo
• Description
• Quantity
• UnitPrice
• Subtotal.
11
- 12 -
Solution
Unnormalized table
Remove repeating group
1st NF
2nd NF
3rd NF
Remove partial FD
Remove transitive FD
(OrderNo, OrderDate, CustNo, CustAddress, CustType, Tax, TotalTotal)
(OrderNo, ProductNo, Description, Quantity, UnitPrice, SubtotalSubtotal)
(ProductNo, Description, UnitPrice)
(OrderNo, ProductNo, Quantity, UnitPrice, SubtotalSubtotal)
(OrderNo, OrderDate, CustNo, Tax, TotalTotal)
(CustNo, CustAddress, CustType)
(OrderNo, OrderDate, CustNo, CustAddress, CustType, Tax, TotalTotal,
1{ProductNo, Description, Quantity, UnitPrice,Subtotal}n)
12
- 13 -
JOIN and Aggregation Function
Show students ID, name, and GPA
SELECT STUDENT.S_NO, STUDENT.NAME,
Round(Avg(REGISTRATION.GRADE)*100)/100 AS AvgOfGRADE
FROM STUDENT INNER JOIN REGISTRATION ON STUDENT.S_NO =
REGISTRATION.S_NO
GROUP BY STUDENT.S_NO, STUDENT.NAME;
Or Format(Avg(REGISTRATION.GRADE), "###.00") AS AvgOfGRADE
- 14 -
Database(Access) vs. Spreadsheet (Excel)
Features Database Excel
Multi-user concurrent
access/update to the data
Volume of the data
Complex relationships of
various data
Calculation /formula among
various data items
Business graph capability
Applications development
tools
- 15 -
http://www.oracle.com/tools/jdeveloper/documents/jsptwp/index.html?content.html
Auction Web
Site's Data Model

Data modeling case study

  • 1.
    - 1 - DatabaseIntroduction • RRDBMS: Relational Data Base Management System • SQL: Structured Query Language • DBA: Data Base Administrator • DB Designer/Data Modeler E-commerce Website Query or Reporting Tools Database Database DBMS DBMS Payroll System Class Enrollment program
  • 2.
    - 2 - Multiple(Dual) Perspectives DATA (Information) Activity(Operation) EMPLOYEE (Resource) HIRE EMPLOYEE PAY EMPLOYEE PROMOTE EMPLOYEE FIRE EMPLOYEE ...... .... ...... .... ACME Enterprise We do these things We use this data SQL Insert Update Delete Select CRUD Operations Create Read Update Delete User Interface Data Process App.
  • 3.
  • 4.
    - 4 - SELECTCOURSE.C_ID, COURSE.TITLE, COURSE.FEE FROM COURSE WHERE (((COURSE.FEE)>250 And (COURSE.FEE)<=350)) ORDER BY COURSE.FEE DESC; SQL Select and Query Design in Access
  • 5.
    - 5 - Tables Query (View) FormReport Database Application Relationships among Access Database Objects • QUERY in Access can be SELECT, INSERT, UPDATE, or DELETE. • A saved SELECT query is officially called a View in SQL standard. When you save a query, you save the definition of the query, not the query result. • You can create a query against a table or a query. • You can create a form or report against a table or a query. Basic Database Objects
  • 6.
    - 6 - Database: Tables,Columns, Rows, Primary Keys, Foreign Keys and Relationships Potential relational database for Coca-Cola Bottling Co.
  • 7.
    - 7 - MemberAgreement is enrolled under; applies to Club established by; established Member Order Product Promotion sponsors; is sponsored by is featured in; features generates; generated by sells; is sold on placed by; places Data Model (Entity Relationship Diagram)
  • 8.
    - 8 - DataModeling Case Study The following is description by a pharmacy owner: "Jack Smith catches a cold and what he suspects is a flu virus. He makes an appointment with his family doctor who confirm his diagnosis. The doctor prescribes an antibiotic and nasal decongestant tablets. Jack leaves the doctor's office and drives to his local drug store. The pharmacist packages the medication and types the labels for pill bottles. The label includes information about customer, the doctor who prescribe the drug, the drug (e.g., Penicillin), when to take it, and how often, the content of the pill (250 mg), the number of refills, expiration date, and the date of purchase." Please develop a data model for the entities and relationships within the context of pharmacy. Also develop a definition for "prescription". List all your underlying assumptions used in your data models. 8
  • 9.
    - 9 - NorthwindDatabase 9
  • 10.
    - 10 - ABusiness Form 10
  • 11.
    - 11 - AnInformal Example of Normalization • A CUSTOMER ORDER contains the following information: – OrderNo – OrderDate – CustNo – CustAddress – CustType – Tax – Total – one or more than one Order-Item which has • ProductNo • Description • Quantity • UnitPrice • Subtotal. 11
  • 12.
    - 12 - Solution Unnormalizedtable Remove repeating group 1st NF 2nd NF 3rd NF Remove partial FD Remove transitive FD (OrderNo, OrderDate, CustNo, CustAddress, CustType, Tax, TotalTotal) (OrderNo, ProductNo, Description, Quantity, UnitPrice, SubtotalSubtotal) (ProductNo, Description, UnitPrice) (OrderNo, ProductNo, Quantity, UnitPrice, SubtotalSubtotal) (OrderNo, OrderDate, CustNo, Tax, TotalTotal) (CustNo, CustAddress, CustType) (OrderNo, OrderDate, CustNo, CustAddress, CustType, Tax, TotalTotal, 1{ProductNo, Description, Quantity, UnitPrice,Subtotal}n) 12
  • 13.
    - 13 - JOINand Aggregation Function Show students ID, name, and GPA SELECT STUDENT.S_NO, STUDENT.NAME, Round(Avg(REGISTRATION.GRADE)*100)/100 AS AvgOfGRADE FROM STUDENT INNER JOIN REGISTRATION ON STUDENT.S_NO = REGISTRATION.S_NO GROUP BY STUDENT.S_NO, STUDENT.NAME; Or Format(Avg(REGISTRATION.GRADE), "###.00") AS AvgOfGRADE
  • 14.
    - 14 - Database(Access)vs. Spreadsheet (Excel) Features Database Excel Multi-user concurrent access/update to the data Volume of the data Complex relationships of various data Calculation /formula among various data items Business graph capability Applications development tools
  • 15.