Database System Concepts and Architecture
Database System Concepts and Architecture
• A Data model
○ A collection of concepts that can be used to describe the structure of a database (data
types, relationships, and constraints that apply to the data).
○ Provides the necessary means to achieve data abstraction.
○ Internal level has an internal schema, which describes the physical storage structure of the
database.
▪ The internal schema uses a physical data model and describes the complete details of
data storage and access paths for the database.
○ Conceptual level has a conceptual schema, which describes the structure of the whole
database for a community of users.
▪ The conceptual schema hides the details of physical storage structures and
concentrates on describing entities, data types, relationships, user operations, and
constraints.
▪ A representational data model is used to describe the conceptual schema when a
database system is implemented.
▪ This implementation conceptual schema is often based on a conceptual schema
design in a high-level data model.
○ The external or view level includes a number of external schemas or user views.
▪ Each external schema describes the part of the database that a particular user group is
interested in and hides the rest of the database from that user group.
▪ Each external schema is typically implemented using a representational data model.
○ The DBMS must transform a request specified on an external schema into a request against
the conceptual schema, and then into a request on the internal schema for processing over
the stored database.
▪ If the request is a database retrieval, the data extracted from the stored database
must be reformatted to match the user’s external view.
▪ The processes of transforming requests and results between levels are called
mappings.
• DBMS Languages
○ Data Definition Language (DDL): define conceptual and internal schema
○ Storage Definition Language (SDL): specify the internal schema
○ View Definition Language (VDL): specify user views and their mappings to the conceptual
schema
○ Data Manipulation Language (DML): DB modification
▪ Which data to retrieve rather than how to retrieve it --> Declarative
▪ Low-level DMLs are also called record-at-a-time
▪ High-level DMLs are called set-at-a-time
▪ DML commands embedded in a general-purpose programming language, that
language is called the host language and the DML is called the data sublanguage.
▪ Casual end users typically use a high-level query language to specify their requests,
whereas programmers use the DML in its embedded form
○ SQL = DDL+VDL+DML
• DBMS Interfaces
○ Menu-Based Interfaces for Web Clients or Browsing.
▪ These interfaces present the user with lists of options (called menus) that lead the
user through the formulation of a request.
○ Forms-Based Interfaces.
▪ Users can fill out all of the form entries to insert new data, or they can fill out only
certain entries, in which case the DBMS will retrieve matching data for the remaining
entries.
▪ Forms are usually designed and programmed for naive users.
○ Graphical User Interfaces.
▪ GUIs utilize both menus and forms.
▪ Most GUIs use a pointing device, such as a mouse, to select certain parts of the
displayed schema diagram.
○ Natural Language Interfaces.
▪ These interfaces accept requests written in English or some other language and
attempt to understand them.
▪ Ex. Search engine, web pages
○ Speech Input and Output.
▪ Limited use of speech as an input query and speech as an answer to a question or
result of a request is becoming commonplace.
▪ Ex. inquiries for telephone directory, flight arrival/departure, and credit card account
information
○ Interfaces for Parametric Users.
▪ Parametric users, such as bank tellers, often have a small set of operations that they
must perform repeatedly.
▪ Ex. a teller is able to use single function keys to invoke routine and repetitive
transactions such as account deposits or withdrawals, or balance inquiries.
○ Interfaces for the DBA.
▪ Privileged commands that can be used only by the DBA staff.
▪ Ex. commands for creating accounts, setting system parameters, granting account
authorization, changing a schema, and reorganizing the storage structures of a
database.
○ Physical two-tier
○ This intermediate layer or middle tier is called the application server or the Web server,
depending on the application.
○ This server runs application programs and store business rules (procedures or constraints)
that are used to access data from the database server.
○ Improve database security by checking a client’s credentials before forwarding a request to
the database server.
○ The presentation layer displays information to the user and allows data entry.
○ The business logic layer handles intermediate rules and constraints before data is passed up
to the user or down to the DBMS.
The bottom layer includes all data management services.