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.