Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Oracle Database wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Concurrency control wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
ContactPoint wikipedia , lookup
Relational model wikipedia , lookup
Database Systems Chapter 2 Database System Concepts and Architecture 主講人:陳建源 研究室 :法401 Email: [email protected] 日期:99/9/14 Outline 1. Data Models 2. Schemas vs Instances 3. Schema Architecture and Data Independence 4. Database Languages and Interfaces 5. The Database System Environment 6. DBMS Architectures 7. Classification of Database Management Systems 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 1. Data Models 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 1. Data Models Representational data models Easily understood by end users Also similar to how data organized in computer storage 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 1. Data Models Entity Represents a real-world object or concept Attribute Represents some property of interest Further describes an entity Relationship among two or more entities Represents an association among the entities Entity-Relationship model 1. Data Models 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 1. Data Models 1. Data Models Network Model The first one to be implemented by Honeywell in 196465 (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) 1. Data Models 1. Data Models 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 1. Data Models 1. Data Models 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 1. Data Models 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 2. 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 2. Schemas vs Instances Example schema diagram 2. Schemas vs Instances 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 2. Schemas vs Instances Define a new database Specify database schema to the DBMS Initial state Populated or loaded with the initial data Valid state Satisfies the structure and constraints specified in the schema Schema evolution Changes applied to schema as application requirements change 2. Schemas vs Instances Example database state 3. Schema Architecture and Data Independence Three-Schema Architecture Internal schema Describe data storage structures and access paths at the internal level Typically uses a physical data model Conceptual schema Describe the structure and constraints for the database at the conceptual level Uses a conceptual or an implementation data model 3. Schema Architecture and Data Independence External schemas Describe the various user views at the external level Usually uses the same data model as the conceptual level Purposes Support program-data independence Support of multiple views of the data 3. Schema Architecture and Data Independence 3. Schema Architecture and 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 3. Schema Architecture and Data Independence 3. Schema Architecture and Data Independence 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” 4. Database Languages and Interfaces 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) 4. Database Languages and Interfaces 4. Database Languages and Interfaces 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) 4. Database Languages and Interfaces Example in SQL SELECT FROM WHERE BDATE, ADDRESS EMPLOYEE FNAME='John' AND MINIT='B' AND LNAME='Smith' 4. Database Languages and Interfaces Example of embedded SQL EXEC SQL declare c cursor for select customer-name, customer-city from depositor, customer, account where depositor.customer-name = customer.customername and depositor account-number = account.accountnumber and account.balance > :amount END-EXEC 4. Database Languages and Interfaces Interfaces Menu-based interfaces for Web clients or browsing Forms-based interfaces Graphical user interfaces Natural language interfaces Speech input and output Interfaces for parametric users Interfaces for the DBA 5. Database System Environment DBMS component modules Database system utilities Tools Application environment CASE tools, data dictionary e.g., PowerBuilder Communication facilities 5. Database System Environment DBMS component modules Buffer management Stored data manager DDL compiler Interactive query interface • Query compiler • Query optimizer Precompiler Runtime database processor System catalog Concurrency control system Backup and recovery system 5. Database System Environment 5. Database System Environment Database System Utilities Loading Load existing data files Backup Creates a backup copy of the database Database storage reorganization Reorganize a set of database files into different file organizations Performance monitoring Monitors database usage and provides statistics to the DBA 6. 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 6. DBMS Architectures A physical centralized architecture 6. DBMS Architectures 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 6. DBMS Architectures Logical client-server architecture 6. DBMS Architectures 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. 6. DBMS Architectures 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 6. DBMS Architectures Logical three tier client-server architecture 7. Classification of DBMSs Based on the data model used Traditional: Relational, Network, Hierarchical Emerging: Object-oriented, Objectrelational Based on the number of users Single-user (typically used with microcomputers) multi-user (most DBMSs) 7. Classification of DBMSs Based on the number of sites Centralized (uses a single computer with one database) Distributed (uses multiple computers, multiple databases) Homogeneous Heterogeneous (Federated DBMS) Summary Concepts used in database systems Main categories of data models Types of languages supported by DMBSs Interfaces provided by the DBMS DBMS classification criteria: Data model, number of users, number of sties, access paths, cost