- 1 - database introduction rrdbms: relational data base management system sql: structured query...

15
- 1 - Database Introduction R R DBMS : Relational Data Base Management System • SQL : Structured Query Language • DBA : Data Base Administrator DB Designer/Data Modeler E-commerce Website Query or Reporting Tools Databas e Databa se DBMS DBMS Payroll System Class Enrollment program

Post on 20-Dec-2015

255 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 1 -

Database Introduction

• RRDBMS: Relational Data Base Management System

• SQL: Structured Query Language

• DBA: Data Base Administrator• DB Designer/Data Modeler

E-commerceWebsite

Query or Reporting

Tools

Database

Database

DBMS DBMSPayrollSystem

ClassEnrollment

program

Page 2: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 2 -

Multiple (Dual) Perspectives

DATA (Information) Activity(Operation)

EMPLOYEE(Resource)

HIREEMPLOYEE

PAYEMPLOYEE

PROMOTEEMPLOYEE

FIREEMPLOYEE

......

....

......

....

ACMEEnterprise

We do these things

We usethis data

SQL

InsertUpdateDelete Select

CRUD OperationsCreateReadUpdateDelete

UserInterface

Data Process

App.

Page 3: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 3 -

Database Tables

3

Page 4: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 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

Page 5: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 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

Page 6: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 6 -

Database:Tables, Columns, Rows, Primary Keys, Foreign Keysand Relationships

Potential relational database for Coca-Cola Bottling Co.

Page 7: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 7 -

Member Agreementis enrolled under;

applies to

Club

established by; established

Member Order

Product Promotionsponsors;

is sponsored byis featured in;

features

generates; generated by

sells; is sold on

placed by; places

Data Model (Entity Relationship Diagram)

Page 8: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 8 -

Data Modeling Case StudyThe 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

Page 9: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 9 -

Northwind Database

9

Page 10: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 10 -

A Business Form

10

Page 11: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 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

Page 12: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 12 -

SolutionUnnormalized 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

Page 13: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 13 -

JOIN and Aggregation Function Show students ID, name, and GPA SELECT STUDENT.S_NO, STUDENT.NAME,

Round(Avg(REGISTRATION.GRADE)*100)/100 AS AvgOfGRADEFROM STUDENT INNER JOIN REGISTRATION ON STUDENT.S_NO =

REGISTRATION.S_NOGROUP BY STUDENT.S_NO, STUDENT.NAME;

Or Format(Avg(REGISTRATION.GRADE), "###.00") AS AvgOfGRADE

Page 14: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 14 -

Database(Access) vs. Spreadsheet (Excel)Features Database Excel

Multi-user concurrent access/update to the data

Volume of the dataComplex relationships of various dataCalculation /formula among various data itemsBusiness graph capabilityApplications development tools

Page 15: - 1 - Database Introduction RRDBMS: Relational Data Base Management System SQL: Structured Query Language DBA: Data Base Administrator DB Designer/Data

- 15 -

http://www.oracle.com/tools/jdeveloper/documents/jsptwp/index.html?content.html

Auction Web Site's Data Model