Database system concepts and architecture Winter 2007Ron McFadyen ACS Database schema Database system architecture Data independence concept Database language Database application Interfaces Database environment Ch 2
Database system concepts and architecture Winter 2007Ron McFadyen ACS Schema: a description of a database -- meta data the intension of the database Schema evolution: if the database definition changes, we say it evolves. Database State: the data in the database at a particular point in time the extension of the schema
Database system concepts and architecture Winter 2007Ron McFadyen ACS Sample database Student Name StNo Class Major Smith 17 1 CS Brown 8 2 CS Course CName CNo CrHrs Dept Database CS C CS Section SId CNo Semester Yr Instructor Spring 2000 Smith Winter 2000 Smith Spring 2000 Jones Grade StNo SId Grade A B
Database system concepts and architecture Winter 2007Ron McFadyen ACS University database schema: Course Cnamestring(20) CNo string(20) CrHrsinteger Dept.String(20) Grade StNointeger SIdinteger GradeString(20) Student Namestring(20) StNointeger Classinteger MajorString(20) Section SIDinteger CNostring(20) Semesterinteger Yrinteger Instructorstring(20)
Database system concepts and architecture Winter 2007Ron McFadyen ACS Schema evolution: Course Cnamestring(20) CNostring(20) CrHrsinteger Dept.String(20) Student Namestring(20) StNointeger Classinteger MajorString(20) Prerequisite CNostring(20) Pre-CNostring(20) …... new table added
Database system concepts and architecture Winter 2007Ron McFadyen ACS Schema evolution: Course Cnamestring(20) Cnostring(20) CrHrsinteger Dept.String(20) Student Namestring(20) StNointeger Classinteger MajorString(20) Ageinteger Sexstring(20) …... new attributes added
Database system concepts and architecture Winter 2007Ron McFadyen ACS Sample database Student Name StNo Class Major Smith 17 1 CS Brown 8 2 CS Course CName CNo CrHrs Dept Database CS C CS Section SId CNo Semester Yr Instructor Spring 2000 Smith Winter 2000 Smith Spring 2000 Jones Grades StNo Sid Grade A B
Database system concepts and architecture Winter 2007Ron McFadyen ACS Database state changed: Student Name StNo Class Major Smith 17 1 CS Brown 8 2 CS Course CName CNo CrHrs Dept Database CS C CS Section SId CNo Semester Yr Instructor Spring 2000 Smith Winter 2000 Smith Grades StNo Sid Grade A B
Database system concepts and architecture Winter 2007Ron McFadyen ACS Definition Manipulation Construction We define the database database state is the empty state with no data initial state when database is populated (loaded) current state changes with each insert, delete, update hopefully, the database goes from one correct/valid state to another
Database system concepts and architecture Winter 2007Ron McFadyen ACS Three-schema architecture External view External view Conceptual schema Internal schema Physical storage structures and details Describes the whole database for all users A specific user or groups view of the database
Database system concepts and architecture Winter 2007Ron McFadyen ACS Data independence Ability to change the database at one level with no impact to the next higher level physical data independence - the ability to change the physical schema without affecting the conceptual schema typical example: add a new index logical data independence - the ability to change the conceptual schema without affecting existing external views or application programs typical example: add an attribute
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS Languages Data definition language (DDL): used to define the database schema. Ideally one schema definition language per level in practice there might be one DDL for all levels
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS Languages Data Manipulation language (DML): Used to manipulate data. typical systems provide a general purpose language for inserting, updating, deleting, and retrieving data two distinctions: set-oriented and row-at-a-time
Database system concepts and architecture Winter 2007Ron McFadyen ACS EXEC SQL DECLARE C1 CURSOR FOR SELECT au_fname, au_lname FROM authors FOR BROWSE; EXEC SQL OPEN C1; while (SQLCODE == 0) { EXEC SQL FETCH C1 INTO :fname, :lname; } Database applications If an application program that accesses the database embeds DML commands within it, then we have a host language and a data sublanguage.
Database system concepts and architecture Winter 2007Ron McFadyen ACS Record-at-a-time procedural - need loops, etc navigate through data obtaining 1 record at a time note that SQL does permit this via cursors Set-oriented operations select Name, StNo from student where Name like “M%” EXEC SQL DELETE FROM authors WHERE au_lname = 'White'
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS interfaces menu-based forms-based GUI natural language for dba
Database system concepts and architecture Winter 2007Ron McFadyen ACS Example of a menu-based interface: from MS Access
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS environment see figure 2.3 stored data manager A module to control access to DBMS information that is stored on disk, whether it is part of the database or the catalog. DDL compiler A module to process schema definition, specified in the DDL, and store description of the schema (meta-data) in the DBMS catalog. DML compiler It translates the DML commands into object code for database access. run-time database processor It handles database access at run time; it receives retrieval or update operations and carries them out on the database.
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS environment query compiler It handles high-level queries that are entered interactively. It parses, analyzes, and compiles or interprets a query by creating database access code, and then generates calls to the rum-time processor for executing the code. pre-compiler It extracts DML commands from an application program which is written in host programming language like C, Pascal, etc.
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS utilities loading loading existing files - such as text files or sequential files - into the database. backup creating a backup copy of the database, usually by dumping the entire database into tape. file reorganization reorganizing a database file into a different file organization to get a better performance. performance monitoring monitoring database usage and providing statistics to the DBA.
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS Architectures centralized client/server 2-tier 3-tier
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS Architectures centralized Display monitor Display monitor … hardware Software: dbms, applications, … OS
Database system concepts and architecture Winter 2007Ron McFadyen ACS DBMS Architectures Client Server Application Server Db ServerClient 2-tier client/server: software components are distributed across two systems 3-tier client/server User interface Application or web server DBMS
Database system concepts and architecture Winter 2007Ron McFadyen ACS Classifying DBMSs data model: relational / object-oriented / hierarchical / network / object- relational users: single-user / multi-user location: distributed / centralized cooperation: homogeneous / heterogeneous OLTP: on-line transaction processing used to run the day-to-day operations of a business event-oriented: take an order, make a reservation, payment for goods, withdraw cash,...