Database Management Systems ISYS 464
description
Transcript of Database Management Systems ISYS 464
![Page 1: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/1.jpg)
Database Management Systems ISYS 464
Fall 2006
David Chao
![Page 2: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/2.jpg)
Introduction to Databases
• The most important component in an information system
• Created to support all levels of business operations:– Day-to-day operations
• TPS, CRM, ERP
– Decision-makings• DSS
– Strategic plans
![Page 3: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/3.jpg)
Definitions• Database: organized collection of logically related
data– A group of related files
• Data: stored representations of meaningful objects and events– Structured: numbers, text, dates– Unstructured: images, video, documents
• Information: data processed to increase knowledge in the person using the data
• Metadata: data that describes the properties and context of user data
![Page 4: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/4.jpg)
Example of Metadata
![Page 5: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/5.jpg)
Traditional File-Based Systems
• A collection of application programs that perform services for the end-users. Each program defines and manages its own data.
![Page 6: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/6.jpg)
Example
![Page 7: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/7.jpg)
Limitations of the File-Based Approach
• Duplication of data– Data inconsistency– Limited data sharing
• Program-data dependence– When file structure changed, all programs that access
the file must be modified to conform to the new file structure.
– The definition of the data is embedded in the program.• Fixed queries
– No facilities for asking unplanned, ad hoc queries
![Page 8: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/8.jpg)
Problems with Program-Data Dependency
• Each application program needs to include code for the metadata of each file
• Each application program must have its own processing routines for reading, inserting, updating, and deleting data
![Page 9: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/9.jpg)
Example: Comma-Delimited File
• It stores each data item with a comma separating each item and places double quotes around string fields.
• Student file with fields: SID, Sname, and GPA– “S5”, ”Peter”, 3.0– “S1”, “Paul”, 2.5
• Questions:– How many students?– What is average GPA?
![Page 10: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/10.jpg)
Sequentially Accessing the Student File to Compute Average GPA
Dim fileNumber, stCounter As Integer Dim SID, SNAME As String Dim gpa, sumGpa As Double fileNumber = FreeFile() FileOpen(fileNumber, "c:\stdata.txt", OpenMode.Input) Do While Not EOF(fileNumber) Input(fileNumber, SID) Input(fileNumber, SNAME) Input(fileNumber, gpa) sumGpa += gpa stCounter += 1 Loop MessageBox.Show(sumGpa / stCounter.ToString)
![Page 11: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/11.jpg)
Database Approach
• Central repository of shared data• The database holds not only the data but also
a description of the data.– System catalog (repository , data dictionary, or
metadata)• A central location where data descriptions are stored.• Data about data
– Program-data independence
![Page 12: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/12.jpg)
Advantages of the Database Approach
• Program-data independence– The separation of data descriptions from the
application programs that use the data.– Allows the data to change without changing the
application programs.• Planned data redundancy• Improved data consistency• Improved data sharing• Enforcement of standards
![Page 13: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/13.jpg)
Database Management System (DBMS)
• A software that enables users to define, create, maintain, and control access to the database.– Data Definition Language (DDL)– Data Manipulation Language (DML)– Control access:
• Security, integrity, concurrent access, recovery, support for data communication, etc.
– Utility services• File import/export, monitoring facilities, code generator, report
writer, etc.• Support Ad Hoc queries
![Page 14: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/14.jpg)
Database Management System
DBMS manages data resources like an operating system manages hardware resources
• A software system that is used to create, maintain, and provide controlled access to user databases
Order Filing System
Invoicing System
Payroll System
DBMSCentral database
Contains employee,order, inventory,
pricing, and customer data
![Page 15: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/15.jpg)
Evolution of DB Systems
![Page 16: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/16.jpg)
Database Schema ANSI-SPARC Architecture
• External Schema– User Views– Subsets of Conceptual Schema
• Conceptual Schema– This level describes what data is stored in the database and the
relationships among the data.– E-R models
• Internal schema– Logical schema
• Underlying implementation and design– Relational table design
– Physical Schema• File organizations, indexes
![Page 17: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/17.jpg)
Different people have different views of the database…these are the external schema
The internal schema is the underlying design and implementation
Figure 2-7 Three-schema architecture
![Page 18: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/18.jpg)
Data Independence
• Data independence means that upper levels are unaffected by changes to lower levels.– Logical data independence
• Changes to the conceptual level, such as the addition of new entities, attributes, or relationships, should be possible without having to change the existing external level design.
– Physical data independence• Changes to the physical level, such as using a different file
organization, indexes, should be possible without having to change the conceptual level design.
![Page 19: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/19.jpg)
Three-Level ExampleEmployee Entity
• Conceptual design: – Employee entity with attributes: EmpID, EmpName, DateOfBirth,
Salary, and Sex.• Internal level:
– Logical schema:• EmpID – 4 characters• EmpName – 30 characters• DateOfBirth – Date field 8 bytes• Salary – Number(7,2)• Sex – 1 character
– Physical schema: • Record size = 4 + 30 + 8 + 7 +1 = 50 bytes• Sequential file with index on EmpID field
• External level:• EmpAgeView: • EmpID, EmpName, Age=Year(Today()) – Year(DateOfBirth)• EmpSalaryView: EmpID, EmpName, Salary
![Page 20: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/20.jpg)
Benefits of Using Views
• Views provide a level of security.• Views provide a mechanism to customize
the appearance of the database.• Views provide a consistent, unchanging
picture of the database, even if the underlying database is changed.
![Page 21: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/21.jpg)
Database Application
• It is a program that interacts with the database at some point in its execution by issuing an appropriate request (typically an SQL statement) to the DBMS.
• Database programming
![Page 22: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/22.jpg)
The Range of Database Applications• Personal databases:
– Desktop, PDA/Smart Phone• Workgroup databases• Departmental/divisional databases• Enterprise database
– Enterprise Resource Planning (ERP)• Integrate all enterprise functions (manufacturing, finance, sales,
marketing, inventory, accounting, human resources)
– Data Warehouse• Integrated decision support system derived from various
operational databases
![Page 23: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/23.jpg)
The three components in a database application
1. Presentation – user interface• Menus, forms, reports, etc
2. Processing logic • Business rules
3. Database
![Page 24: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/24.jpg)
Categories of Database Applications
• One-Tier– Legacy online transaction processing– PC database application
• Two-Tier client/server– Client-based presentation.– Processing logic is buried either inside the user interface
on the client or within the database on the server, or both.• Three-Tier, N- tier
– Processing logic is separated from the interface and database.
![Page 25: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/25.jpg)
Client Database Server
SQL queries
Results
Database Server: A high processing power computer with advanced DBMS.
Client: A PC that runs database applications.
SQL interface.
![Page 26: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/26.jpg)
Client Functions
• Manages the user interface.• Accepts and checks syntax of user input.• Implements business rules.• Generates database requests and transmits
to server.• Passes response back to user.
![Page 27: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/27.jpg)
Database Server Functions
• Checks authorization.• Accepts and processes database requests from
clients.• Ensures integrity constraints not violated.• Performs query/update processing and transmits
response to client.• Provides concurrent database access, transaction
management, and recovery control.
![Page 28: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/28.jpg)
The Web as a Database Application Platform
• Three-tier architecture– Browser, web server, database server,
processing logic• Advantages:
– Cross-platform support– Graphical user interface
![Page 29: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/29.jpg)
Figure 2-9 Three-tiered client/server database architecture
![Page 30: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/30.jpg)
Major Database Management Activities
• Creating database• Updating database• Querying database
![Page 31: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/31.jpg)
Creating Database
• Analysis– System analysis
• Data Flow Diagram, UML
– Data modeling• ERD
• Design– Maps the data model on to a target database model.
• Implementation: Efficiently store and retrieve data– File organization and index
![Page 32: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/32.jpg)
Two Approaches to Database and IS Development
• SDLC– System Development Life Cycle– Detailed, well-planned development process– Time-consuming, but comprehensive– Long development cycle
• Prototyping– Rapid application development (RAD)– Cursory attempt at conceptual data modeling– Define database during development of initial prototype– Repeat implementation and maintenance activities with new prototype
versions
![Page 33: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/33.jpg)
Systems Development Life Cycle(see also Figures 2.4, 2.5)
Planning
Analysis
Physical Design
Implementation
Maintenance
Logical Design
![Page 34: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/34.jpg)
Prototyping Database Methodology(Figure 2.6)
![Page 35: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/35.jpg)
Updating Database
• Insertions, deletions, modifications– Insertion only, no deletion
• Concurrent processing– Read/Write
• Transaction management
![Page 36: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/36.jpg)
Querying Database
• Relational algebra• SQL• QBE
![Page 37: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/37.jpg)
New Developments in Database
• Object-Oriented database• Object-Relational database• Decision support with data warehouse• Web based database applications• XML database
![Page 38: Database Management Systems ISYS 464](https://reader035.fdocuments.net/reader035/viewer/2022062521/568156f2550346895dc497ac/html5/thumbnails/38.jpg)
Course Overview
• An introduction to the three-level database– Conceptual level:
• Data modeling, ERD, Normalization– Physical level:
• File organizations and index– External level
• Relational algebra, SQL, QBE
• Other database management technologies