Title: Database Management Systems CSE530a
1Database Management Systems CSE530a
- C. David Butler, Pharm.D., M.B.A.
- cdbutler_at_wustl.edu
- Office Number 314-935-9824
- Office 221 Sever
- Office Hours 3-4 TuTh or call to arrange a time.
2Introduction
- Course Overview
- Course Expectations
- Database Management Systems
- Hierarchical
- Object
- XML
- Relational
3Course expectations
- By the end of this course, you should be able to
- Grasp and apply mathematical concepts supporting
the relational database structure - Design and implement a relational database
- Differentiate relational from object,
hierarchical and xml data storage - Describe the physical storage operations of a
dbms - Write optimal queries using structured query
language, relational algebra and relational
calculus - Describe the transaction management process
- Methods used in this class will focus on
- Concepts vs cookbooks
- Hands-on project vs rote memorization
- Local Resources
- http//cec.wustl.edu
- http//webdev.cec.wustl.edu
- http//classes.cec.wustl.edu/cse530/2006/
4Overview
- A broad field a microcosm of computer science,
including - Languages
- Data structures
- File storage
- Security
- Operating systems
- Load balancing
- User interfaces
- Areas we could cover include
- Data mining and data warehousing
- Expert systems
- Object-oriented databases
- Deductive reasoning
- Client/server applications
- Transaction processing
- Financial analysis
- Statistical analysis
- Enterprise resource planning
- Decision analysis
5Areas we will cover
- Database Design
- How to describe a real-world situation in terms
of a DBMS - Data Analysis
- How to answer questions
- Concurrency, Robustness, Security
- How to share access fairly
- Efficiency and Scalability
- How to optimize
- Application
- Making a real-world application
6Hierarchical
- A hierarchical data model, such as IBMs
Information Management System (IMS) consists of - Records
- A collection of field values providing
information on an entity or relationship instance - Records of the same type are grouped into record
types - Parent-child relationships
- A 1N relationship between two record types
- Fast for searching stored records within the
forest D1P1E11,E12,E13P2E21,E22 D2BI1,BI2
Example
Department
Project
Budget Item
Employee
7Object
- An object data model (i,c,v), such as in Versant,
Objectivity or db4Objects, consists of - Objects a concept or abstraction of something
with meaning for an application - Class a description of a group of objects with
similar properties and behavior - Values a piece of data
- Methods an implementation of an operation (a
function or procedure) for a class - Links and Associations physical or conceptual
connections between objects
o1(i1,atom,Clayton) o2(i2,atom,St.
Louis) o3(i3,atom,Ladue) O4(i4,atom,5) O5(i5
,atom,Research) 06(i6,atom,08/01/2001) O7(i7
,seti1,i2,i3) O8(i8,tuple,ltDNi5,Dnumbi4,Locat
ionsi7gt)
8Relational
- A relational data model, found in Oracle, DB2 or
SQL Server consists of - Relations a set of unique records
- Schema
- A description of data in terms of a data model
- Specifies the name of the relational model, of
each field and of each field type - Integrity constraints may or may not be present
9Database Management Systems
- Database
- A self-describing collection of integrated
records - For relational dbms a collection of logically
related data that contains - Entities a distinct object
- Attributes a property of an object or
relationship - Relationships an association between objects
- Allows data abstraction
- Database management system (DBMS)
- An application providing program-data
independence - Software designed to assist in the capture,
storage, manipulation and retrieval of data from
a database
10Describing and Storing Data a comparison of
terminology
11When is a db relational?
- According to Codd, when it complies with rules
affecting the following areas - Foundational
- Structural
- Integrity
- Data manipulation
- Data independence
12Foundational rules
- It must use relational operations to manage
databases - Low-level (single-record) languages must not
circumvent integrity rules and constraints for
queries
13Structural rules
- All data are represented
- at the logical level
- by tables and values
- Theoretically updatable views must be supported
14Integrity rules
- Null values representing missing values must be
supported consistently across all data types - Integrity constraints must be definable by the
query language and stored in relations
15Data manipulation rules
- All data are guaranteed accessible logically
using the relational model - The system catalog is represented in the
relational model and accessible - A sublanguage will allow data and view
definition, data manipulation, integrity
constraints, authorization and transaction
boundaries - Insert, update and delete of data required
16Data independence rules
- Applications must be logically unimpaired by
changes in storage or access methods - Applications must be logically unimpaired by
information-preserving changes to the base tables - Applications must be allowed to be logically
unchanged for physically centralized vs
distributed storage changes