Overviewn Introduction to DBMSn Purposen Problems with conventional systemsn Advantages of databasen Different Data Models n Hierarchical n Networks n Relational n Object Oriented n Object Relational
Data n Is any name,place,animal or thing n Two types of data are stored within a database: n User data: Data that must be stored by an organization. n System data: Data the database needs to manage user data to manage itself. This is also termed metadata, or the data about data.
What Is A Database?n “A set of information held in acomputer”n “One or more large structured sets ofpersistent data, usually associated withsoftware to update and query the data”n “A collection of data arranged for easeand speed of search and retrieval”
Database Systemsn A database system consists of n Data (the database) n Software n Hardware n Users
Database ManagementSystemsn A database management system (DBMS) manages the data in a database.n A DBMS is a collection of programs that enables the users to create and maintain a database.n A DBMS also enables data to be shared; information system users and managers can get more information value from the same amount of data when data sharing occurs.
Database Management Systemsn A database is a collection of informationn A database management system (DBMS) is the software than controls that informationn Examples: n Oracle n DB2 (IBM) n MS SQL Server n MS Access n Ingres n PostgreSQL n MySQL
Purpose of Database SystemsDatabase management streamlinesapplication development.n Reduces data redundancyn Ensures data integrity
Problems with conventionalsystemsn No sharingn Data isolationn Diffused responsibilitiesn Poor coordinationn Data redundancyn Weak integrity
DBMS While in Action naive casual users users programmers DBAcanned schema appl.program query command program DBMS Operating System
Advantages of the DatabaseApproachn Control of data redundancyn Data consistencyn Greater informational gain, more information from the same amount of datan Sharing data, organizational resource (i.e., shared resource)n Improved data integrity, validity and consistencyn Improved access and securityn Enforcement of standards
Advantages of the DatabaseApproachn Economy of scale, centralization and consolidationn Balancing of conflicting requirements, DBA oversees data and data definitionsn Improved data accessibility and responsivenessn Increased productivityn Improved maintenance through data independencen Increased currencyn Improved backup and recovery services
The Foundationn of any database environment is a robust database designn the design uses data models to specify the designn data independence requirement stipulates typically three modelsn three `classical’ models have been very popularn two more are emerging as strong contenders
1. Hierarchical ModelTree Structure Diagram course record type link module studentfaculty book test assign perf attend fee session
Hierarchical Modeln The hierarchical data model organizes data in a tree structuren Data in a series of records, which have a set of field values attached to it. It collects all the instances of a specific record together as a record typen To create links between these record types, the hierarchical model uses Parent Child Relationships
Hierarchical Database pgdst95 pgdst95 record instances pgdst95 pgdst95 trees pgdst95 db db XX db db XXX dbps ps korth test1 asgn1 korth test1 asgn1 65 65 1-Y 3600 1-Y 3600 ps ps korth test1 asgn1 korth test1 asgn1 65 65 1-Y 3600 1-YY 3600 ps korth test1 asgn1 65 1- 1-Y 3600s1 s1 s1 s1 Database s1
2. Network (CODASYL) Model record typeData Structure Diagram course set type c_m c_s module student m_f s_f faculty m_b m_t m_a fee f_s test assign book s_p s_a m_s t_p a_p perf session ss_a attend
Network Modeln In 1971, the Conference on Data Systems Languages (CODASYL) formally defined the network model.n A set consists of an owner record type, a set name, and a member record type.n the network model permitted the modeling of many-to-many relationships in data
Network Database record instances course course course course course set instances c_m c_s student student module module module student student student studentfaculty modulefaculty facultyfaculty faculty m_f s_f faculty m_t m_a fee fee m_b fee fee fee f_s test assign book book test test assign s_p assign s_a book m_s test t_p assign a_p perf perf perf session session session perf perf Database session session ss_a attend attend
3. Relational Modeltable course module student attributesfaculty book test assignperf attend fee session
Relational Modeln A relational database allows the definition of data structures, storage and retrieval operations and integrity constraints.n In such a database the data and relations between them are organised in tables.n A table is a collection of records and each record in a table contains the same fields.
Relational Databasecourse module student tuplesfaculty book test assign perf attend fee session
4. Object-Oriented Model object databases attributes methods messages
Object-Oriented Modeln Object DBMSs extend the semantics of the C++, Smalltalk and Java object programming languages to provide full-featured database programming capability, while retaining native language compatibility.n A major benefit of this approach is the unification of the application and database development into a seamless data model and language environment.
5. Object Relational Model object-relational databases
Object Relational Modeln Object/relational database management systems (ORDBMSs) add new object storage capabilities to the relational systems at the core of modern information systems.n These new facilities integrate management of traditional fielded data, complex objects such as time-series and geospatial data and diverse binary media such as audio, video, images, and applets.
Object Relational Model Faster data integrity enforcementCREATE TABLE Employee New data types (Code code_type, Name CHAR(30), Emp_dept dept_type, Faster join birth_ date date, join_ date date, skills set_of skill_type, method promote(): function prom); Intuitive and natural model
Summaryn Databasesn Advantages of databasesn Different Data Models n Hierarchical n Networks n Relational n Object Oriented n Object Relational