(Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and...

49
(Winter 2016) Instructor: Craig Duckett Lecture 01 : Tuesday, January 5 th Orientation and Introduction 1

Transcript of (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and...

Page 1: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

1

(Winter 2016)

Instructor: Craig Duckett

Lecture 01: Tuesday, January 5th

Orientation and Introduction

Page 2: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

2

INTRODUCTION

Welcome to the BIT276 Database Implementation class!

This is a fast-paced class that will cover a lot of ground. Because it consists of 200-level classes, you will be challenged to take more responsibility for your own learning, conducting online research, book reading and video viewing, and study and practice of database design and implementation for a client including the acquisition of SQL coding syntax and habits.

A lot will be required of you, but this can make it all the more rewarding! By the end of the quarter you should have a firm handle on the Relational Databases, RDBMS, Tables, and the Structured Query Language (SQL).

Page 3: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

3

Instructor Information

Instructor: Craig DuckettEmail: [email protected]: CC3-321 (Third Floor of GLA)Office Hours: Mondays/Wednesdays 11:00am-1:00pm, and by appointment

Course Website

http://faculty.cascadia.edu/cduckett/bit276

StudentTracker

Page 4: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

4

Textbooks (Recommended for 276)The Second Edition of Mere Mortals is Also Okay to Use

Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (3rd Edition) Author: Michael J. HernandexCopyright: 2013ISBN-13: 978-0321884497 Pages: 672

The Language of SQL: How to Access Data in Relational Databases (1 Edition)Author: Larry RockoffCopyright: 2010ISBN-13: 978-1435457515 Pages: 256

Page 5: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

5

Laptops, Notebooks, USB Drives If you have a laptop or notebook you are greatly encouraged to bring this to class, since your personal computers may often prove more reliable than the computers in this lab.

If not, then you will need a USB thumb drive to do your work on and to transfer your files between school and home. Since most database files are quite small, the USB drive doesn't need to be a very big one.

Page 6: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

6

Tools and Resources

• XAMPP (First Part of Quarter)• MySQL Workbench (First Part of Quarter)• Azure (Second Part of Quarter)• Visual Studio Community 2013 (Second Part of Quarter)• SQL (W3Schools)• SQLCourse.com• SQLZoo.net• SQL (TutorialsPoint)• SQL Tutorial• SQL (TutsPlus)• Essential SQL• Learn SQL The Hard Way• Udemy Training (Free): Sachin Quickly Learns SQL• Udemy Training (Free): Database Design • Udemy Training (Free): MySQL Database for Beginners• Udemy Training (Free): SQL Server for Beginners

Page 7: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

7

The Team Project

Five Phase Due Dates

One (1) Team Project for a Client (3-to-4 Members on Team) 1000 points Total

• Phase 1: Discovery (200 Points) DUE TUESDAY, FEBRUARY 2nd • Phase 2: Design (200 Points) DUE TUESDAY, FEBRUARY 16th • Phase 3: Develop (200 Points) DUE TUESDAY, MARCH 1st • Phase 4: Distribute (200 Points) DUE THURSDAY, MARCH 10th • Phase 5: Documentation (200 Points) DUE THURSDAY, MARCH 17th (Last Day of Class)

Page 8: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

8

Assessment announcements, upcoming due dates, etc, will be posted here on each lecture slide going forward.

• Getting the Database Projects• Voting on the Projects• Creating the Teams• PHASE 1: DISCOVERY DUE: Tuesday, February 2nd, uploaded to Team Web Site

and ZIPPED and uploaded to StudentTracker by Phase 1 Project Manager

An overview of upcoming assignments, etc, will be posted here.

Page 9: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

9

Course Website WALK THROUGH http://faculty.cascadia.edu/cduckett/bit276

Page 10: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

10

• Database System Development Lifecycle and Analysis

Page 11: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

11

Database System Development Lifecycle

Page 12: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.
Page 13: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

13

Database Planning

Page 14: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

14

Database Planning

Identify how the stages can be completed in the most effective and efficient way.

During the database planning phase, four major activities are performed:

Review and approve the database project request. Prioritize the database project request. Allocate resources such as time, people, money, and tools. Arrange a development team to develop the database project.

Page 15: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

15

Database Planning

Database planning should also include the development of standards that govern how data will be collected, how the format should be specified, what necessary documentation will be needed.

Two steps:

1. Mission Statement : Major aims for the Database Project.

2. Mission Objectives : Tasks that the database should support, driven through fact finding techniques: interviews, email, questionnaires, etc

Page 16: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

16

Database Planning and Mission Statement

Interviewing the client/owner/business director, etc:

What is the purpose of your company?

Why do you need the database?

How can the database solve your problem?

Page 17: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

17

Database Planning and Mission Statement

EXAMPLE Interviewing Buck’s Burgers:

What is the purpose of your company?To prepare and sell quick service food to fulfill our guest's needs in a cleaner environment than our competitors.

Why do you need the database?We have many branches all over Washington, that offers different cosines, which drive a data management problem, sharing of information between branches (for examples : favorite meals, number of employees) which help in business decision making.

How can the database solve your problem?No more paperwork, automating daily tasks, cooperation between branches.

Page 18: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

18

Database Planning and Mission Statement

Buck’s Burgers Database Project Mission Statement

The purpose of the BB DB project is to maintain the data that is used and generated to support the fast food business for our client and to

support sharing information between branches and in decision making.

Clearer View of the Project

Page 19: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

19

Database Planning and Mission Objectives

Interviewing different staff:

Job description.

Daily tasks.

Data that they deal with.

Daily reports.

Type of things they keep track on.

Customer services.

Page 20: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

20

Database Planning and Mission Objectives

1. To manage (add, delete, update) data on branches.

2. To manage (add, delete, update) data on staff.

3. To manage (add, delete, update) on meals.

4. To manage (add, delete, update) on clients.

5. To perform searches on branches.

6. To perform searches on staff.

7. To perform searches on meals.

8. To perform searches on clients

Page 21: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

21

System Definition

Page 22: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

22

System Definition

Identify System boundaries at a very high level, for example: Current users. Current application areas.

Example: Recktell Realty

Page 23: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

23

System Definition

Identify User views; Define what is required of a database application from the perspective of:

A particular job role (such as Manager or Supervisor) or Enterprise application area (such as marketing or personnel).

Page 24: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

24

Requirements Collection and Analysis

Page 25: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

25

Requirements Collection and Analysis

Collecting and analyzing information about the part of organization to be supported by the database system, and using this information to identify users’ requirements of new system.

Identifying the required functionality for a database system is crucial, as systems with inadequate functionality will fail.

Information is gathered for each major user view including: a description of data used or generated; details of how data is to be used/generated; any additional requirements for new database system.

Page 26: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

26

Requirements Collection and Analysis

An important activity is to decide how to manage the requirements for a database system with multiple user views.

Three main approaches:

Centralized approach

View integration approach

Combination of both approaches

Page 27: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

27

Requirements Collection and Analysis: Centralized Approach

Page 28: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

28

Requirements Collection and Analysis: View Integration Approach

Page 29: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

29

Requirements Collection and Analysis

Critical to capture necessary facts to build the required database application.

These facts are captured using fact-finding techniques.

When Are Fact-Finding Techniques Used? Fact-finding used throughout database application lifecycle. Crucial to early stages including database planning, system definition, and

requirements collection and analysis stages.

Page 30: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

30

Requirements Collection and Analysis

Fact-Finding Techniques:

1. Examining documentation

2. Interviewing (unstructured/structured & open/closed ended questions)

3. Observing organization in operation

4. Research

5. Questionnaires (free-format and fixed-format)

Page 31: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

31

Database Design

Page 32: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

32

Database Design

Creating a design for a database that will support the enterprise’s mission statement and mission objectives for the required database system.

Main aims: To represent data and relationships required

by users and applications. To provide a data model which supports transactions. To specify a design that meets performance requirements.

Page 33: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

33

Database Design

Three main phases of database design:

Conceptual Database Design• Create a conceptual data model Independent of any implementation details.

Logical Database Design (What)• At this point you know which type of DBMS you will implementing in - e.g. relational, object-oriented etc

(but not the actual DBMS).• Test the correctness of the data model through normalization.

Physical Database Design (How)• Derive tables & constraints.• Identify storage structures and access methods.• Design security features.

Page 34: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

34

DBMS Selection

Page 35: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

35

DBMS Selection

Selection of an appropriate DBMS to support the database system.

Undertaken at any time prior to logical design.

Main steps for selecting a DBMS:

Define Terms of Reference of study; Shortlist two or three products; Evaluate products; Recommend selection and produce report.

Page 36: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

36

Application Design

Page 37: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

37

Application Design

Design of user interface and application programs that use and process the database.

Database design and application design are often parallel activities

Includes two important activities:

transaction design

user interface design

Page 38: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

38

Prototyping

Page 39: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

39

Prototyping

Building working model of a database system to evaluate how the final system will look and function.

Purpose:

to identify features of a system that work well, or are inadequate

to suggest improvements or even new features

to clarify the users’ requirements

to evaluate feasibility of a particular system design.

Page 40: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

40

Implementation

Page 41: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

41

Implementation

Physical realization of the database and application designs.

Create database schemas and empty database files. (DDL)

Create the application programs. (DML and ASP or PHP or JAVA or C# or ? ...)

Page 42: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

42

Data Conversion and Loading

Page 43: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

43

Data Conversion and Loading

Transferring any existing data into new database and converting any existing applications to run on new database.

Only required when new database system is replacing an old system.

Page 44: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

44

Testing

Page 45: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

45

Testing

Process of running the database system with intent of finding errors.

Use carefully planned test strategies and realistic data.

Demonstrates that database and application programs appear to be working according to requirements.

Page 46: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

46

Operational Maintenance

Page 47: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

47

Operational Maintenance

Process of monitoring and maintaining database system following installation.

Operational Maintenance Activities:

Monitoring performance of system.

Maintaining and upgrading database application.

Incorporating new requirements into DB application.

Page 48: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.

In-Class Exercises

Unlike the BIT275 class, there will be no IN-CLASS EXERCISES for the BIT276 class. The time normally set aside for doing ICEs will be dedicated each class period for TEAM work.

Starting with the next class on Thursday, we will start the process of putting the teams together, and have the teams set up and finalized next week.

Survey: http://goo.gl/forms/Am2K0ANo8t

Page 49: (Winter 2016) Instructor: Craig Duckett Lecture 01: Tuesday, January 5 th Orientation and Introduction 1.