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.

 

Schema Diagram: A diagrammatic display of (some aspects of) a database schema.

 

Database Instance: The actual data stored in a database at a particular moment in time . Also called database state (or occurrence).

 

The database schema changes very infrequently . The database state changes every time the database is updated . Schema is also called intension, whereas state is called extension.


 

8. Three-Schema Architecture

 

Proposed to support DBMS characteristics of:

-   Program-data independence.

-   Support of multiple views of the data.

 

Defines DBMS schemas at three levels :

-   Internal schema at the internal level to describe data storage structures and access paths. Typically uses a physical  data model.

 

-   Conceptual schema at the conceptual level to describe the structure and constraints for the whole  database. Uses a conceptual  or an implementation  data model.

 

-   External schemas at the external level to describe the various user views. Usually uses the same data model as the conceptual level.

 

Mappings among schema levels are also needed. Programs refer to an external schema, and are mapped by the DBMS to the internal schema for execution.

 


9 Data Independence

 

Logical Data Independence: The capacity to change the conceptual schema without having to change the external schemas and their application programs.

 

Physical Data Independence: The capacity to change the internal schema without having to change the conceptual schema.

 

When a schema at a lower level is changed, only the mappings between this schema and higher-level schemas need to be changed in a DBMS that fully supports data independence. The higher-level schemas themselves are unchanged.  Hence, the application programs need not be changed since the refer to the external schemas.


 

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.

 

Data Manipulation Language (DML): Used to specify database retrievals and updates.

-  DML commands (data sublanguage) can be embedded  in a general-purpose programming language (host language), such as COBOL, PL/1 or PASCAL.

-  Alternatively, stand-alone  DML commands can be applied directly (query language).


 

11. DBMS Interfaces

 

-   Stand-alone query language interfaces.

-   Programmer interfaces for embedding DML in programming languages:

    - Pre-compiler Approach

    - Procedure (Subroutine) Call Approach

-   User-friendly interfaces:

    - Menu-based

    - Graphics-based (Point and Click, Drag and Drop etc.)

    - Forms-based

    - Natural language

    - Combinations of the above

    - Speech as Input (?) and Output

    - Web Browser as an interface

-   Parametric interfaces using function keys.

-   Report generation languages.

-   Interfaces for the DBA:

    - Creating accounts, granting authorizations

    - Setting system parameters

                           - Changing schemas or access path


 

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.

 

Data dictionary / repository:

-   Used to store schema descriptions and other information such as design decisions, application program descriptions, user information, usage standards, etc.

-   Active  data dictionary is accessed by DBMS software and users/DBA.

-   Passive  data dictionary is accessed by users/DBA only.


 

 14. Classification of DBMSs

 

Based on the data model used:

-   Traditional: Relational, Network, Hierarchical.

-   Emerging: Object-oriented, Object-relational.

 

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)

 

Distributed Database Systems have now come to be known as client server based database systems because they do not support a totally distributed environment, but rather a set of database servers supporting a set of clients.