Download Storage Space-Introduction to Databases-Tutorial 02-Computer Science and more Study Guides, Projects, Research Introduction to Database Management Systems in PDF only on Docsity! Course Introduction Introduction to Databases Instructor: Joe Bockhorst University of Wisconsin - Milwaukee First Reading Assignment • Chapters 1 and 2 (today and part of Thursday) Chapter 13 and handout Hard drive capacity
1000
100 +
Capacity (GB)
0.1 4
0.01 +
0.001 T T T
5/25/1979 11/14/1984 5/7/1990 10/28/1995
http://en.wikipedia.org/wiki/Hard_disk
4/19/2001
Number of transistors on
an integrated circuit
10,000,000,000
1,000,000,000
10,000,000
1,000,000
100,000
10,000
2,300
Moore's Law
Number of wansisors doubling every 18.manths, *
” « ftanium 2
* (8 MB cache]
“-
a ue”) Beanium 2
Number of transistors doubleng every 24 months. o
“Pantium 4
a * rancor
we @ #Pentium il
°° Benthuen it
Pentium
I T T 1 |
1871 1980 1990 2000 2004
Year
Microarrays – An Example of a New Sensing Technology The color of each spot represents the activity level of a gene under some experimental condition 10 000s of spots on a single chip A microarray Database Management System (DBMS) • DBMS is: – A collection of software programs – General purpose • DBMS enables users to: – Define DB – Construct DB – Change (or update) DB – Ask questions about the data in DB – Share DB • DBMS maintains the integrity of DB Some RDBM Systems Commercial Systems Oracle ($$$$) DB2 (IBM) ($$$) SQL Server (Microsoft) ($$) Open Source Systems PostgreSQL MySQL Source: International Data Corporation Main Goals of this Course • To understand how to use a DBMS – How to create DB, data models, SQL,... • To understand how a DBMS works – Physical properties of disks and files, software to manage reading and writing to disk, implementation of algorithms to answer user queries,... Building a DB: construct a conceptual model movie person acts in director of title release date name birthdate role role type • A conceptual model identifies entities and relationships M N N1 entity attribute relationship Building a DB: Define DB Schema • A schema describes DB using data model supported by DMBS (eg, relational model) • RDBMS – DBMS that supports relational model Rating DirectorTitleMID BdayNamePID RtypeRolePIDMID MOVIE PERSON ACTS_IN A Schema Diagram for “University” DB (from the textbook) tables columns Querying The Database • Most RDBMS allow users to query the database using SQL (structured query language) • Example: get cast of “The Big Lebowski” SELECT Name, Role, Rtype FROM PERSON, ACTS_IN WHERE MID = ‘1’ AND PERSON.PID == ACTS_IN.PID Building the Application Program
Figure 2.7 :
Logical three-tier Client a een
: Web Interface Layer
client/server architecture,
with a couple of commonly
used nomenclatures.
Application Server Application Business
or Programs, ener
Web Server Web Pages g a
Database Database Database
Server Management Services
System Layer
(a) (b)
Implementing Queries • “Relational Algebra” is a mathematical way to describe operations on relational data • SQL queries correspond to sequence of relational algebra operations – The previous query requires a join operation between person and acts_in • Query Optimization involves finding a good order to carry out operations • Operator implementation Summary of Topics • Conceptual modeling • Logical Modeling • Querying the DB • Building applications • Implementing Queries • Managing hardware • Maintaining Integrity how to use DBMS how a DBMS works Control Abstraction Query Optimization Relational Operators Files and Access Methods Buffer Management Disk Space Management DB Application Program User DBMS Each layer need not know (or care) how other layers are implemented Data Abstraction Each layer need not know how other layers organize data Schemas and Instances • A schema describes a database – RDBMS typically store schemas in the catalog • The actual data in the DB at a particular time is the database state – The current set of all instances in the DB People who work with DBMSs • Database Administrator DBA – Maintains databases, DBMS and related software – [avg salary* $76k] • Application Programmers – Software engineers (developers) that build software solutions for end users that access DBMS • End Users – Example: bank teller uses “canned transactions” • DBMS designers and implementers – Example: Oracle developers *source: payscale.com, 2007