Download presentation
Presentation is loading. Please wait.
1
Jerry Post McGraw-Hill/Irwin Copyright © 2005 by The McGraw-Hill Companies, Inc. All rights reserved. Database Management Systems Chapter 1
2
DATABASE 2 Topics To Cover Syllabus Website :http://people.morrisville.edu/~smitht/ Discuss extra class(es) Project Proposal Discussion-Day 2 Install Visio and Project- Day 2-https://msdn07.e- academy.com.suny_cit/index.cfm?loc=login/login Power Point Slides-Day 1 & Day 2
3
DATABASE 3 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.
4
DATABASE 4 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.
5
DATABASE 5 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
6
DATABASE 6 1. Identify business rules. 2. Define tables and relationships. 3. Create input forms and reports. 4. Combine as applications for users. DBMS Application Design
7
DATABASE 7 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
8
DATABASE 8 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
9
DATABASE 9 Database Tables (Access)
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 DBMS Input Forms All Data Database Engine Data Dictionary Query Processor Form Builder Input Form Design
13
DATABASE 13 DBMS Components All Data Database Engine Data Dictionary Security Query Processor Form Builder Report Writer Communication Network 3GL Connector Program Application Generator
14
DATABASE 14 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.
15
DATABASE 15 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
16
DATABASE 16 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...
17
DATABASE 17 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
18
DATABASE 18 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
19
DATABASE 19 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.
20
DATABASE 20 Network Database Customer Order Items Ordered Items Entry point
21
DATABASE 21 Relational Database Customer(CustomerID, Name, … Order(OrderID, CustomerID, OrderDate, … ItemsOrdered(OrderID, ItemID, Quantity, … Items(ItemID, Description, Price, …
22
DATABASE 22 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
23
DATABASE 23 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
24
DATABASE 24 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
25
DATABASE 25 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.
26
DATABASE 26 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
27
DATABASE 27 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.
28
DATABASE 28 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 }
29
DATABASE 29 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.
30
DATABASE 30 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 …
31
DATABASE 31 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 +
32
DATABASE 32 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.
33
DATABASE 33 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
34
DATABASE 34 Economic Feasibility: NPV =NPV(B14,$D$7:$D$11)+$D$6 =NPV(rate, range) + starting
35
DATABASE 35 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
36
DATABASE 36 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.