Databases and Database Management Systems: (Based On Chapters 1-2)
Databases and Database Management Systems: (Based On Chapters 1-2)
Systems
(Based on Chapters 1-2)
1
• DBMS concepts and architecture
• ER model
• Relational Databases
• Relational Algebra
• Query Languages (SQL)
• Storage and Indexing (optional)
• Database Design : Normalization and Functional
Dependencies
• Transaction Processing
• Concurrency Control and Recovery
• Emerging Trends in Database Technology – Web
Data management, XML, Web mining,
2
Text
• Required: Elmasri, R. and Navathe S.,
Fundamentals of Database Systems, 3rd Edition,
Addison-Wesley, 2000. ISBN – 0-8053-1755-1
•
• ORACLE Reference: ORACLE 8: The Complete
Reference, by George Koch & Kevin Loney,
Osborne McGraw-Hill, Inc., 1998.
3
1. Basic Definitions
Database: A collection of related data.
4
Database Management System (DBMS): A software
package/ system to facilitate the creation and
maintenance of a computerized database.
It
• defines (data types, structures, constraints)
• construct (storing data on some storage medium
controlled by DBMS)
• manipulate (querying, update, report generation)
databases for various applications.
7
Figure 1.2: An example of a database that stores student records
and their grades.
8
File Processing and DBMS
File Systems :
– Store data over long periods of time
– Store large amount of data
However :
– No guarantee that data is not lost if not backed up
– No support to query languages
– No efficient access to data items unless the location is known
– Application depends on the data definitions (structures)
– Change to data definition will affect the application programs
– Single view of the data
– Separate files for each application
– Limited control to multiple accesses
- Data viewed as physically stored 9
3. Main Characteristics of Database Technology
- Self-contained nature of a database system: A DBMS catalog
stores the description (structure, type, storage format of each
entities) of the database. The description is called meta-data). This
allows the DBMS software to work with different databases.
- 10
• Support of multiple views of the data: Each user
may see a different view of the database, which
describes only the data of interest to that user.
11
Figure 1.3: Internal storage format for a STUDENT
RECORD
12
Figure 1.4:Two views derived from the example database
shown in Figure 1.2 (a) The student transcript view. (b)
The course prerequisite view.
13
DBA – Database Administrator
- Responsible for authorizing access to the database,
coordinating, monitoring its use, acquiring hardware,
software needed.
Database designers
- Responsible for identifying the data to be stored, storage
structure to represent and store data. This is done by a team
of professionals in consultation with users, and
applications needed.
14
4. Additional Benefits of Database Technology
- Controlling redundancy in data storage and in development and
maintenance efforts.
- Sharing of data among multiple users.
- Restricting unauthorized access to data.
- Providing multiple interfaces to different classes of users.
- Representing complex relationships among data.
- Enforcing integrity constraints on the database.
- Providing backup and recovery services.
- Potential for enforcing standards.
- Flexibility to change data structures.
- Reduced application development time.
- Availability of up-to-date information.
• Economies of scale. 15
Figure 1.5: The redundant storage of Data items. (a) Controlled
Redundancy: Including StudentName and CourseNumber in the
grade_report file. (b) Uncontrolled redundancy: A
GRADE_REPORT record that is inconsistent with the
STUDENT records in Figure 1.2, because the Name of student
number 17 is Smith, not Brown.
16
5 When 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, recovery, integrity,
and concurrency control.
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 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.
17
6. Data Models
18
Categories of data models:
- Conceptual (high-level, semantic) data models: Provide
concepts that are close to the way many users perceive
data. (Also called entity-based or object-based data
models.)
19
6A. HISTORY OF DATA MODELS
• Relational Model: proposed in 1970 by E.F. Codd (IBM), first
commercial system in 1981-82. Now in several commercial
products (ORACLE, SYBASE, INFORMIX, INGRES).
• Network Model: the first one to be implemented by Honeywell in
1964-65 (IDS System).
Adopted heavily due to the support by CODASYL (CODASYL -
DBTG report of 1971).
Later implemented in a large variety of systems - IDMS (Cullinet -
now CA), DMS 1100 (Unisys), IMAGE (H.P.), VAX -DBMS
(Digital).
• Hierarchical Data Model : implemented in a joint effort by IBM and
North American
Rockwell around 1965. Resulted in the IMS family of systems. The
most popular model.
Other system based on this model: System 2k (SAS inc.) 20
•
Object-oriented Data Model(s) : several models have been
proposed for implementing in a database system. One set
comprises models of persistent O-O Programming
Languages such as C++ (e.g., in OBJECTSTORE or
VERSANT), and Smalltalk (e.g., in GEMSTONE).
Additionally, systems like O2, ORION (at MCC - then
ITASCA), IRIS (at H.P.- used in Open OODB).
21
Figure 2.1: Schema diagram for the database of Figure 1.2
22
7. Schemas versus Instances
Database Schema: The description of a database. Includes
descriptions of the database structure and the constraints that
should hold on the database.
24
External schemas at the external level to describe the various
user views. Usually uses the same data model as the
conceptual level.
25
Figure 2.2: Illustrating the three-schema architecture
26
9 Data Independence
Logical Data Independence: The capacity to change the conceptual
schema without having to change the external schemas and their
application programs.
Hence, the application programs need not be changed since they refer
to the external schemas.
27
10. DBMS Languages
Data Definition Language (DDL): Used by the DBA and database
designers to specify the conceptual schema of a database.
In many DBMSs, the DDL is also used to define internal and external
schemas (views). In some DBMSs, separate storage definition
language (SDL) and view definition language (VDL) are used to
define internal and external schemas.
31
Figure 2.3: Typical component modules of a DBMS. Dotted lines
show accesses that are under the control of the stored data manager.
32
13. Database System Utilities
To perform certain functions such as:
- Loading data stored in files into a database.
- Backing up the database periodically on tape.
- Reorganizing database file structures.
- Report generation utilities.
- Performance monitoring utilities.
- Other functions, such as sorting , user monitoring , data
compression , etc.
Other classifications:
- Single-user (typically used with micro- computers) vs.
multi-user (most DBMSs).
- Centralized (uses a single computer with one database) vs.
distributed (uses multiple computers, multiple databases)