Download Lecture 1 - Programajama!

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Global serializability wikipedia , lookup

DBase wikipedia , lookup

Commitment ordering wikipedia , lookup

Microsoft Access wikipedia , lookup

Serializability wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

SQL wikipedia , lookup

Btrieve wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

IMDb wikipedia , lookup

Oracle Database wikipedia , lookup

PL/SQL wikipedia , lookup

Ingres (database) wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Functional Database Model wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Concurrency control wikipedia , lookup

Database wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

ContactPoint wikipedia , lookup

Transcript
(Winter 2017)
Instructor: Craig Duckett
Lecture 01: Tuesday, January 3rd
Orientation and Introduction
1
INTRODUCTION
Welcome to the BIT276 Database Implementation class!
This is a fast-paced / student-governed / team-oriented class that will cover a lot of
ground. Because it is a 200-level class, you will be challenged to take full
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).
2
Instructor Information
Instructor: Craig Duckett
Email: [email protected]
Office: CC3-321 (Third Floor of GLA)
Office Hours: Mondays/Wednesdays 8:20am-10:20am, or by appointment
Course Website
http://faculty.cascadia.edu/cduckett/bit276
StudentTracker
3
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. Hernandex
Copyright: 2013
ISBN-13: 978-0321884497
Pages: 672
The Language of SQL: How to Access Data in Relational Databases
(1 Edition)
Author: Larry Rockoff
Copyright: 2010
ISBN-13: 978-1435457515
Pages: 256
4
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.
5
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
6
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, January 31st
Phase 2: Design (200 Points) DUE THURSDAY, February 16th
Phase 3: Develop (200 Points) DUE THURSDAY, March 2nd
Phase 4: Distribute (200 Points) DUE THURSDAY, MARCH 9th
Phase 5: Documentation (200 Points) DUE THURSDAY, MARCH 16th (Last Day of Class)
7
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, January 31st, 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.
8
Course Website WALK THROUGH
http://faculty.cascadia.edu/cduckett/bit276
9
• Database System Development Lifecycle and Analysis
10
Database System Development Lifecycle
11
12
Database Planning
13
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.
14
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
15
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?
16
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.
17
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
18
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.
19
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
20
System Definition
21
System Definition
 Identify System boundaries at a very high level, for example:
 Current users.
 Current application areas.
Example: Recktell Realty
22
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).
23
Requirements Collection and Analysis
24
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.
25
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
26
Requirements Collection and Analysis: Centralized Approach
27
Requirements Collection and Analysis: View Integration Approach
28
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.
29
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)
30
Database Design
31
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.
32
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.
33
DBMS Selection
34
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.
35
Application Design
36
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
37
Prototyping
38
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.
39
Implementation
40
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 ? ...)
41
Data Conversion and Loading
42
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.
43
Testing
44
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.
45
Operational Maintenance
46
Operational Maintenance
 Process
of
installation.
monitoring
and
maintaining
database
system following
 Operational Maintenance Activities:
 Monitoring performance of system.
 Maintaining and upgrading database application.
 Incorporating new requirements into DB application.
47
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
49