download - Courses - University of California, Berkeley

farmpaintlickInternet and Web Development

Oct 21, 2013 (4 years and 20 days ago)

102 views


2012.08.22
-

SLIDE
1



I257


Fall 2012


Database Management:

Introduction

Ray R. Larson

University of California, Berkeley

School of Information

IS 257: Database Management


2012.08.22
-

SLIDE
2



I257


Fall 2012


Overview


Announcements


Course Description


Database Concepts and Terminology


Database Models


Database Life Cycle


2012.08.22
-

SLIDE
3



I257


Fall 2012


Overview


Announcements


Course Description


Database Concepts and Terminology


Database Models


Database Life Cycle


2012.08.22
-

SLIDE
4



I257


Fall 2012


Course Overview


Description of the Course


Assignments


Readings


Grading


Schedule


Web site:
http://
courses.ischool.berkeley.edu
/i257/
f12


2012.08.22
-

SLIDE
5



I257


Fall 2012


Course Description


This course is concerned with the design
of the database itself
--

not with the design
of database system software.


We will discuss DBMS internals only as they
relate to the database and its design and
structure


We will spend a fair amount time on
database application design, especially on
options for Web application database
support
--

but this will not be primary
focus.


2012.08.22
-

SLIDE
6



I257


Fall 2012


Assignments


Two kinds of assignments


Using a pre
-
built database for search and retrieval
and database modification queries


Designing, populating, and running queries against
your
own personal (or group)

database


Types of database project


Individual

»
Work related

»
Course only

»
Projects from around campus that need doing…


Group

»
Course related

»
Final Master

s project


2012.08.22
-

SLIDE
7



I257


Fall 2012


Readings


Textbook is:


Jeffrey A. Hoffer, Mary B. Prescott and Heikki
Topi.
Modern Database Management
(Tenth Edition).

Prentice Hall (Pearson
Educational) : Upper Saddle River, NJ, 2011.


ISBN 978
-
0
-
13
-
608843
-
1


Ninth (or even earlier) editions are OK too


2012.08.22
-

SLIDE
8



I257


Fall 2012


Grading


Grades will be based on:


Assignments (30%)


Personal/Group Database project (60%)


Class participation (10%)


(No midterm or final)


2012.08.22
-

SLIDE
9



I257


Fall 2012


Schedule


On website:


http://
courses.ischool.berkeley.edu
/i257/
f12/



2012.08.22
-

SLIDE
10



I257


Fall 2012


Overview


Announcements


Course Description


Database Concepts and Terminology


Database Models


Database Life Cycle


2012.08.22
-

SLIDE
11



I257


Fall 2012


What is a Database?


2012.08.22
-

SLIDE
12



I257


Fall 2012


Files and Databases


File: A collection of records or documents
dealing with one organization, person, area or
subject. (Rowley)


Manual (paper) files


Computer files


Database: A collection of similar records with
relationships between the records. (Rowley)


bibliographic, statistical, business data, images,
etc.


2012.08.22
-

SLIDE
13



I257


Fall 2012


Database


A Database is a collection of stored operational
data used by the application systems of some
particular enterprise. (C.J. Date)


Paper

Databases



Still contain a large portion of the world

s knowledge


Changing as, for example, book scanning projects like Google
Books and the Open Content
Aliance

convert paper docs


File
-
Based Data Processing Systems


Early batch processing of (primarily) business data


would not be too surprised to find some these still out there


Database Management Systems (DBMS)


Some old ones still in use, but most modern DBMS are
relational, object or object
-
relational, but there is increasing
use of so
-
called “
noSQL
” key/object databases


2012.08.22
-

SLIDE
14



I257


Fall 2012


Terms and Concepts


Database Management System
--

DBMS


Software system used to define, create,
maintain and provide controlled access to the
database and
its metadata


2012.08.22
-

SLIDE
15



I257


Fall 2012


Terms and Concepts


Data Dictionary


AKA
Repository (old usage)


The place where all
metadata

for a particular
database is stored


may also include information on relationships
between files or tables in a particular
database


In modern DBMS this is part of the database
itself (e.g., system tables in RDBMS)


2012.08.22
-

SLIDE
16



I257


Fall 2012


Terms and Concepts


Metadata


Data about data


In DBMS means all of the characteristics
describing the attributes of an entity, E.G.:


name of attribute


data type of attribute


size of the attribute


format or special characteristics


Characteristics of files or
relations


name, content, notes, etc.


2012.08.22
-

SLIDE
17



I257


Fall 2012


Why DBMS?


History


50

s and 60

s all applications were custom
built for particular needs


File based


Many similar/duplicative applications dealing
with collections of business data


Early DBMS were extensions of programming
languages


1970
-

