Overview of Database Systems Capability of a database: 1. The ability to manage persistent data 2. The ability to access large amounts of data efficiently 3. Support for at least one data model through which the user can view the data 4. Support for high-level languages allow the user to define the structure of data, access data, and manipulate data 5. Transaction management: support correct, concurrent access to the data by many users at once 6. Access control: Limit access to data by unauthorized users Check the validity of data 7. Resiliency: able to recover from system failures without losing data Three Levels of Abstraction in a DBMS 1. Physical Database Level: A collection of files and the indices or other storage structures used to access them efficiently is termed a physical database. 2. Conceptual(Logical) Database Level: An abstraction of the physical database as it related to the user of the database. Data Definition Language (DDL) is used to describe a conceptual database in terms of a “data model”. Data Manipulation Language (DML) or query language: is used to describe queries and operations on the conceptual database. e.g.: a relational model represented by tables network model represented by directed graphs 3. View Level: A view (subscheme) is a portion of the conceptual database or an abstraction of part of the conceptual database. Subscheme data definition language: for declaring views Subscheme data manipulation language: for describe queries and operations on views. Schemas (Schemes) and Instances The overall design of a database is called the database schema. physical schema: design for a physical database logical schema: design for a logical database subschema: design for a view Current contents of a database: an instance of the database (extension of the database or database state) 1 Data Independence 1. Physical data independence 2. Logical data independence Data Models 1. Object-based logical models Object-oriented model Entity-Relationship model 2. Record-based logical models Relational model Network model Hierarchical model 3. Physical data models 2