Presentation is loading. Please wait.

Presentation is loading. Please wait.

Jerry Post McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. Database Management Systems Chapter 1 Introduction.

Similar presentations


Presentation on theme: "Jerry Post McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. Database Management Systems Chapter 1 Introduction."— Presentation transcript:

1 Jerry Post McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. Database Management Systems Chapter 1 Introduction

2 DATABASE 2 Goal: Build a Business Application Tools: Database Design SQL (queries) Programming Design SQL Program Design SQL Program Best: Spend your time on design and SQL. Worst: Compensate for poor design and limited SQL with programming.

3 DATABASE 3 DBMS: Database Management System  Database  A collection of data stored in a standardized format, designed to be shared by multiple users.  Database Management System  Software that defines a database, stores the data, supports a query language, produces reports, and creates data entry screens.

4 DATABASE 4 Application Development Feasibility Identify scope, costs, and schedule Implementation Transfer data, install, train, review Development Create forms, reports, and help; test Design Define tables, relationships, forms, reports Analysis Gather information from users tasks time

5 DATABASE 5 1. Identify business rules. 2. Define tables and relationships. 3. Create input forms and reports. 4. Combine as applications for users. DBMS Application Design

6 DATABASE 6 DBMS Features/Components  Database engine  Storage  Retrieval  Update  Query Processor  Data dictionary  Utilities  Security  Report writer  Forms generator (input screens)  Application generator  Communications  3GL Interface

7 DATABASE 7 DBMS Engine, Security, Utilities Data Tables Database Engine Product ItemIDDescription 887Dog food 946Cat food Order OrderIDODate 98743-3-97 98883-9-97 Customer CustomerID Name 1195Jones 2355Rojas Product ItemIDInteger, Unique DescriptionText, 100 char Customer CustomerIDInteger, Unique NameText, 50 char Security User Identification Access Rights Utilities Concurrency and Lock Manager Backup and Recovery Administration Data Dictionary

8 DATABASE 8 Database Tables (Access)

9 DATABASE 9 Database Tables (Oracle)

10 DATABASE 10 FieldCategoryAnimalID TableAnimal TotalsGroup ByCount SortDescending Criteria Or AnimalID Name Category Breed Animal DBMS Query Processor All Data Database Engine Data Dictionary Query Processor CategoryCountOfAnimalID Dog100 Cat47 Bird15 Fish14 Reptile6 Mammal6 Spider3

11 DATABASE 11 DBMS Report Writer All Data Database Engine Data Dictionary Query Processor Report Writer Report Format and Query

12 DATABASE 12 Report Writer (Oracle)

13 DATABASE 13 DBMS Input Forms All Data Database Engine Data Dictionary Query Processor Form Builder Input Form Design

14 DATABASE 14 DBMS Components All Data Database Engine Data Dictionary Security Query Processor Form Builder Report Writer Communication Network 3GL Connector Program Application Generator

15 DATABASE 15 Advantages of Database Approach  Minimal data redundancy.  Data consistency.  Integration of data.  Sharing of data.  Enforcement of standards.  Ease of application development.  Uniform security, privacy and integrity.  Data independence.

16 DATABASE 16 Database Management Approach  Data is most important  Data defined first  Standard format  Access through DBMS  Queries, Reports, Forms  Application Programs  3GL Interface  Data independence  Change data definition without changing code  Alter code without changing data  Move/split data without changing code All Data DBMS Program1Program2 Queries Reports

17 DATABASE 17 Modifying Data with DBMS  Add cell number to employee table  Open table definition  Add data element  If desired, modify reports Use report writer No programming  Existing reports, queries, code will all run as before with no changes. Field NameData TypeDescription EmployeeIDNumberAutonumber.. TaxpayerIDTextFederal ID LastNameText FirstNameText... PhoneText... CellPhoneTextCellular...

18 DATABASE 18 Drawbacks of old File methods  Uncontrolled Duplication  Wastes space  Hard to update all files  Inconsistent data  Inflexibility  Hard to change data  Hard to change programs  Limited data sharing  Poor enforcement of standards  Poor programmer productivity  Excessive program maintenance

