100 likes | 115 Views
Database Environment. CPSC 356 Database Ellen Walker Hiram College. Three Levels of Abstraction. External level How users perceive the data Multiple views Conceptual level Description of data and relationships Internal (Physical) level How the data is physically stored.
E N D
Database Environment CPSC 356 Database Ellen Walker Hiram College
Three Levels of Abstraction • External level • How users perceive the data • Multiple views • Conceptual level • Description of data and relationships • Internal (Physical) level • How the data is physically stored
Data Independence • Logical Data Independence • External views do not change when conceptual schema changes • Existing applications do not need to be rewritten to accommodate new ones • Physical Data Independence • Conceptual schema does not change when internal schema changes (e.g. new server)
Describing the Data • DDL (Data Definition Language) • Detailed definition of database schema (metadata) • Too low-level (and database-specific) for good modeling! • Object-based model (entity-relationship) • Record-based model (relational)
Data Manipulation Languages • Commands to access and update databases • Procedural describes how to retrieve the data • Example: relational algebra • Analogy: Fortran • Non-procedural describes what data to retrieve • Example: SQL • Analogy: Prolog
Data Models • Structural part • How the database is constructed • Manipulative part • What operations on data are allowed • Integrity constraints • Ensuring the data remains accurate
Object-Based Data Models • Entity-Relationship • Semantic • Functional • Object-Oriented
Record-Based Data Models • Relational • Network • Hierarchical
What Should a Database Provide? • Ability to store, retrieve and update data • Access to metadata (e.g. names & types) • Transaction processing (all or none) • Concurrency control • Recovery from damage • Authentication & related security
What Should a Database Provide? (cont’d) • Support for networking & communications • Integrity assurance • Independence of programs from data • Utility services • Import, export, monitoring, usage analysis, garbage collection, etc.