Concepts and Architecture Flashcards
Client module
Runs on mobile device, PC or workstation
Handles user interaction
Server module
Handles data storage, access, search, etc.
Data abstraction
Suppression of details of organization and storage
Data model
Collection of concepts that describe the structure of the database
Representational data models
Hybrid of high level and low level models detailing how a database works
Entity
real world object or concept described in the database
Attribute
Property of interest that describes an entity
Relationship
Association of entities
Access path
search structure that makes searching efficient
Index
access path that allows direct access to the data
Database schema
description of a database specified during database design
Schema diagram
displayed database schema
Schema construct
Individual object in the schema
Database state or snapshot
Data in database at a particular moment in time
Current set of instances
Data in database at a particular moment in time
Database states
Empty state - no data
Initial state - first populated with data
Valid state - state that satisfies the structure and constraints of the schema
Current state - what data the database currently has
Meta-data
Description of schema constructs and constraints
Intension
Database schema
Extension
Database state
Schema evolution
Changes to the schema
Three Schema Architecture
Internal level - has internal schema (describes the physical storage structure of the database)
Conceptual level - conceptual schema (describes the structure of the database for a community of users)
External level - external schemes or user views (describes part of the database that a particular group is interested in)
Mappings
Transforming requests into results
Data independence
Capacity to change the schema at one level of a database without changing it anywhere else
Logical data independence
Changing conceptual schema without changing external schemes or applications
Physical data independence
Capacity to change the internal schema without having to change the conceptual schema
Data Definition Language (DDL)
If no strict separation of levels exists, the language used to define conceptual and external schema
Storage Definition Language (SDL)
Specifies internal schema
[Not used in today’s DBMS]
View Definition Language (VDL)
Defines user or application views
Data Manipulation Language (DML)
Language or set of operations to manipulate data in the database
High Level DML (Non-procedural)
Specifies complex database operations precisely
Input by users usually. Set-oriented, declarative. Can retrieve many records.
Low Level DML (Procedural)
Must be embedded in a general purpose programming language.
Retrieves records one at a time.
If a DML is embedded in another language, it is
the data sublanguage
If a language has DML embedded in it, it is
the host language
Database System Utilities
Loading
Backup
Database Storage Reorganization
Performance Monitoring
Data Dictionary System
Data Repository System, Information Repository
Stores catalog info, design decisions, usage standards, application descriptions, user information
Open Database Connectivity (ODBC)
Provides API to let the client call on the server
Big Data System examples
Key-value storage systems, NOSQL systems
Relational Data Model examples
SQL Systems
What data model is XML?
tree-structured data model
How to classify DBMSes
- Data model
- Number of users
- Number of distributed sites
- Cost
- Types of access paths
Federated DBMS
Multidatabase systems, which are loosely coupled and have a degree of local autonomy
Relational Data Model
Data is stored in a collection of tables
Object Data Model
Defined by objects, their properties and operations
Column-based Data Model
Data stored in columns of rows
Document Data Model
Based on JSON, stores data as documents
Network Model
Data as record types and set types
Set Types
Limited type of 1:N relationships
Hierarchical Model
Data as hierarchical tree structures