19 DATABASE 19 File Method Problems  Files defined in program  Cannot read file without definition  Hard to find definition  Every time you alter file, you must rewrite code  Change in a program/file will crash other code  Cannot tell which programs use each file  Multiuser problems  Concurrency  Security Access Backup & Restore  Efficiency Indexes Programmer talent  System  Application

20 DATABASE 20 Old File Method/3GL Data Definition File 1 … File 2 … Data Definition File A File 2 File C … Pay History Benefits Employee Choices FilesPrograms Payroll Benefits

21 DATABASE 21 Example of File Method v DBMS File Division 01 Employees 02 ID 02 Name 02 Address 01 Department 02 ID 02... COBOL 112 Davy Jones 999 Elm Street... 113 Peter Smith 101 Oak St... Employee File More programs File Division 01 Employees...  Add to file (e.g.Cell phone)  Write code to copy employee file and add empty cell phone slot.  Find all programs that use employee file. Modify file definitions. Modify reports (as needed) Recompile, fix new bugs.  Easier: Keep two employee files? 02 Cell Phone

22 DATABASE 22 Examples of Commercial Systems  Oracle  Informix (Unix)  DB2, SQL/DS (IBM)  Access (Microsoft)  SQL Server (Microsoft +)  Many older (Focus, IMS,...)  mySQL  ProgresSQL

23 DATABASE 23 Hierarchical Database Customers Orders ItemDescriptionQuantity 998Dog Food12 764Cat Food11 Items Customer Order Items Ordered To retrieve data, you must start at the top (customer). When you retrieve a customer, you retrieve all nested data.

24 DATABASE 24 Network Database Customer Order Items Ordered Items Entry point

25 DATABASE 25 Relational Database Customer(CustomerID, Name, … Order(OrderID, CustomerID, OrderDate, … ItemsOrdered(OrderID, ItemID, Quantity, … Items(ItemID, Description, Price, …

26 DATABASE 26 Object-Oriented DBMS Customer CustomerID Name … Add Customer Drop Customer Change Address Order OrderID CustomerID … NewOrder DeleteOrder … OrderItem OrderID ItemID … OrderItem DropOrderItem … Item ItemID Description … New Item Sell Item Buy Item … Government Customer ContactName ContactPhone Discount, … NewContact Commercial Customer ContactName ContactPhone … NewContact

27 DATABASE 27 Base Data Types  Numbers  Integers  Reals  Text  Length  International  Date/Time  Images  Bitmap  Vector  Sound  Samples  MIDI  Video Numbers, Text, and Dates Images Sound Video InputProcessOutput 12 + 8 = 20 000001100 000001000 ---------------- 000010100 20 0010000000000000000 0100000000000001001 0110000011000011011 0111111111111001111 1111111111111011111 1111111111100011111 8 9 20 7 8 19 5 6 15 000001000 000001001 000010100..... pitch, volume time 00101010111 11010101010 01010101010 11110100011 00101011011 00101010111 11010101010 01010101010 11110100011 00101011011 00101010111 11010101010 01010101010 11110100011 00101011011 00101010111 11010101010 01010101010 11110100011 00101011011 00101010111 11010101010 01010101010 11110100011 00101011011

28 DATABASE 28 Objects  Object Definition-- encapsulation.  Object Name  Properties  Methods  Most existing DBMS do not handle inheritance.  Combine into one table.  Use multiple tables and link by primary key. More efficient. Need to add rows to many tables. Customer CustomerID Address Phone AddCustomer DropCustomer Class name Properties Methods Commercial Contact VolumeDiscount ComputeDiscount Government Contact BalanceDue BillLateFees AddCustomer Inheritance Polymorphism

29 DATABASE 29 Objects in a Relational Database CustomerID Address Phone Customer CustomerID Contact VolumeDiscount CommercialCustomer CustomerID Contact BalanceDue GovernmentCustomer  Separate inherited classes.  Link by primary key.  Adding a new customer requires new rows in each table.  Definitely need cascade delete.

30 DATABASE 30 OO Difficulties: Methods Database Object Customer Method: Add New Customer Application Customer Name Address Phone Personal Computer Unix Server IBM Server Program code Database Object How can a method run on different computers? Different processors use different code. Possibility: Java

31 DATABASE 31 SQL 99: OO Features  Abstract data type  User defined data types.  Equality and ordering functions.  Encapsulation: Public, Private, Protected.  Inheritance.  Sub-tables that inherit all columns from another table.  Persistent Stored Modules (Programming Language).  Create methods.  SQL and extensions.  External language.  User defined operators.  Triggers for events.  External language support  Call-Level Interface (CLI) Direct access to DBMS  Embedded SQL SQL commands in an external language.

32 DATABASE 32 Abstract Data Types GeoPoint Latitude Longitude Altitude GeoLine NumberOfPoints ListOfGeoPoints Procedure: DrawRegion { Find region components. SQL: Select … For each component { Fetch MapLine Set line attributes MapLine.Draw }

33 DATABASE 33 SQL 99 Sub-Tables CREATE SET TABLE CommercialCustomer ( ContactVARCHAR, VolumeDiscountNUMERIC(5,2) ) UNDER Customer; CREATE SET TABLE Customer ( CustomerIDINTEGER, AddressVARCHAR, PhoneCHAR(15) ) CustomerID Address Phone Customer Contact VolumeDiscount CommercialCustomer Inherits columns from Customer.

34 DATABASE 34 SQL 99: Programming Database Data TypesTables, … Persistent Stored Modules SQL Extended SQL code External language code External Programs Embedded SQL Call-Level Interface CURSOR … SELECT … FETCH …

35 DATABASE 35 OODBMS Vendors GemStone Systems, Inc. Hewlett-Packard, Inc. (OpenODB) IBEX Corporation, SA. Illustra (Informix, Inc.) Matisse Software, Inc. O2 Technology, Inc. Objectivity, Inc. Object Design, Inc. ONTOS, Inc. POET Software Corporation UniSQL Unisys Corporation (OSMOS) Versant Object Technology

36 DATABASE 36 Why don’t all developers use a DBMS?  Most new projects (in last 5 years) do use a DBMS  Need specialized personnel  Programmers  Designers/Analysts  Database administrators  Need to define data for organization  Cost  PC:$400 - $2000  Large:$100,000 +

37 DATABASE 37 How do you sell a DBMS approach?  Applications change a lot, but same data.  Need for ad hoc questions and queries.  Need to reduce development times.  Need shared data.  Improve quality of data.  Enable users to do more development.

38 DATABASE 38 Building the Right System: Feasibility  Costs  Up-front/one-time Software ($ millions !) Hardware Communications Data conversion Studies and Design Training  On-going costs Personnel Software upgrades Supplies Support Software & Hardware maintenance  Benefits  Cost Savings Software maintenance Fewer errors Less data maintenance Less user training  Increased Value Better access to data Better decisions Better communication More timely reports Faster reaction to change New products & services  Strategic Advantages Lock out competitors Easy to estimateHard to value

39 DATABASE 39 Economic Feasibility: NPV =NPV(B14,$D$7:$D$11)+$D$6 =NPV(rate, range) + starting

40 DATABASE 40 Exercise: Build a First Database Employee(EmployeeID, LastName, FirstName, Address, DateHired) 332AntAdam354 Elm5/5/1964 442BonoSonny765 Pine8/8/1972 553CassMama886 Oak2/2/1985 673DonovanMichael421 Willow3/3/1971 773MoonKeith554 Cherry4/4/1972 847MorrisonJim676 Sandalwood5/5/1968 Client(ClientID, LastName, FirstName, Balance, EmployeeID) 1101JonesJoe113.42442 2203SmithMary993.55673 2256BrownLaura225.44332 4456DieterJackie664.90442 5543WodkoskiJohn984.00847 6673SanchezPaula194.87773 7353ChenCharles487.34332 7775HagenFritz595.55673 8890HauerMarianne627.39773 9662NguyenSuzie433.88553 9983MartinMark983.31847

41 DATABASE 41 Exercise: Report Ant, Adam5/5/1964 Brown, Laura225.24 Chen, Charles487.34 712.58 Bono, Sonny8/8/1972 Dieter, Jackie664.90 Jones, Joe114.32 779.22

42 Database Management Systems McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. End of Chapter 1


Download ppt "Jerry Post McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. Database Management Systems Chapter 1 Introduction."

Similar presentations


Ads by Google