0% found this document useful (0 votes)
7 views

EEE207 Database Concepts Lecture 1 v2

Uploaded by

mainajames10532
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

EEE207 Database Concepts Lecture 1 v2

Uploaded by

mainajames10532
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Lecture 1: Introduction

EEE 207 Database Management Systems


24 Jan 2013

Peter Kimemiah

Based on DATABASE SYSTEM CONCEPTS S I XTH E D I T I ON by Abraham Silberschatz et al.


Database Management System (DBMS)

 DBMS contains information about a particular enterprise


 Collection of interrelated data
 Set of programs to access the data
 An environment that is both convenient and efficient to use
 Database Applications:
 Banking: transactions
 Airlines: reservations, schedules
 Universities: registration, grades
 Sales: customers, products, purchases
 Online retailers: order tracking, customized recommendations
 Manufacturing: production, inventory, orders, supply chain
 Human resources: employee records, salaries, tax deductions
 Databases can be very large.
 Databases touch all aspects of our lives
University Database Example
 Application program examples
 Add new students, instructors, and courses
 Register students for courses, and generate class rosters
 Assign grades to students, compute grade point averages (GPA)
and generate transcripts
 In the early days, database applications were built directly on top of
file systems
Drawbacks of using file systems to store data

 Data redundancy and inconsistency


 Multiple file formats, duplication of information in different files
 Difficulty in accessing data
 Need to write a new program to carry out each new task
 Data isolation — multiple files and formats
 Integrity problems
 Integrity constraints (e.g., account balance > 0) become
“buried” in program code rather than being stated explicitly
 Hard to add new constraints or change existing ones
Drawbacks of using file systems to store data (Cont.)

 Atomicity of updates
 Failures may leave database in an inconsistent state with partial updates
carried out
 Example: Transfer of funds from one account to another should either
complete or not happen at all
 Concurrent access by multiple users
 Concurrent access needed for performance
 Uncontrolled concurrent accesses can lead to inconsistencies
– Example: Two people reading a balance (say 100) and updating it by
withdrawing money (say 50 each) at the same time
 Security problems
 Hard to provide user access to some, but not all, data

Database systems offer solutions to all the above problems


Data Models
 A collection of tools for describing
 Data
 Data relationships
 Data semantics
 Data constraints

 Relational model
 Entity-Relationship data model (mainly for database design)
 Object-based data models (Object-oriented and Object-relational)
 Semistructured data model (XML)
 Other older models:
 File Model
 Network model
 Hierarchical model
Relational Model
 Relational model
Columns
 Example of tabular data in the relational model

Rows
A Sample Relational Database
Sample Entities

ER Diagram Using UML Notation


Sample Entities

ER Diagram Using Crow's Feet Notation


Object Oriented Databases (OOD)

Class diagram shows the static structure of an object-


oriented model: object classes, internal structure,
relationships
14
XML Database
<?xml version="1.0"?>
<catalog>
<book id="bk112">
<author>Galos, Mike</author>
<title>Visual Studio 7: A Comprehensive Guide</title>
<genre>Computer</genre>
<price>49.95</price>
<publish_date>2001-04-16</publish_date>
<description>Microsoft Visual Studio 7 is explored in depth,
looking at how Visual Basic, Visual C++, C#, and ASP+ are
integrated into a comprehensive development
environment.</description>
</book>
</catalog>
Data Definition Language (DDL)
 Specification notation for defining the database schema
Example: create table instructor (
ID char(5),
name varchar(20),
dept_name varchar(20),
salary numeric(8,2))
 DDL compiler generates a set of table templates stored in a data dictionary
 Data dictionary contains metadata (i.e., data about data)
 Database schema
 Integrity constraints
 Primary key (ID uniquely identifies instructors)
 Referential integrity (references constraint in SQL)
– e.g. dept_name value in any instructor tuple must appear in
department relation
 Authorization
SQL

 SQL: widely used non-procedural language


 Example: Find the name of the instructor with ID 22222
select name
from instructor
where instructor.ID = „22222‟
 Example: Find the ID and building of instructors in the Physics dept.
select instructor.ID, department.building
from instructor, department
where instructor.dept_name = department.dept_name and
department.dept_name = „Physics‟

 Application programs generally access databases through one of


 Language extensions to allow embedded SQL
 Application program interface (e.g., ODBC/JDBC) which allow SQL
queries to be sent to a database
 Chapters 3, 4 and 5
Database Design?
 Is there any problem with this design?
Design Approaches
 Normalization Theory (Chapter 8)
 Formalize what designs are bad, and test for them
 Entity Relationship Model (Chapter 7)
 Models an enterprise as a collection of entities and relationships
 Entity: a “thing” or “object” in the enterprise that is
distinguishable from other objects
– Described by a set of attributes
 Relationship: an association among several entities
 Represented diagrammatically by an entity-relationship diagram:
The Entity-Relationship Model
 Models an enterprise as a collection of entities and relationships
 Entity: a “thing” or “object” in the enterprise that is distinguishable
from other objects
 Described by a set of attributes
 Relationship: an association among several entities
 Represented diagrammatically by an entity-relationship diagram:

What happened to dept_name of instructor and student?


Storage Management
 Storage manager is a program module that provides the interface
between the low-level data stored in the database and the application
programs and queries submitted to the system.
 The storage manager is responsible to the following tasks:
 Interaction with the file manager
 Efficient storing, retrieving and updating of data
 Issues:
 Storage access
 File organization
 Indexing and hashing
Query Processing

1. Parsing and translation


2. Optimization
3. Evaluation
Transaction Management
 What if the system fails?
 What if more than one user is concurrently updating the same data?
 A transaction is a collection of operations that performs a single
logical function in a database application
 Transaction-management component ensures that the database
remains in a consistent (correct) state despite system failures (e.g.,
power failures and operating system crashes) and transaction failures.
 Concurrency-control manager controls the interaction among the
concurrent transactions, to ensure the consistency of the database.
Database System Internals
Database Architecture

The architecture of a database systems is greatly influenced by


the underlying computer system on which the database is running:
 Centralized
 Client-server
 Parallel (multi-processor)
 Distributed
Figure 1.06
History of Database Systems
 1950s and early 1960s:
 Data processing using magnetic tapes for storage
 Tapes provided only sequential access
 Punched cards for input
 Late 1960s and 1970s:
 Hard disks allowed direct access to data
 Network and hierarchical data models in widespread use
 Ted Codd defines the relational data model
 Would win the ACM Turing Award for this work
 IBM Research begins System R prototype
 UC Berkeley begins Ingres prototype
 High-performance (for the era) transaction processing
History (cont.)
 1980s:
 Research relational prototypes evolve into commercial systems
SQL becomes industrial standard

 Parallel and distributed database systems
Object-oriented database systems
 1990s:
 Large decision support and data-mining applications
 Large multi-terabyte data warehouses
 Emergence of Web commerce
 Early 2000s:
 XML and XQuery standards
 Automated database administration
 Later 2000s:
 Giant data storage systems
 Google BigTable, Yahoo PNuts, Amazon, ..
References
 Silberschatz, Korth and Sudarshan, Database System Concepts, 6th
Ed, Chapter 1.
 Eric J. Naiburg, Entity Relationship Modeling with UML,
Information Management. Retrieved from http://www.information-
management.com/infodirect/20030123/6268-1.html

You might also like