Anda di halaman 1dari 24

Data Modeling and Databases

IDSC 3103

About Databases
Most every major modern database management system
(DBMS) uses a relational model
This class will use MySQL
Free / open source

However, what you learn in this class will apply to your job no
matter what DBMS the company actually uses
All relational DBMS built on the same set of ideas
Think about how you drive an unfamiliar car

About me
Undergraduate and graduate degrees in Computer Science
Industry career included
Cargill
Microsoft
3M

Teaching at the U for 20 years


CSOM for 10 years
Retired and joined full time faculty in 2013

I learned data modeling from two of the best, and used these skills virtually every day of my
career!
Other interests

You can reserve office hour time with the instructor


Use the link in Moodle to make a reservation:

Students without reservations accommodated on a best effort basis


TA office hours are generally on a walk-in basis in the L-108 MIS Lab

About you

Freshman; 2%
Sophomore; 16%
Senior; 26%

Junior; 56%

About you

OMS; 6% Econ; 8%
Marketing; 2%
Finance; 6%
Accounting; 8%
MIS; 72%

About you

Have you ever executed a SQL query and


successfully retrieved data from a DBMS prior to this
class?
85% said NO

I do, we do, you do


I will typically demonstrate some concept
You are encouraged to follow along on your laptop

then post an exercise


Work on it yourself, collaborating with other students
We will work through the solution together

followed by additional exercises


Class will usually end with open-ended work time
The more problems you work, the better you will do on the exams

Course Overview
4 assignments (100 pts each)
2 exams (midterm, final, 250 pts each)
MC, T/F, short answer, querying

10 assessments (10 pts each)


Usually due before class
We will do the first one together
A note about instructor travel

We Cover 5 Broad Topics


What is a relational database?
Introduction to Structured Query Language (SQL)

Querying and Manipulating Data


Designing databases
Entity-Relationship modeling

Iterating design
Normalization, functional dependency, indices

Advanced topics
Stored procedures, triggers, transactions

Course Policies
No prerequisites
Course designed for first exposure to databases

Textbook is optional
Late work
2 flex days for assignments; no credit after that
All assignments must be turned in to pass the class

Assessments: do them or dont

Attendance and Participation


Remember: we learn skills!

Collaboration
Collaboration on assignments and pre-class
assessments is encouraged!
Each student must submit his/her own work

However, do not exchange copies of assignments or


assessments
This will be considered academic misconduct

Be careful to protect your work

Academic Misconduct
Any incident of academic misconduct, large or small, is
eligible for an F in the entire course
Examples of academic misconduct:
Not original work
Use of exam materials
Distribution of exam materials

The safest approach: just ask!

INTRODUCTION TO DATABASES

Consider this

Idea: automate the process of registering for


classes
then the Bursars Office decides to automate
paying tuition
then the Rec Center wants in on the action,
wanting to automate verification of eligibility!

Each builds their own


File
Course
handling
Registration routines
entry and
File
reports
definition

RegisRep (SID,
name, address,
courses, )
Course registration application programs
Registration files
This approach essentially
automates
the manualTuitionRep
filing
File
(SID,
Tuition
handling
payment routines
system.
name, address,
entry and
File
definition

amountPaid,
What
areprograms
the Payment
problems
/ issues
Tuition payment
application
files
balance, )
with
this approach?
File
reports

handling
Sports center
routines
entry and
File
reports
definition
Sports center application programsSports center files

SportsRep (SID,
name, address,
)

The DBMS Approach


Course
Registration
entry and
reports
Course registration application programs
Tuition
payment
entry and
reports
Tuition payment application programs
Sports center
data entry
and reports
Sports center application programs

DBMS

Database

The DBMS Approach has Numerous Advantages


Less redundancy: all data items can be integrated with minimum
duplication
Program-data independence: data is separated from the programs:
standard data querying, standard data management, standard
everything
Sharing data: the database can be accessed by the entire organization
(and at the same time!)
Data consistency: DBMS has standard built-in mechanisms that reduce
data inconsistencies

Database Technology has a Long History


1960s: File-based systems
1970s: Primitive systems that attempt to connect data
records together
1980s Relational model (data as smart tables)
This is the dominant paradigm in the business world today.

Any new developments?

NoSQL is popular, but not widely used (yet)


The idea of NoSQL:
When data is overwhelming large, it is cheaper to create clusters of cheap computers
instead of creating one uber-powerful centralized server.
and this changes things, especially, consistency!

We are not studying NoSQL Databases in this class (things like Hadoop,
Hbase, MapReduce, MongoDB etc)
We are studying Relational Databases (things like MySQL, SQLServer, Oracle)
You need to first understand relational databases before you can understand
NoSQL

Key Individuals Influenced the Relational Model


Edgar. F. Codd (1981 Turing Award Winner)s
A Relational Model of Data for Large Shared Data Banks (1970) paper
Database humor: so help me Codd!

Peter Pin-Shan Chen


The Entity-Relationship Model: Toward a unified view of data. TODS, 1(1):9--36,
1976.

Larry Ellison learned about:


Relation Model from Codds paper
SQL through publications by the IBMs System R project team
Founded company Relational Software Inc.
What is this company known as today?

Also notable: Gordon Everest, John Carlis

There are many jobs in the database field


Database Administrator
Implements database designs
Develops, implements, and maintains database policies
Investigates and resolves performance issues
Plans for growth and changes in the database

Application Developer
Implements applications that use the database

Data Analyst
Develops and executes queries to gain business insights

What will we be doing in this class?

Anda mungkin juga menyukai