ist 210 1 databases and dbmss todd s. bacastow january 2005

37
IST 210 1 Databases and DBMSs Todd S. Bacastow January 2005

Upload: zoe-greene

Post on 24-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

IST 210

1

Databases and DBMSs

Todd S. BacastowJanuary 2005

IST 210 Evolution

IST 210 Ways of storing data

Files (1960) (ancient times) Databases

Hierarchical (1970) Network (1970) Relational (1980) Object (1990)

IST 210 File terms Record

data items related to a single logical entity (e.g. a student’s information) or row in a table

Field a place for a data item in a record (first name

field in a student record) or a column in a table

File a sequence of records of the same type (the

table)

IST 210 File structures

3 Smith Jane A

1 Wood Bob C

2 Kent Chuck B

4 Boone Dan B

ID Last First Grade

record

fieldA file: “STUDENT”

IST 210 File organization

Serial new records appended

Sequential records ordered in file, usually

according to a numeric key

IST 210 File structures

Serial list of entries in

which the order of entry into the list determines the order of the list

3 Smith Jane A

1 Wood Bob C

2 Kent Chuck B

4 Boone Dan B

ID Last First Grade

IST 210 File structures

Search of a simple list entails going through each record until the query is satisfied (linear search), which is inefficient

3 Smith Jane A

1 Wood Bob C

2 Kent Chuck B

4 Boone Dan B

ID Last First Grade

IST 210 File structures

Sequential list of entries

ordered in some way (e.g. numerically or alphabetically)

1 Wood Bob C

2 Kent Chuck B

3 Smith Jane A

4 Boone Dan B

ID Last First Grade

IST 210 File structures

Search of an ordered sequential list can use a search method

1 Wood Bob C

2 Kent Chuck B

3 Smith Jane A

4 Boone Dan B

ID Last First Grade

IST 210 File structures

Indexes provide a reference to records based on an index field, which is ordered

Boone *

Kent *

Smith *

Wood *

1 Wood Bob C

2 Kent Chuck B

3 Smith Jane A

4 Boone Dan B

ID Last First GradeLast Pointer

IST 210 Problems with files

Redundancy number of files grows with

applications, and data is duplicated

Inconsistency data is updated in one

application’s files, but not in another’s

Maintenance problems changes to data

structures mean changes to many programs

Difficulty combining data business needs may

mean users want data from different applications

IST 210 Other ways to organize Data model

A data model is a particular way of conceptually organizing multiple data files in a database

Other common models Hierarchical Network Relational Object

IST 210 Network model

IST 210 Network data model

Relationships:• one-to-one• one-to-many• many-to-one• many-to-many

Class

Student

Grade

Instructor

ID Department

IST 210 Network data model

Advantages flexible, fast, efficient

Disadvantages Complex Restructuring can be difficult because

of changing all the pointers

IST 210 Hierarchical database model

IST 210 Hierarchical data model

Parent-child relationship: one-to-one one-to-many

Class

Student

Grade

Instructor

ID Department

IST 210 Hierarchical data model

Advantages easy to search add new branches easily

Disadvantages Must establish the types of search

prior to development of the hierarchical structure

IST 210 Summary

Hierarchical and network data models have generally been replaced by the relational data model

Relational databases dominate the database market Oracle Informix SQL Server DB2 ……..

IST 210 Relational database model

Stores both Data about

real world objects (entities) in tables

Relationships between the tables

IST 210 Relational database Fields (columns) in

the table store attributes.

Each attribute has a specific domain.

Tuples (or records or rows) in the table store information.

Each tuple is a unique instance of an object.

Tables are composed of a set of tuples.

A table is also called a relation.

IST 210 Terms

Table A collection of relevant data relating to one type of

real world objects. Column

A specific place for one type of data relating to one type of real world objects.

Domain Set of all possible values for a specific column.

Row Collection of data describing one real world object.

Primary Key Columns, which are part of the row and uniquely

identify any one row.

IST 210 Records

Each record represents a logical entity (e.g. a student)

Each field represents an attribute of the logical entity

1 Wood Bob C IST357

2 Kent Chuck B IST115

3 Smith Jane A IST357

4 Boone Dan B IST357

ID Last First Grade Class

Student

IST 210 Keys

Each table has a primary key, one field (or a combination of fields) that has a unique value for each and every record in the table

ID is the primary key in this table (two students may share either a last or first name)

1 Wood Bob C IST357

2 Kent Chuck B IST115

3 Smith Jane A IST357

4 Boone Dan B IST357

ID Last First Grade Class

Student

IST 210 Relating tables Tables can be related (joined) together based on their keys The idea is to decompose into separate tables with no

redundancy and to provide a capability to reassemble with no information loss

1 Wood Bob C IST357

2 Kent Chuck B IST115

3 Smith Jane A IST357

4 Boone Dan B IST357

ID Last First Grade Class

Student

IST357 48 Jones

IST115 120 Brower

IST20 120 Fountain

Class

Name #Stud Instructor

IST 210 Relating tables

1 Wood Bob C IST357

2 Kent Chuck B IST115

3 Smith Jane A IST357

4 Boone Dan B IST357

ID Last First Grade Class

Student

IST357 48 Jones

IST115 120 Brower

IST20 120 Mennis

Class

Name #Stud Instructor

Primary key Primary keyForeign key

IST 210 Relating tables

1 Wood Bob C IST357

2 Kent Chuck B IST115

3 Smith Jane A IST357

4 Boone Dan B IST357

ID Last First Grade ClassStudent

IST20 120 Brower

IST115 120 Jones

IST357 48 Jones

Class Name #Stud Instructor

Jones 332

Brower 517

Instructor Name Office

IST 210 DBMS Schema Ultimately data in databases is

stored in files, but their structure is hidden

Conceptual Schema

External Schema

Internal Schema

The view on data used by application programs.

The logical model of data that is separate from how it is used.

The physical storage of data in files and indexes.

IST 210 RDBMS Features

Data Definition Language (DDL)

Data Manipulation Language (DML)

Integrity Constraints Transaction Management Concurrency Security Tuning of Storage

IST 210 Data integrity and validation (Constraints)

IST 210 Relationships

Link between entities.

A relationship may define constraints. E.G, a person can

only have one SSN.

IST 210 Advantages of RDBMS Eliminate unnecessary duplication of data Enforce data integrity through constraints Changes to conceptual schema need not

affect external schema Changes to internal schema need not

affect the conceptual schema Many tools are available to manage the

database

IST 210 Disadvantages of RDBMS To store objects (e.g., drawings) in a

relational database, the objects have to be ‘flattened’ into tables e.g., a digital representation of a parcel must

be separated from the behaviour of other parcels

Complex objects have to be taken apart and the parts stored in different tables

When retrieved from the database, the object has to be reassembled from the parts in different tables

IST 210 Other Types of DBMS Object DBMS

store objects as objects designed to handle complex nested

objects for graphical and multimedia applications

Object-relational DBMS hybrid databases that can store data in

tables but can also store objects in tables

IST 210 Object DBMS

ODBMS have the advantage that objects can be stored directly

Object databases are closely linked to programming languages with ways of navigating through the database

IST 210 Summary

Common word

Textbook word

Alternate word

Object word

Table Relation File or Data set (old)

Object class

Column Attribute Field Object field

Domain Domain Range of possible values

Datatype, subtype

Row Tuple Record Object instance

Primary key Primary key Key of the record

Object identifier