suffolk county community college mathematics and computer information department spring 2012 cst171...

30
SUFFOLK COUNTY COMMUNITY COLLEGE Mathematics and Computer Information Department Spring 2012 CST171 --- Database Applications and Concepts Section 151/CRN 22009 Tuesday 6:00pm- 9:50pm Room R-212

Upload: nelson-douglas

Post on 26-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

SUFFOLK COUNTY COMMUNITY COLLEGEMathematics and Computer Information Department

Spring 2012

CST171 --- Database Applications and ConceptsSection 151/CRN 22009

Tuesday 6:00pm- 9:50pm Room R-212

Database Terminology

• Database– A database is an organized collection of data for

one or more purposes.– The data are typically organized to model relevant

aspects of reality in a way that supports processes requiring this information.

– Example: Hotel Chain Reservation System

Database Terminology

• The term database is correctly applied to the data and their supporting data structures, and not to the database management system (referred to by the acronym DBMS). The database data collection with DBMS is called a database system.

• A general-purpose DBMS is typically a complex software system that meets many usage requirements, and the databases that it maintains are often large and complex.

Database Terminology

• The term database system implies that the data is managed to some level of quality (measured in terms of accuracy, availability, usability, and resilience) and this in turn often implies the use of a general-purpose database management system (DBMS).

• DBMSs: Well known DBMS(s) include Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, MySQL, SQLite, Sybase.

History

• Database concept– The database concept has evolved since the 1960s

to ease increasing difficulties in designing, building, and maintaining complex information systems (typically with many concurrent end-users, and with a diverse large amount of data).

– Though the terms database and DBMS define different entities, they are inseparable: a database's properties are determined by its supporting DBMS and vice-versa.

History

• Timeline– Ancient Times• Lots of information in governmental, business, and

medical records for storage, index, and retrieval.– 1960• Two popular data models:a network model called CODASYL and a hierarchical model called IMS.

History

• Timeline– 1970-1972– E.F. Codd proposed relational model for database.

This system has been standard ever since. He disconnect the schema (logical organization) of a database from the physical storage methods.

History

• Timeline– 1974-1977– Two important database system prototypes were

created between 1974-1977. The Relational Database Management System, or RDBMS, becomes a recognized term.

History

• Timeline–1974-1977

• Ingres: Developed at UCB. This ultimately led to Ingres Corp., Sybase, MS SQL Server, Britton-Lee, Wang's PACE. This system used QUEL as query language.

• System R: Developed at IBM San Jose and led to IBM's SQL/DS & DB2, Oracle, HP's Allbase, Tandem's Non-Stop SQL. This system used SEQUEL as query language.

History

• Timeline–1976• A new database model called Entity-

Relationship, or ER, was proposed by P. Chen. This model allows the designer to concentrate on the use of data to focus on data application instead of logical table structure.

History

• Timeline–1980• Structured Query Language, or SQL, became the

standard query language.• DB2 becomes IBM's flagship product.• Network and hierarchical models fade into the

background, with essentially no development of these systems today but some legacy systems are still in use.

History

• Timeline–1980• The introduction of the IBM PC gives rise to many

DB companies and products such as RIM, RBASE 5000, PARADOX, OS/2 Database Manager, Dbase III, IV (later Foxbase, even later Visual FoxPro), Watcom SQL.

History

• Timeline–Early 1990s• Much development during this period centers on

client tools for application development such as Oracle Developer, PowerBuilder(Sybase), VB(Microsoft), and others. A number of tools for personal productivity, such as ODBC and Excel/Access, were also developed. Prototypes for Object Database Management Systems, or ODBMS, were created in the early 1990s.

History

• Timeline–Mid 1990sThe usable Internet WWW appears. Average desktop users began to use client-server database systems to access computer systems that contained legacy data.

History

• Timeline– Late 1990sIncreased investment in online businesses resulted in a rise in demand for Internet database connectors, such as Front Page, Active Server Pages, Java Servelets, Dream Weaver, ColdFusion, Enterprise Java Beans, and Oracle Developer 2000. The use of cgi, gcc, MySQL, Apache, and other systems brought open source solution to the Internet. Online Transaction processing (OLTP) and online analytic processing (OLAP) comes of age with many merchants using point-of-sale (POS) technology on a daily basis.

History

• Timeline–Early 2000sAlthough the Internet industry experienced a decline in the early 2000s, but solid growth of DB applications continues. More interactive applications appear with use of PDAs, POS transactions, consolidation of vendors, etc. Three main (western) companies predominate in the large DB market: IBM (buys Informix), Microsoft, and Oracle.

History

• Timeline– Future?Huge (terabyte) systems are appearing and will require novel means of handling and analyzing data. Large science databases such as genome project, geological, national security, and space exploration data. Clickstream analysis is happening now. Data mining, data warehousing, data marts are a commonly used technique today. More of this in the future without a doubt. Smart/personalized shopping using purchase history, time of day, etc.

History

• Timeline–Future?–Successors to SQL (and perhaps RDBMS)

will be emerging in the future. SQL92, SQL2, SQL3 are still underpowered and more extensions are hard to agree upon. Most likely this will be overtaken by XML and other emerging techniques.

Database Models• A database model is the theoretical

foundation of a database and fundamentally determines in which manner data can be stored, organized, and manipulated in a database system. It thereby defines the infrastructure offered by a particular database system. The most popular example of a database model is the relational model.

Database Models• Flat Model• Hierarchical Model• Network Model• Relational Model• Dimensional Model• Objectional database models

Database Models• Flat Model

Hierarchical Model

Network Model

Relational Model

Relational Model

Relational Model• The basic data structure of the relational model is

the table, where information about a particular entity (say, an employee) is represented in rows (also called tuples) and columns. Thus, the "relation" in "relational database" refers to the various tables in the database; a relation is a set of tuples.

• A key that can be used to uniquely identify a row in a table is called a primary key. Keys are commonly used to join or combine data from two or more tables.

Dimensional Model

Dimensional Model

• The dimensional model is a specialized adaptation of the relational model used to represent data in data warehouses in a way that data can be easily summarized using OLAP queries. In the dimensional model, a database schema consists of a single large table of facts that are described using dimensions and measures.

Objectional DataBase Model

Objectional DB Model

• In recent years, the object-oriented paradigm has been applied to database technology, creating a new programming model known as object databases. object databases attempt to introduce the key ideas of object programming, such as encapsulation and polymorphism, into the world of databases.