420 likes | 665 Views
Database Environment. Chapter 2 AIT632 Sungchul Hong. Last Class. Database related definitions Traditional file system Database approach Components of the DBMS environment Hardware, software, data, procedure, people Roles in the database environment
E N D
Database Environment Chapter 2 AIT632 Sungchul Hong
Last Class • Database related definitions • Traditional file system • Database approach • Components of the DBMS environment • Hardware, software, data, procedure, people • Roles in the database environment • DA, DBA, DB designer, application developer, end users • Advantages & disadvantages of DBMS • History
This Class • Three level ANSI-SPARC Architecture • External level, conceptual level, internal level • Schemas • Mapping • DDL, DML • Data modeling and conceptual modeling • Functions of DBMS • Components of a DBMS • Multi-User DBMS architecture
The Three-Level ANSI-SPARC Architecture • External • Conceptual • Internal • American National Standard • Institute • Standards Planning and • Requirements Committee
Separation of Logical and Physical Presentation • Each user should be able to access the same data, but have a different customized view of the data. • Users should not have to deal directly with physical database storage details. • DBA should be able to change the database storage structures without affecting the users’ views. • The internal structure of the database should be unaffected by changes to the physical aspects of storage. • The DBA should be able to change the conceptual structure of the database without affecting all users.
External Level • Users’ view of the database. This level describes that part of the database that is relevant to each user. • External views • Different views may have different representations of the same data.
What will be happen if we have two base tables in stead of views?
Conceptual Level • The community view of the database. This level describes what data is stored in the database and the relationships among the data. • Logical structure of entire database • All entities, their attributes, and their relationships • The constraints on the data • Semantic information about the data • Security and integrity information
Internal Level • The physical representation of the database on the computer. This level describes how the data is stored in the database. • Storage space allocation for data and indexes. • Record descriptions for storage. • Record placement • Data compression and data encryption techniques.
Schemas • The overall description of the database • Database schema • External schemas (subschema) • Different views of the data • Conceptual schema • Describes all the entities, attributes,and relationships together with integrity constraints. • Internal schema • Complete description of the internal model, containing the definitions of stored records, the methods of representation, the data fields, and the indexes and hashing schemes used.
Mappings • The DBMS is responsible for mapping between these three types of schema. • Check consistency. • Conceptual/internal mapping • Find the actual record of a logical record • External/conceptual mapping • Map names in the user’s view on to the relevant part of the conceptual schema
Database Instance • Database schema is not expected to change frequently. • Database instance • The data in the database at any particular point in time.
Schema Instance
Data Independence • Upper levels are unaffected by changes to lower level. • Logical data independence • Refers to the immunity of the external schemas to changes in the conceptual schema. • Physical data independence • Refers to the immunity of the conceptual schema to changes in the internal schema.
Data Definition Language • A language that allows the DBA or user to describe and name the entities, attributes,and relationships required for the application, together with any associated integrity and security constraints. • System catalog (meta data, data dictionary)
Data Definition Language (DDL) • The DDL us used to define a schema or to modify an existing one. • System catalog • Data dictionary
The Data Manipulation Language (DML) • A language that provides a set of operations to support the basic data manipulation operations on the data held in the database. • Insertion, modification, retrieval, deletion of data • Query language • Procedural DMLs • Non-procedural DML (SQL)
Staff SELECT staffNo, fName, lName, position, salary FROM Staff WHERE salary > 10000;
Fourth-Generation Languages (4GLs) • What v.s. How • Forms generator • Report generators • Graphics generators • Application generators
Data Models and Conceptual Modeling • Data model • An integrated collection of concepts for describing and manipulating data, relationships between data, and constraints on the data in a organization. • Structural part • Manipulation part • Set of integrity rules • Relational, network, hierarchical, Object-Oriented
Conceptual Modeling • The process of constructing a model of the information use in an enterprise that is independent of implementations details such as the target DBMS, application programs, programming languages, or any other physical considerations.
Functions of a DBMS (1/2) • Data storage, retrieval, and update • A user-accessible catalog (meta data) • Transaction support (update salary) • Concurrency control services • Recovery service • Authorization service • Support for data communication
Functions of a DBMS (2/2) • Integrity services • Services to promote data independence • Utility service • Import, monitoring, statistical analysis, index reorganization, garbage collection.
Components of a DBMS (1/2) • Query processor • Database manager • File manager • DML preprocessor • DDL compiler • Catalog manager • Authorization control
Components of a DBMS (2/2) • Command processor • Integrity checker • Query optimizer • Transaction manager • Scheduler • Recovery manager • Buffer manager
Multi-User DBMS Architectures • Teleprocessing • File-Server • There is a large amount of network traffic • A full copy of the DBMS is required on each workstation. • Concurrency, recovery, and integrity control are more complex. • Client-Server
Client-Server • It enables wider access to existing databases. • Increased performance. • Different types of computers works in parallel. • Hardware cost are reduced. • Communication costs are reduced. • Increased consistency – single server • It maps on to open-systems architecture naturally.
import java.sql.*; import java.io.*; import java.util.*; //import javax.servlet.*; //import javax.servlet.http.*; public class Total1 { public static void main (String[] arg) { //ServletOutputStream out = res.getOutputStream(); //Load the oracle JDbc driver }
try { Class.forName ("oracle.jdbc.driver.OracleDriver"); } catch (Exception e) { System.out.println("Could not load driver"); } // Connect to the database try { Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@orion.towson.edu:1521:cosc", “user_name",“password"); Statement stmt = conn.createStatement ();
ResultSet rset=null; try { rset= stmt.executeQuery("SELECT * from department"); ResultSetMetaData rsmd=rset.getMetaData(); while (rset.next()) { System.out.println(" " + rset.getString(1) + " " + rset.getString(2) + " " + rset.getString(3) +" "); }
catch (SQLException e){ System.out.println("writetolog: error in SQL "+e+"<br>"); } } catch (SQLException e) { System.out.println("Something wrong " + e.toString()); } } }