Upload
winfred-horton
View
266
Download
0
Tags:
Embed Size (px)
Citation preview
Database Systems-IntroductionDatabases & Database Users
Acknowledge
• The main reference of this presentation is the textbook and PPT from : Elmasri & Navathe, Fundamental of Database Systems, 4th edition, 2004.
• Additional resources: presentation prepared by Prof Steven A. Demurjian (http://www.engr.uconn.edu/%7Esteve/Cse255/cse255.html)
Outline
• What is a database?
• What is a database system?
• What is a DBMS?
• When is a database system needed?
• Motivating database management
• Characteristic of database approach
• Database users
• Advantages of using DBMS approach
• A brief history of database application
• When not to use a DBMS
What is a database?
• Example of database application:• Banks,
• Hospital,
• etc
• Extensions:• Multimedia databases
• Geographic Information Systems
• Data warehouse
• On-line analytical processing (OLAP)
• Active & real-time databases
• etc
What is a database? (cont)
Basic definition:• Database: A collection of related data.
• Data: Known facts that can be recorded and have an implicit meaning.
• Mini-world: Some part of the real world about which data is stored in a database. For example, student grades and transcripts at a university.
• Database Management System (DBMS): A software package/ system to facilitate the creation and maintenance of a computerized database.
• Database System: The DBMS software together with the data itself. Sometimes, the applications are also included.
Properties of database
• Represents some aspect of the real world, called miniworld or Universe of Discourse
• Logically coherent collection of data with some inherent meaning
• Designed, built and populated for specific purpose
What is a database system?
When is a database system When is a database system needed?needed?
ExamplesExamples
Typical EnvironmentTypical Environment• Corporate Enterprise• Data With Large Homogenous Parts (e.g., Formatted
Data)• Data Relevant Over a Long Time• Data Used by Many Simultaneous Users (Batch and On-
line Users) for Retrieval & Update
What is a DBMS?
Database Management System is a general purpose software system that facilitates the process of
• defining,
• constructing and
• manipulating
database for various applications
Main functions of DBMS
• Defining a Database:
Specifying Data Types, Structures, and Constraints
• Constructing a Database:
the Process of Storing the Data Itself on Some Storage Medium
• Manipulating a Database:
Function for Querying Specific Data in the Database and Updating the Database
Additional functions of DBMS
• Interaction with File Manager
So that Details Related to Data Storage and Access are Removed From Application Programs
• Integrity Enforcement
Guarantee Correctness, Validity, Consistency
• Security Enforcement
Prevent Data From Illegal Uses
• Concurrency Control
Control the Interference Between Concurrent Programs
• Recovery from Failure
• Query Processing and Optimization
Motivating database management
• Manual Database Management• Data are Not Stored
• Programmer Defines Both Logical Data Structure and Physical Structure (Storage)
Motivating database management
• File Processing• Data are Stored in Files with Interface Between Programs and
Files.
• Various Access Methods Exist (E.G., Sequential, Indexed, Random)
• One File Corresponds to One or Several Programs.
Problems with file systems• Data are Still Highly Redundant
• Sharing Limited and at the File Level
• Data is Unstructured• “Flat” Files
• High Maintenance Costs• Data Dependence
• Ensuring Data Consistency and Controlling Access to Data (Concurrent Access Problematic)
• Difficult to Understand by New Developers
• Difficulties in Developing New Applications
• Almost Impossible to Evolve with New Capabilities
• Risk of Inefficient Applications
Database Database vs. vs. File SystemFile System
Coordinates Both Physical and Logical Access to the Data
Data are Shared by All Programs Authorized to Have Access to It
Flexible Access to Data (i.e., Queries)
Multiple Users Accessing the Same Data at Same Time
Coordinates Only the Physical Access to the Data
Data Written by One Program May Not Be Readable by Another Program
Pre-determined Access to Data (I.E., Compiled Programs)
No Two Programs Can Concurrently Access the Same File
‘‘University’ database exampleUniversity’ database example
• Has 5 files (‘tables’): Student Course Section Grade Report Prerequisite
• See how do they relate to each other!• How do we define, construct & manipulate?
Characteristic of Database Approach
• Self-describing nature
• Insulation between program and data
• Support of multiple views of data
• Sharing of data & multiuser transaction processing
Self-describing natureSelf-describing nature
• As oppose to unstructured data
• Contains not only database itself, but also a complete definition of database structure (metadata)
• In traditional file processing, data definition is part of the application program
Insulation between programs & Insulation between programs & datadata
• Changes to the data structure does not generally require changing the program
• For example, adding a new field ‘Birthday’• The ‘data structure’ is not in the program• We call this program-data independence• DBMS provides conceptual representation• User or programmer does not need to know
how the DBMS store the data in the disk / file.
Multiple Views
• Many users, different needs
• Accessing & printing the transcript of each students
• Checking that students have taken all the prerequisite course
Sharing & MultiuserSharing & Multiuser
• DBMS provides concurrency control to ensure ‘correct’ behavior when multiple users access the same database
• Example: airline seat reservation
• It is called On-Line Transaction Processing (OLTP)
Database users• Actors on the Scene
• Database administrator Authorizing access rights
• Database designers Defines the structure of data to be stored
• End users: Casual end user Naïve/parametric user Sophisticated users Stand-alone users
• System analyst and Application programmers (software engineers)
Database usersDatabase users
• Workers behind the Scene• DBMS system designers and implementers• Tool developers• Operators and maintenance personnel
Advantages of Using a DBMSAdvantages of Using a DBMS• Controlling redundancy• Restricting unauthorized access• Provides persistent storage for data
structures• Permits inference & actions using rules• Multiple user interfaces• Represents complex relations amongst data• Enforcing integrity constraints• Provides backup & recovery
Additional Implications of Using Additional Implications of Using the Database Approachthe Database Approach
Potential for enforcing standards: this is very crucial for the success of database applications in large organizations Standards refer to data item names, display formats, screens, report structures, meta-data (description of data) etc.
Reduced application development time: incremental time to add each new application is reduced.
Additional Implications of Using Additional Implications of Using the Database Approachthe Database Approach
Flexibility to change data structures: database structure may evolve as new requirements are defined.
Availability of up-to-date information – very important for on-line transaction systems such as airline, hotel, car reservations.
Economies of scale: by consolidating data and applications across departments wasteful overlap of resources and personnel can be avoided.
Historical Development of Database Historical Development of Database TechnologyTechnology
Early Database Applications: The Hierarchical and Network Models were introduced in mid 1960’s and dominated during the seventies. A bulk of the worldwide database processing still occurs using these models.Relational Model based Systems: The model that was originally introduced in 1970 was heavily researched and experimented with in IBM and the universities. Relational DBMS Products emerged in the 1980’s.
Historical Development of Database Historical Development of Database TechnologyTechnology
Object-oriented applications: OODBMSs were introduced in late 1980’s and early 1990’s to cater to the need of complex data processing in CAD and other applications. Their use has not taken off much.Data on the Web and E-commerce Applications: Web contains data in HTML (Hypertext markup language) with links among pages. This has given rise to a new set of applications and E-commerce is using new standards like XML (eXtended Markup Language).
Extending Database CapabilitiesExtending Database CapabilitiesNew functionality is being added to DBMSs in the following areas:
Scientific Applications Image Storage and Management Audio and Video data management Data Mining Spatial data management Time Series and Historical Data
ManagementThe above gives rise to new research and development in incorporating new data types, complex data structures, new operations and storage and indexing schemes in database systems.
When not to use a DBMSWhen not to use a DBMS
Main inhibitors (costs) of using a DBMS: High initial investment and possible need for
additional hardware. Overhead for providing generality, security,
concurrency control, recovery, and integrity functions.
When a DBMS may be unnecessary: If the database and applications are simple, well
defined, and not expected to change. If there are stringent real-time requirements that
may not be met because of DBMS overhead. If access to data by multiple users is not required.
When not to use a DBMSWhen not to use a DBMS
When no DBMS may suffice: If the database system is not able to handle the
complexity of data because of modeling limitations If the database users need special operations not
supported by the DBMS.