Download presentation
Presentation is loading. Please wait.
Published byLeslie Blair Modified over 9 years ago
1
School of Computer & Communication of LNPU 辽宁石油化工大学计算机与通信工程学院 刘旸 1 数据库管理系统 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.