Post on 26-Dec-2015
What is a database?
The main characters of a database system
The basic database design method
The entity-relationship data model for application modeling
2
3
Types of databases
• traditional
• multimedia - pictures, video, sound
• Scientific database
- GIS: maps, weather, satellite images
- biological database: DNA sequence analysis
• warehouse, OLAP - analysis, decision making
• real-time, active databases - industrial processes
• deductive databases - combination of inference and databases
4
Database
• collection of related data
• represents some aspect of the real world
• built with a specific purpose in mind
• could be anywhere - notebook, spreadsheet, Access, Oracle, … could be manual / could be computerized
Data
• known and recordable facts• name, phone number, address, grade, ...
7
Database Management System (DBMS)
• collection of software facilitating the definition,
construction and manipulation of databases
Definition•record structure•data elements
•names•data types•constraints
etc
Construction•create database
files•populate the
database with records
Manipulation•querying•updating
8
Database Management System (DBMS)
• collection of software facilitating the definition, construction and manipulation of databases
Users/actors
Requestmanager
Storagemanager
Meta data
Storeddatabase
DBMS
9
Sample database
Student Name StNo Class Major
Smith 17 1 CS
Brown 8 2 CS
Course CName CNo CrHrs Dept
Database 8803 3 CS
C 2606 3 CS
Section SId CNo Semester Yr Instructor
32 8803 Spring 2000 Smith
25 8803 Winter 2000 Smith
43 2606 Spring 2000 Jones
Grades StNo Sid Grade
17 25 A
17 43 B
file1file2
file3
file4
10
Characteristics of the Database approach
• single repository of data• sharable by multiple users
•concurrency control•transaction control
• self-describing - system catalogue contains meta data
• program-data independence• some changes to the database are transparent to
programs/users
• multiple views of data - to support individual needs of programs/users
11
Database Actors
• Database Administrator (DBA)- authorizing access to the database
- coordinating and monitoring its use- aquiring software and hardware as
needed - solving problems such as breach of security or poor system performance
• Database Designers/Modelers- identifying the data to be stored
- choosing appropriate data structure
• End-users- access to the database: querying, updating,
generating reports
• Software Engineers- developing application programs
12
Advantages of the Database approach(capabilities we would look for in a DBMS)
• controlled redundancy• database design integrates different user data needs• performance tuning may lead to replicated data
• Sharing of the data
• controlled/authorized access to data
• Ensure integrity of the data
• backup and recovery
13
Implications of the Database approach
• standards enforcement• DBA can enforce standard naming conventions, etc
• reduced application development time• adding new functionality to an existing database is
“easy”
• flexibility• adding new data and making some types of changes is
“easy”
• up-to-date information - due to sharable characteristic
• economies of scale - due to sharable resources the wholeorganization can make one investment
14
When not to use a DBMS
• overhead costs are too great
• high initial investment
• data and applications are simple, well-defined, not expected to change
• stringent real-time constraints
• multi-user environment not needed
16
Database design
• let’s jump ahead to see this
Grades
Name
Major
Student
StNo
Class
Delivery
Course
Section
1
N
N
M
17
Database design
• let’s jump ahead to see this
Grades
Name
Major
CName
CNo
Student
StNo
Class
Delivery
Course
Section
CrHrs
Dept
1
N
N
M
18
Database design
• let’s jump ahead to see this
Grades
Name
Major
CName
CNo
Instructor
Semester
Year
SId
Student
StNo
Class
Delivery
Course
Section
CrHrs
Dept
N
1
NM
19
Database design
• let’s jump ahead to see this
grade
Grades
Name
Major
CName
CNo
Instructor
Semester
Year
SId
Student
StNo
Class
Delivery
Course
Section
CrHrs
Dept
1
N
N
M
20
employee
department
project
dependent
With attributes, etc:
works for
manages
works on
dependents of
controls
supervision
bdate
ssn
name
lnameminitfname
sex address salary
birthdatename sex relationship
name number location
name number location
number ofemployeesstartdate
hours
1
1
1
N
supervisor
supervisee M
N
11
NNdegree
1 N
21
ER-to-Relational mapping
1. Create a relation for each strong entity type
2. Create a relation for each weak entity type• include primary key of owner (an FK - foreign key)• owner’s PK + partial key becomes PK
3. For each binary 1:1 relationship choose an entity and include the other’s PK in it as an FK. Include any attributes of the relationship
4. For each binary 1:n relationship, choose the n-side entity and include an FK of the other entity. Include any attributes of the relationship
22
5. For each binary M:N relationship, create a relation for the relationship• include PKs of both participating entities and any
attributes of the relationship• PK is the concatenation of the participating entity PKs
6. For each multivalued attribute create a new relation• include the PK attributes of the entity type• PK is the PK of the entity type and the multivalued
attribute
7. For each n-ary relationship, create a relation for the relationship• include PKs of all participating entities and any attributes
of the relationship• PK may be the concatenation of the participating entity
PKs