E.F. Codd and the Relational Model


1979
-

Ashton
-
Tate & first Microcomputer
DBMS


2012.08.22
-

SLIDE
18



I257


Fall 2012


From File Systems to DBMS


Problems with File Processing
systems


Inconsistent Data


Inflexibility


Limited Data Sharing


Poor enforcement of standards


Excessive program maintenance


2012.08.22
-

SLIDE
19



I257


Fall 2012


DBMS Benefits


Minimal Data Redundancy


Consistency of Data


Integration of Data


Sharing of Data


Ease of Application Development


Uniform Security, Privacy, and Integrity
Controls


Data Accessibility and Responsiveness


Data Independence


Reduced Program Maintenance


2012.08.22
-

SLIDE
20



I257


Fall 2012


Terms and Concepts


Data Independence


Physical representation and location of data
and the use of that data are separated


The application doesn

t need to know how or
where the database has stored the data, but just
how to ask for it.


Moving a database from one DBMS to another
should not have a material effect on application
program


Recoding, adding fields, etc. in the database
should not affect applications


2012.08.22
-

SLIDE
21



I257


Fall 2012


Database Environment

CASE

Tools

DBMS

User

Interface

Application

Programs

Repository

Database


2012.08.22
-

SLIDE
22



I257


Fall 2012


Database Components

DBMS

===============

Design tools

Table Creation

Form Creation

Query Creation

Report Creation

Procedural

language

compiler (4GL)

=============

Run time

Form processor

Query processor

Report Writer

Language Run time

User

Interface

Applications

Application

Programs

Database

Database contains:

User

s Data

Metadata

Indexes

Application Metadata


2012.08.22
-

SLIDE
23



I257


Fall 2012


Types of Database Systems


PC Databases


Centralized Database


Client/Server Databases


Distributed
Databases



Database Models


2012.08.22
-

SLIDE
24



I257


Fall 2012


PC Databases

E.G.

Access

FoxPro

Dbase

Etc.


2012.08.22
-

SLIDE
25



I257


Fall 2012


Centralized Databases

Cental

Computer


2012.08.22
-

SLIDE
26



I257


Fall 2012


Client Server Databases

Network

Client

Client

Client

Database

Server


2012.08.22
-

SLIDE
27



I257


Fall 2012


Distributed Databases

computer

computer

computer

Location A

Location C

Location B

Homogeneous

Databases


2012.08.22
-

SLIDE
28



I257


Fall 2012


Distributed Databases

Local Network

Database

Server

Client

Client

Comm

Server

Remote

Comp.

Remote

Comp.

Heterogeneous

Or Federated

Databases


2012.08.22
-

SLIDE
29



I257


Fall 2012


Cloud
-
Based Databases

Remote

Server

Client

Client

Remote

Servers

Remote

Servers

Server may be one

or more remote

machines, depending

on task demands

Client


2012.08.22
-

SLIDE
30



I257


Fall 2012


Terms and Concepts


Database activities:


Create


Add new data to the database


Read


Read current data from the database


Update


Update or modify current database data


Delete


Remove current data from the database


2012.08.22
-

SLIDE
31



I257


Fall 2012


Terms and Concepts


Database Application


An application program (or set of related
programs) that is used to perform a series of
database activities:


Create


Read


Update


Delete


On behalf of database users


2012.08.22
-

SLIDE
32



I257


Fall 2012


Range of Database Applications


PC databases


Usually for individual
user applications


WorkGroup

databases


Small group use where everyone has access
to the database over a
LAN (or internet)


Departmental databases


Larger than a workgroup


but similar


Enterprise
databases


For the entire organization over an intranet
or
the internet



2012.08.22
-

SLIDE
33



I257


Fall 2012


Terms and Concepts


Enterprise


Organization


Entity


Person, Place, Thing, Event, Concept...


Attributes


Data elements (facts) about some entity


Also sometimes called fields or items or domains


Data values


instances of a particular attribute for a particular entity


2012.08.22
-

SLIDE
34



I257


Fall 2012


Terms and Concepts


Records


The set of values for all attributes of a
particular entity


AKA

tuples


or

rows


in relational DBMS


File


Collection of records


AKA

Relation


or

Table


in relational DBMS


2012.08.22
-

SLIDE
35



I257


Fall 2012


Terms and Concepts


Key


an attribute or set of attributes used to identify
or locate records in a file


Primary Key


an attribute or set of attributes that
uniquely

identifies each record in a file


2012.08.22
-

SLIDE
36



I257


Fall 2012


Terms and Concepts


DA


Data adminstrator
-

person responsible for the
Data Administration function in an
organization


Sometimes may be the CIO
--

Chief
Information Officer


DBA


Database Administrator
-

person responsible
for the Database Administration Function


2012.08.22
-

SLIDE
37



I257


Fall 2012


Terms and Concepts


Models


(1) Levels or views of the Database


Conceptual, logical, physical



(2) DBMS types


Relational, Hierarchic, Network, Object
-
Oriented,
Object
-
Relational


2012.08.22
-

SLIDE
38



I257


Fall 2012


Overview


Announcements


Course Description


Database Concepts and Terminology


Database Models


Database Life Cycle


2012.08.22
-

SLIDE
39



I257


Fall 2012


Models (1)

Conceptual

Model

Logical

Model

External

Model

Conceptual

requirements

Conceptual

requirements

Conceptual

requirements

Conceptual

requirements

Application 1

Application 1

Application 2

Application 3

Application 4

Application 2

Application 3

Application 4

External

Model

External

Model

External

Model

Internal
Model


2012.08.22
-

SLIDE
40



I257


Fall 2012


Data Models(2): History


Hierarchical Model (1960

s and 1970

s)


Similar to data structures in programming
languages.

Books

(id, title)

Publisher

Subjects

Authors

(first, last)


2012.08.22
-

SLIDE
41



I257


Fall 2012


Data Models(2): History


Network Model (1970

s)


Provides for single entries of data and
navigational

links


through chains of data.

Subjects

Books

Authors

Publishers


2012.08.22
-

SLIDE
42



I257


Fall 2012


Data Models(2): History


Relational Model (1980

s)


Provides a conceptually simple model for data
as relations (typically considered

tables

)
with all data visible.


2012.08.22
-

SLIDE
43



I257


Fall 2012


Data Models(2): History


Object Oriented Data Model (1990

s)


Encapsulates data and operations as

Objects


Books

(id, title)

Publisher

Subjects

Authors

(first, last)


2012.08.22
-

SLIDE
44



I257


Fall 2012


Data Models(2): History


Object
-
Relational Model (1990

s)


Combines the well
-
known properties of the
Relational Model with such OO features as:


User
-
defined datatypes


User
-
defined functions


Inheritance and sub
-
classing


2012.08.22
-

SLIDE
45



I257


Fall 2012


NoSQL

Databases


Usually very simple key/value search
operations


May use distributed parallel processing
(grid/cloud, e.g.
MongoDB

+
Hadoop
)


Semantic Web “
TripleStores
” are one type


2012.08.22
-

SLIDE
46



I257


Fall 2012


Overview


Announcements


Course Description


Database Concepts and Terminology


Database Models


Database Life Cycle


2012.08.22
-

SLIDE
47



I257


Fall 2012


Database System Life Cycle

Growth,

Change, &

Maintenance

6

Operations

5

Integration

4

Design

1

Conversion

3

Physical

Creation

2


2012.08.22
-

SLIDE
48



I257


Fall 2012


The

Cascade


View

Project

Identifcation

and Selection

Project

Initiation

and Planning

Analysis

Logical

Design

Physical

Design

Implementation

Maintenance

See Hoffer, p. 41


2012.08.22
-

SLIDE
49



I257


Fall 2012


Design


Determination of the needs of the
organization


Development of the Conceptual Model
of the database


Typically using Entity
-
Relationship
diagramming techniques


Construction of a Data Dictionary


Development of the Logical Model



2012.08.22
-

SLIDE
50



I257


Fall 2012


Physical Creation


Development of the Physical Model of
the Database


data formats and types


determination of indexes, etc.


Load a prototype database and test


Determine and implement security,
privacy and access controls


Determine and implement integrity
constraints


2012.08.22
-

SLIDE
51



I257


Fall 2012


Conversion


Convert existing data sets and
applications to use the new database


May need programs, conversion utilities to
convert old data to new formats.


2012.08.22
-

SLIDE
52



I257


Fall 2012


Integration


Overlaps with Phase 3


Integration of converted applications and
new applications into the new database



2012.08.22
-

SLIDE
53



I257


Fall 2012


Operations


All applications run full
-
scale


Privacy, security, access control must be
in place.


Recovery and Backup procedures must be
established and used


2012.08.22
-

SLIDE
54



I257


Fall 2012


Growth, Change & Maintenance


Change is a way of life


Applications, data requirements, reports, etc.
will all change as new needs and
requirements are found


The Database and applications and will need
to be modified to meet the needs of changes


2012.08.22
-

SLIDE
55



I257


Fall 2012


Another View of the Life Cycle

Operations

5

Conversion

3

Physical

Creation

2

Growth,

Change

6

Integration

4



Design

1


2012.08.22
-

SLIDE
56



I257


Fall 2012


Next Time


Introduction to the Diveshop database


Introduction to Database Design