Upload
elvin-allison
View
221
Download
1
Tags:
Embed Size (px)
Citation preview
Introduction 1
Principles of Database SystemsWith Internet and Java Applications
Today’s Topic
Course Introduction
Instructors name and contact info goes here.
Please see the notes pages for additional comments.
2
Outline of Course Study of principals and techniques of
databases Grades assigned as in information sheet Examples of use of databases Programming projects in database design and
implementation– Programming in Microsoft Access– Programming in Java with Oracle– Development of a web site with database support
Course notes in http://YOURWEBSITE Homework 1 due
3
Textbook and class meetings Principles of Database Systems With Internet
and Java Applications– by Greg Riccardi– copyright 2001, Addison-Wesley
Lectures and recitations
4
Students’ Role in Class Attend class, please.
– The class notes are available, but they are not the full classroom experience
– Recitation sections are provided to personalize and enhance your learning environment
– You are paying for this, take advantage of it Read the book.
– There are many topics covered in the text, but not the lectures
– There are many details and examples in the text Get copies of lecture notes
– Available the night before class Seek help during office hours
5
Current Events Each lecture will cover current events that
affect the database industry Please bring info to lectures and recitations Today
– Las Vegas Consumer Electronics Show• www.zdnet.com/zdnn/special/ces2000.html
– Tallahassee Democrat Online• www.tdo.com
– New York Times technology• www.nytimes.com/yr/mo/day/tech/
6
Why Study Files and Databases? Next few slides address the following
– Importance of Databases to Economy• Can you get a job in the database field?
– Representation of Information• Add meaning to data
– Management of Complexity• Divide system into layers, focus on data
– Management of Access and Security– Efficiency of Access and Storage
• Separate data, allow optimizations
7
Importance of Databases to Economy Expanding use of databases in retail sales
– Walmart, retail sales information tracking– LL Bean, catalog sales information tracking
Examples of analyses– Sales of items
• Comparisons between daily totals of items sold and items in inventory
• Seasonal variations in sales of specific and similar items• Relative sales of similar items with different features
– Market-basket collections (all items in a single purchase)• Average and variation in total purchase amount• Average and variation in number and price of items• Correlation between sales of items in a single purchase
– Customer analysis• Behavior of average customer• Preferences of individual customers
8
Importance of Database Companies Oracle is the 2nd largest software company
– It’s stock has outperformed S&P 500 and Microsoft
– This picture is the stock performance, as shown on the BigCharts Web site from July, 1999 to July, 2000
9
E commerce Companies are fighting for the market
– See Oracle Web site– See IBM Web site
XML and XSL at Microsoft– http://www.microsoft.com/xml– http://msdn.microsoft.com/xml/demos/– http://msdn.microsoft.com/isapi/msdnlib.idc?
theURL=/library/techart/fm2koffice.htm
10
Representation of Information
Data is collections of bits– physical database
Information is data with meaning– logical database
Representation of meta-data– database system is self-describing
Database Management System (DBMS)– define information content– construct database– manipulate by queries, reports and updates– data plus software
11
Management of Complexity Insulation between programs and data
– Program-data independence– Program-operation independence– Data abstraction
• conceptual model for users• physical model for administrators
– Sharing data and multi-user transactions People
– Database administrators– Database designers– Applications programmers– End users
12
Management of Access and Security Controlling redundancy
– inconsistency and duplication Restricting unauthorized access Enforcing integrity constraints Providing backup and recovery Persistent storage for program objects
13
Efficiency of Access and StorageCost of Access for Seagate Cheetah Disk
Seek time– Move access arm to the cylinder– Avg 6 msec, min 0.6 msec
Rotational delay– 1000 rpm, one revolution per 6 millisecond– Average 3 msec
Total latency max 12 msec, avg 9 msec Transfer rate
– 24 Mbytes/sec
Speed of memory access, Athlon 750 mhz– Latency <100 nanosecond, 10,000 times faster than disk– Transfer rate 1.6 GBytes/sec, 7 times faster than disk
14
Hierarchical Cost of Storage Registers and Cache are fixed size Primary storage, memory (RAM) limited by
hardware– 1000 Mbytes per CPU
Secondary storage, disk, also limited by hardware– 100 Gbytes per CPU
Tertiary storage, tape, etc. limited by storage volume
15
Vocabulary Glossary of terms Define the terms as used in this subject
– Database literature is filled with terms Example of terms
– Data, bits– Information, bits with meaning (type)– Entity– Schema
17
What is a Database? Database is a collection of data
– data is known facts with implicit meaning– database is logically coherent, organized.– database is designed, built and populated for a
specific purpose. Database management system
– collection of programs which support creation and maintenance of databases.
18
Time Line for Database Systems before 1960 transition from punched card and tape 1960s, from file management to databases
– Bachman (GE) IDS and data structure diagrams– IMS from IBM, Hierarchical Data Model– IMS DB/DC, Network Model and communication– SABRE, multi-user access with network
1970s, CODASYL and Relational Model– Codd (IBM) Relational Model– Chen introduced Entity Relationship Model– Query languages developed (SQL)
1980s, Client/Server DBs, Oracle, DB2– PC databases, DBase, Paradox, etc.– SQL standard for definition and manipulation
1990s, web-based information delivery– Trends: expert DBs, object DBs, distributed DBs
19
Concepts and Architecture
Data Model is a set of concepts that can be used to describe the structure of a database– data types, relationships, and constraints– basic operations, for retrieval and updates– user-defined operations, behavior
3 types of data models– High level or conceptual model
• entities,attributes, and relationships– low-level or physical model
• record formats, indexes and access paths– representational or implementation model
• record structures or object models
20
Data Modeling A data model is a specification of the
information content of a system– conceptual data model describes information in
terms the users will understand– logical data model describes information in a way
that can be used to build a database– physical data model describes information in terms
of its representation in physical storage
21
Schemas and Instances Schema is the structure of a database
– intention or meaning of the data– data models are schemas– table definitions are schemas– class definitions are schemas
Instances are the contents of a database– extension or values of the data– objects are instances– objects in a database are typically rows in a table
22
Levels of database schemas Different schemas are presented to different
users
External level
internal to logical mapping
logical to external mappings
disk
Internal Schema Internal level
External View 1 External View 2 External View 3
Logical Schema Logical level
23
Data Independence Logical data independence
– Change in conceptual schema does not require change in external schemas
– Expand or contract database with no change to external applications
– View mappings must be changed Physical data independence
– Change in internal schema does require change in conceptual schema
– Reorganize the file and index structure, especially for improved performance
– Conceptual mapping must be changed
24
Database Languages
DDL, data definition language, conceptual schema– describe conceptual schemas
SDL, storage definition language, internal schema– describe file structures, indexes
VDL, view definition language, external schema DML, data manipulation language
– High-level or non-procedural (e.g. SQL)• Select Last Name from Roster where Section = 2
– Low-level or procedural• For r in Roster loop
if r.section = 2 thenresult.Add ( r.lastname );