Define: data model
a collection of concepts that can be used to describe the structure of a database [structure of a database = the data types, relationships, and constraints that apply to the data];
most data models also include a set of basic operations for specifying retrievals and updates on the DB
Define: database schema
the description of a database; specified during design; not expected to change frequently
Define: database state
AKA snapshot; the data in the DB at a particular moment in time; AKA the current set of occurrences or instances in the DB
Define: internal schema
at the internal level; lowest level of three-schema architecture;
describes the physical storage structure of the DB;
uses a physical data model;
describes the complete details of data storage and access paths for the DB
Define: conceptual schema
at the conceptual level; middle level of three-schema architecture;
describes the structure of the whole DB for a community of users;
described by a conceptual data model;
hides the details of physical storage structures and concentrates on describing entities, data types, relationships, user operations, and constraints;
This implementation conceptual schema is often based on a conceptual schema design in a high-level data model.
Define: external schema
at the view level AKA external level
AKA user views; top level of three-schema architecture;
The external or view level includes a number of external schemas or user views.
each external schema:
Define: data independence
the capacity to change the schema at one level of a DB system without having to change the schema at the next higher level;
2 types:
Define: DDL
Data Definition Language;
Define: DML
Data Manipulation Language;
(once DB schemas are compiled and the DB is populated with data) DML is used to perform manipulations of the data in the DB, such as:
retrieval, insertion, deletion, and modification of the data
The DBMS provides a set of operations or a language called the data manipulation language (DML) for these purposes.
2 main types of DMLs:
Define: SDL
Storage Definition Language;
in DBMSs WITH clear separation btwn arch. levels is maintained: SDL is used to specify internal schema; can also be used to specify mappings btwn internal and conceptual schemas;
in relational DBMSs today, there is no specific language that performs the role of the SDL
Define: VDL
View Definition Language;
in true three-tier architecture, VDL would be used to specify user views and their mappings to the conceptual schema (but in most DBMSs the DDL is used to define both the conceptual and external schemas)
in relational DBMSs, SQL is used in the role of VDL to define user or application views as a result of predefined queries
Define: query language
a high-level DML used in a standalone interactive manner;
in general, both retrieval and update commands of a high-level DML may be used interactively and are hence considered part of the query language
Define: host language
whenever DML commands, whether at a high level or low level, are embedded in a general-purpose programming language, that language is called the host language and the DML is called the data sublanguage
Define: data sublanguage
whenever DML commands, whether at a high level or low level, are embedded in a general-purpose programming language, that language is called the host language and the DML is called the data sublanguage
Define: database utility
part of a DBMS that helps the DBA manage the DB system;
common functionalities of utilities:
* Loading utility [load existing files into the DB]
* Backup utility
* Database storage reorganization utility
* Performance monitoring utilitiy [monitors performance and usage]
* others:
** sorting files
** handling data compression
** monitoring access by users
** interfacing with the network
** performing other functions
Define: catalog
[DBMS catalog?? AKA system catalog]
[generic catalog??]
* “Three of the four important characteristics of the database approach, listed in Section 1.3, are (1) use of a catalog to store the database description (schema) so as to make it self-describing, (2) insulation of programs and data (program-data and program-operation independence), and (3), support of multiple user views.”
Define: client/server architecture
an architectural framework where a large number of computing environments are connected via a network;
Define: three-tier architecture
a three-tiered client/server architecture:
Define: n-tier architecture
divide up the layers between the user and the stored data into finer components;
n may be four or five tiers;
typically the business logic layer is divided into multiple layers;
distributes programming and data throughout a network;
another advantage; any one tier can run on an appropriate processor or OS platform and handled independently
What concepts do high-level or conceptual data models use?
concepts that are close to the way many users perceive data;
concepts such as entities, attributes, and relationships
How are they [high-level or conceptual data models] different from low-level or physical models?
low-level/physical models:
concepts provided by physical data models are generally meant for computer specialists, not for end users
What is the difference between a database schema and a database state?
Describe the three-schema architecture.
AKA ANSI/SPARC arch;
internal schema:
at the internal level; lowest level of three-schema architecture;
describes the physical storage structure of the DB;
uses a physical data model;
describes the complete details of data storage and access paths for the DB
conceptual schema:
at the conceptual level; middle level of three-schema architecture;
describes the structure of the whole DB for a community of users;
described by a conceptual data model;
hides the details of physical storage structures and concentrates on describing entities, data types, relationships, user operations, and constraints;
This implementation conceptual schema is often based on a conceptual schema design in a high-level data model.
external schemas:
at the view level AKA external level
AKA user views; top level of three-schema architecture;
The external or view level includes a number of external schemas or user views.
each external schema:
[three-schema architecture] Why do we need mappings among schema levels?
the actual data is only stored at the physical level; each user-group refers to its own external schema: