Download Data Modeling Case Study

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Expense and cost recovery system (ECRS) wikipedia , lookup

Concurrency control wikipedia , lookup

Data Protection Act, 2012 wikipedia , lookup

Operational transformation wikipedia , lookup

Microsoft Access wikipedia , lookup

Data center wikipedia , lookup

Data analysis wikipedia , lookup

PL/SQL wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Data model wikipedia , lookup

SQL wikipedia , lookup

3D optical data storage wikipedia , lookup

SAP IQ wikipedia , lookup

Information privacy law wikipedia , lookup

Versant Object Database wikipedia , lookup

Database wikipedia , lookup

Business intelligence wikipedia , lookup

Data vault modeling wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
Relationships among Access Database Objects
Database Application
Form
Report
Tables
Query
(View)
Basic Database Objects
SQL:
Structured Query Language
RDBMS: Relational Data Base
Management System
DBA: Data Base Administrator
DB designer/Data modeler
•
•
•
•
A saved SELECT query is officially called a View in SQL.
QUERY in Access can be SELECT, INSERT, UPDATE, or DELETE.
You can create a query against a table or a query.
You can create a form or report against a table or a query.
-1-
Database:
Tables, Columns, Rows,
Primary Keys, Foreign Keys
and Relationships
Potential relational database
for Coca-Cola Bottling Co.
-2-
Multiple (Dual) Perspectives
We use
this data
DATA
ACME
Enterprise
We do
these things
CRUD
SQL Operations
Insert
Update
Delete
Select
ACTIVITY
HIRE
EMPLOYEE
PAY
EMPLOYEE
Create
Update
Delete
Read
User
Interface
App.
......
......
....
....
EMPLOYEE
PROMOTE
EMPLOYEE
FIRE
EMPLOYEE
Data
Process
-3-
Data Model (Entity Relationship Diagram)
Member
Order
sells;
is sold on
Product
placed by;
places
Member
is enrolled under;
applies to
established by;
established
generates;
generated by
is featured in;
features
Agreement
Promotion
sponsors;
is sponsored by
Club
-4-
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.
-5-
5
Northwind Database
-6-
6
A Business Form
-7-
7
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.
-8-
8
Solution
Unnormalized table
(OrderNo, OrderDate, CustNo, CustAddress, CustType, Tax, Total,
1{ProductNo, Description, Quantity, UnitPrice,Subtotal}n)
Remove repeating group
1st NF
(OrderNo, ProductNo, Description, Quantity, UnitPrice, Subtotal)
Remove partial FD
2nd NF
(OrderNo, OrderDate, CustNo, CustAddress, CustType, Tax, Total)
Remove transitive FD
(OrderNo, ProductNo, Quantity, UnitPrice, Subtotal)
(ProductNo, Description, UnitPrice)
3rd NF
(OrderNo, OrderDate, CustNo, Tax, Total)
(CustNo, CustAddress, CustType)
-9-
9
SQL Select and Query Design in Access
SELECT COURSE.C_ID, COURSE.TITLE, COURSE.FEE
FROM COURSE
WHERE (((COURSE.FEE)>250 And (COURSE.FEE)<=350))
ORDER BY COURSE.FEE DESC;
- 10 -
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
- 11 -
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
- 12 -
http://www.oracle.com/tools/jdeveloper/documents/jsptwp/index.html?content.html
Auction Web
Site's Data Model
- 13 -