100 likes | 116 Views
This informative article explores the three levels of abstraction in databases - external, conceptual, and internal. It delves into data independence, data manipulation languages, data models, and the essential features a robust database should provide. From logical and physical data independence to entity-relationship models and relational data structures, this piece covers key concepts in database management. Learn about the importance of integrity constraints, manipulative operations, and ensuring data accuracy. Discover why databases need to support networking, transaction processing, concurrency control, recovery from damage, and more. Delve into the world of database management with this comprehensive guide.
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.