Fundamentals of Database Systems Chapter 2 Database System Concepts and Architecture IM ISU Database 1 Data Models Definition A set of concepts to describe the structure of a database, and certain constraints that the database should obey Most data models also include a set of basic operations for specifying retrievals and updates on the database IM ISU Database 2 Data Models (cont.) Categories of data models Conceptual (high-level, semantic) data models » Provide concepts that are close to the way many users perceive data » e.g., Entity-relationship model, object data model Physical (low-level, internal) data models » Provide concepts that describe details of how data is stored in the computer IM ISU Database 3 Data Models (cont.) Implementation (record-oriented) data models » Provide concepts that fall between the above two, balancing user views with some computer storage details » e.g., relational model, hierarchical model, network model IM ISU Database 4 Data Models (cont.) History of data models Relational Model » Proposed in 1970 by E.F. Codd (IBM) » First commercial system in 1981-82 » e.g., ORACLE, SYBASE, SQL Server IM ISU Database 5 Data Models (cont.) IM ISU Database 6 Data Models (cont.) Network Model » The first one to be implemented by Honeywell in 1964-65 (IDS System) » Adopted heavily due to the support by CODASYL (CODASYL - DBTG report of 1971) » Later implemented in a large variety of systems IDMS (Cullinet - now CA), DMS 1100 (Unisys), IMAGE (H.P.), VAX -DBMS (Digital) IM ISU Database 7 Data Models (cont.) IM ISU Database 8 Data Models (cont.) Hierarchical Data Model » Implemented in a joint effort by IBM and North American Rockwell around 1965 » Resulted in the IMS family of systems » The most popular model IM ISU Database 9 Data Models (cont.) IM ISU Database 10 Data Models (cont.) Object-oriented Data Models » Several models have been proposed for implementing in a database system » One set comprises models of persistent O-O Programming Languages such as C++ (e.g., in OBJECTSTORE or VERSANT), and Smalltalk (e.g., in GEMSTONE) » Additionally, systems like O2, ORION (at MCC - then ITASCA), IRIS (at H.P.- used in Open OODB) » Object Database Standard: ODMG-93, ODMG-version 2.0, ODMG-version 3.0 IM ISU Database 11 Data Models (cont.) Object-Relational Models » Most recent trend, started with Informix Universal Server » Relational systems incorporate concepts from object databases leading to object-relational » Exemplified in the latest versions of Oracle-10i, DB2, and SQL Server and other DBMSs » Standards included in SQL-99 and expected to be enhanced in future SQL standards IM ISU Database 12 Schemas vs Instances Database Schema The description of a database Includes descriptions of the database structure and the constraints that should hold on the database Can be displayed as a diagram (called schema diagram) Database schema changes very infrequently IM ISU Database 13 Schemas vs Instances (cont.) Example schema diagram IM ISU Database 14 Schemas vs Instances (cont.) Database Instance The actual data stored in a database at a particular moment in time Also called database state (or occurrence) The database state changes every time the database is updated » e.g., insert or delete a record IM ISU Database 15 Schemas vs Instances (cont.) Example database state IM ISU Database 16 Schema Architecture Three-Schema Architecture Internal schema » Describe data storage structures and access paths at the internal level » Typically uses a physical data model Conceptual schema IM ISU » Describe the structure and constraints for the database at the conceptual level » Uses a conceptual or an implementation data model Database 17 Schema Architecture (cont.) External schemas » Describe the various user views at the external level to » Usually uses the same data model as the conceptual level Purposes » Support program-data independence » Support of multiple views of the data IM ISU Database 18 DBMS Architecture (cont.) IM ISU Database 19 Data Independence Logical Data Independence The capacity to change the conceptual schema without having to change the external schemas and their application programs Only view definition and the mapping need be change e.g., Changing the Grade_Report IM ISU Database 20 DBMS Architecture (cont.) IM ISU Database 21 Data Independence (cont.) Physical Data Independence The capacity to change the internal schema without having to change the conceptual schema e.g., providing an access path by Semester and Year should not change query “list all sections offered in fall 1998” IM ISU Database 22 DBMS Languages Data Definition Language (DDL) Used by the DBA and database designers to specify the conceptual schema In many DBMSs, DDL is also used to define conceptual and external schemas (views) In some DBMSs, » Internal: storage definition language (SDL) » External: view definition language (VDL) IM ISU Database 23 DBMS Languages (cont.) IM ISU Database 24 DBMS Languages (cont.) Data Manipulation Language (DML) Used to specify database retrievals and updates DML commands (data sublanguage) can be embedded in a general-purpose programming language, such as COBOL, PL/1, C/C++ Alternatively, stand-alone DML commands can be applied directly (query language) IM ISU Database 25 DBMS Languages (cont.) Example in SQL SELECT FROM WHERE IM ISU BDATE, ADDRESS EMPLOYEE FNAME='John' AND MINIT='B' AND LNAME='Smith' Database 26 DBMS Languages (cont.) Example of embedded SQL EXEC SQL declare c cursor for select customer-name, customer-city from depositor, customer, account where depositor.customer-name = customer.customer-name and depositor account-number = account.account-number and account.balance > :amount END-EXEC IM ISU Database 27 Database System Environment DBMS component modules Database system utilities Tools CASE tools, data dictionary Application environment e.g., PowerBuilder Communication facilities IM ISU Database 28 DBMS Component Modules IM ISU Database 29 DBMS Architectures Centralized DBMS Combines everything into single system including- DBMS software, hardware, application programs, and user interface processing software User can still connect through a remote terminal – however, all processing is done at centralized site IM ISU Database 30 DBMS Architectures (cont.) A physical centralized architecture IM ISU Database 31 DBMS Architectures (cont.) Basic Client-Server Architectures Specialized Servers with Specialized functions » Print server » File server » DBMS server » Web server » Email server Clients can access the specialized servers as needed IM ISU Database 32 DBMS Architectures (cont.) Logical client-server architecture IM ISU Database 33 DBMS Architectures (cont.) Two Tier Client-Server Architecture A client program may connect to several DBMSs, sometimes called the data sources In general, data sources can be files or other non-DBMS software that manages data Other variations of clients are possible » in some object DBMSs, more functionality is transferred to clients including data dictionary functions, optimization and recovery across multiple servers, etc. IM ISU Database 34 DBMS Architectures (cont.) Three Tier Client-Server Architecture Common for Web applications Intermediate Layer called Application Server or Web Server: » Stores the web connectivity software and the business logic part of the application used to access data from database server » Acts like a conduit for sending partially processed data between the database server and the client. Three-tier Architecture Can Enhance Security » Database server only accessible via middle tier » Clients cannot directly access database server IM ISU Database 35 DBMS Architectures (cont.) Logical three tier client-server architecture IM ISU Database 36 Classification of DBMSs Based on the data model used Traditional: Relational, Network, Hierarchical Emerging: Object-oriented, Object-relational Based on the number of users Single-user (typically used with microcomputers) multi-user (most DBMSs) IM ISU Database 37 Classification of DBMSs (cont.) Based on the number of sites Centralized (uses a single computer with one database) Distributed (uses multiple computers, multiple databases) » Homogeneous » Heterogeneous (Federated DBMS) IM ISU Database 38