+ All Categories
Home > Documents > DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E....

DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E....

Date post: 26-Mar-2015
Category:
Upload: daniel-williamson
View: 217 times
Download: 3 times
Share this document with a friend
Popular Tags:
32
DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University [email protected]
Transcript
Page 1: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

DB Application Design (1)

IS 240 – Database Management

Lecture #16 – 2004-04-13Prof. M. E. Kabay, PhD, CISSP

Norwich University

[email protected]

Page 2: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

2 Copyright © 2004 M. E. Kabay. All rights reserved.

Topics

Functions of DB ApplicationViewsUser Interface DesignHomework

Page 3: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

3 Copyright © 2004 M. E. Kabay. All rights reserved.

Functions of DB Application

OLAP: OnLine

Analytical Processing –

decision support SW

OLAP cubes: multidimensional

database like 3D (or nD) spreadsheet for

seeing many different views of data

Page 4: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

4 Copyright © 2004 M. E. Kabay. All rights reserved.

CRUD

Four basic functions common to all DB

applications CreateReadUpdateDelete

Hence CRUD

Page 5: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

5 Copyright © 2004 M. E. Kabay. All rights reserved.

Format/Materialize

Independent aspects of DB dataData content = viewAppearance = materialization or format

Materialize = to design appearance of DB application

Page 6: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

6 Copyright © 2004 M. E. Kabay. All rights reserved.

Enforce Constraints

Structural constraintsDomain specificationsUniquenessRelationship constraints

E.g., “no order detail without order header”

Business rulesNon-structural, non-obvious; e.g., ___________________________________

{rule from a student DB}

Think of an

example here.

Page 7: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

7 Copyright © 2004 M. E. Kabay. All rights reserved.

Provide Control and Security

Six fundamental goals of information security

ConfidentialityControl or possessionData integrityAuthenticityAvailabilityUtility

Think of examples of

each of these in a database

application

Page 8: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

8 Copyright © 2004 M. E. Kabay. All rights reserved.

Execute Application Logic

Applications execute business logicActions in one part of a DB usually imply

effects on other partsE.g., in hospital application

Issuing prescription in hospital pharmacy implies modifying current inventory

Reaching re-order point initiates order to supplier

Order to supplier implies changes to current budget line-item

Page 9: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

9 Copyright © 2004 M. E. Kabay. All rights reserved.

Topics

Functions of DB ApplicationViewsUser Interface DesignHomework

Page 10: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

10 Copyright © 2004 M. E. Kabay. All rights reserved.

Views

Structured list of data attributes Projection or subset

From complete list of available entitiesOr semantic objects Defined in data model

Can be materialized or formatted as On-line form or Hard-copy report orGraphical representation

StaticDynamic

Page 11: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

11 Copyright © 2004 M. E. Kabay. All rights reserved.

View: Structured ListCustomer view: Structured List of Attributes

for an Art Gallery DB [Figure 10-4(a), p. 263]

CUSTOMER.Name

CUSTOMER.AreaCode

CUSTOMER.LocalNumber

TRANSACTION.PurchaseDate

TRANSACTION.SalesPrice . . .

WORK.ARTIST.Name

WORK.Title

WORK.Copy

ARTIST.Name . . .

What do the ellipses

imply?

Page 12: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

12 Copyright © 2004 M. E. Kabay. All rights reserved.

Sample Data for Customer View

Jackson, Elizabeth206284-6783

7/15/944,300

Mark TobeyLithograph One10/75

2/5/992,500

Juan MiroPoster 145/250

11/22/9717,850

Juan MiroAwakening Child1/1

Juan MiroMark TobeyDennis Frings

Figure 10-4 (b), p. 263

What is all

this?

Page 13: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

13 Copyright © 2004 M. E. Kabay. All rights reserved.

View Create

Create

INSERT INTO CUSTOMER

(CUSTOMER.Name, CUSTOMER.City)

VALUES (NewCust.CUSTOMER.Name, NewCust.CUSTOMER.City)

Page 14: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

14 Copyright © 2004 M. E. Kabay. All rights reserved.

View Read

Read

SELECT CUSTOMER.CustomerID, CUSTOMER.Name

FROM CUSTOMER, WORK

WHERE CUSTOMER.CustomerID = WORK.CustomerID

Page 15: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

15 Copyright © 2004 M. E. Kabay. All rights reserved.

View Update

Update

INSERT INTO CUSTOMER

(CUSTOMER.Name, CUSTOMER.City)

VALUES (NewCust.CUSTOMER.Name, NewCust.CUSTOMER.City)

Page 16: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

16 Copyright © 2004 M. E. Kabay. All rights reserved.

View Delete Cascading deletions depend on relationship

cardinality

??

Page 17: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

17 Copyright © 2004 M. E. Kabay. All rights reserved.

Topics

Functions of DB ApplicationViewsUser Interface DesignHomework

Page 18: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

18 Copyright © 2004 M. E. Kabay. All rights reserved.

User Interface Design

Form Structure Follows View Structure & User Needs

Structure Should Guide ActionsGood Form Design Can Prevent CatastropheDrop-Down Menus Restrict Choices and

Reduce ErrorsRadio Buttons for Mutually Exclusive OptionsCursor MovementsFunction KeysContext-specific HELP

Page 19: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

19 Copyright © 2004 M. E. Kabay. All rights reserved.

Form Structure (1)

No absolute, unambiguous algorithm for determining where to place dataForm structure follows

View structure & User needs

Vary among users Group form elements logically / ergonomically

User should naturally see data as being related to each other

Sequence should reflect natural usage patterns from user point of view

Or among groups of users (functions)

Page 20: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

20 Copyright © 2004 M. E. Kabay. All rights reserved.

Form Structure (2)

Consider hospital DB with PATIENT, DOCTOR and PATIENT-DOCTOR tables

Discuss ways you could group information rationally on forms to helpDoctors treating individual patientsA head nurse responsible for

managing an entire floor

What are the issues you would

have to think about when designing the

forms?

Page 21: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

21 Copyright © 2004 M. E. Kabay. All rights reserved.

Form Structure (3)

DOCTOR'S FORM

Patient:Name XXXXAge xxBed xx

Status:Date/Time Heart Respiration Temp xxxx xx xx xx xxxx xx xx xx xxxx xx xx xx xxxx xx xx xx

Treatment Schedule:xxxxxxxxxxxxxxxxxxxxxxxxxx

Notes:

Page 22: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

22 Copyright © 2004 M. E. Kabay. All rights reserved.

Form Structure (4)

Head Nurse Form

Bed Patient Nurse Next med Current status T H Rxxx xxxxx xxxx xxxxxx xxxxx xxxxx xxxxxxx xxxxx xxxx xxxxxx xxxxx xxxxx xxxxxxx xxxxx xxxx xxxxxx xxxxx xxxxx xxxxxxx xxxxx xxxx xxxxxx xxxxx xxxxx xxxxxxx xxxxx xxxx xxxxxx xxxxx xxxxx xxxx

Nurse Beds CoveredXxxxx xxx xxx xxx xxx xxx xxx xxxXxxxx xxx xxx xxx xxx xxx xxx xxxXxxxx xxx xxx xxx xxx xxx xxx xxxXxxxx xxx xxx xxx xxx xxx xxx xxx

Doctor Pager #Xxxx xxxxXxxx xxxxXxxx xxxxXxxx xxxx

Page 23: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

23 Copyright © 2004 M. E. Kabay. All rights reserved.

Structure Should Guide Actions (1)

Design form so that it's easy to do the right thing and hard to make mistakes; e.g.,Highlight fields for visibility where user is

expected to enter dataGray out fields where user is forbidden to

enter or change dataSet field length to imply or limit acceptable

input; e.g., "State" field can be 2 characters only

If possible, use lists of allowed data See later – e.g., drop-down boxes, radio

buttons. . . .

Page 24: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

24 Copyright © 2004 M. E. Kabay. All rights reserved.

Structure Should Guide Actions (2)

Can have different variations of forms for different functions; e.g.,DISPLAY form such as the ones discussed

for doctors and for head nurses may mostly show data but allows few changes

Discuss which fields might change in the forms shown in these notes

NEW PATIENT form specifies fields for all the data needed for registration to collect appropriate information

Page 25: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

25 Copyright © 2004 M. E. Kabay. All rights reserved.

Good Form Design Can Prevent CatastropheChemical plant in Netherlands

Computer-controlled reaction vesselsOperator entered numerical codes into form

on screen to determine compounds entering vats

1992: data entry errorOperator typed 634 instead of 632 in numerical

code for tank # of 1 of 2 compoundsMixture of wrong chemicals caused massive

explosionPlant destroyed; 3 firemen killed & 11

employees injuredDiscuss how better form design could have

prevented accident

Page 26: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

26 Copyright © 2004 M. E. Kabay. All rights reserved.

Drop-Down Menus Restrict Choices and Reduce Errors

In the example of the explosion, a good form design might have shown a choice of allowable combinations instead of allowing any combination including explosive pairs

Drop-down menus are perfect for showing allowed choices; e.g.,

Enter compound #1 Enter compound #2

A

B

C

D

12345

A

C

E

G

12354

Page 27: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

27 Copyright © 2004 M. E. Kabay. All rights reserved.

Radio Buttons for Mutually Exclusive Options

Drop-down boxes are useful for data-dependent choices that can change

When there are fixed choices that are mutually exclusive, radio buttons make it intuitively easy for the user to understand the restriction:

Select one of the following meal plans:

21/week

14/week

7/week

Per meal

Page 28: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

28 Copyright © 2004 M. E. Kabay. All rights reserved.

Cursor Movements

Make the cursor move from field to field in a way that reflects what the user will be doing

For example, if a doctor tends to fill in information in a particular way, make the ENTER and TAB keys move the cursor to the logically-next field; e.g., Let doctor enter next treatmentENTER moves cursor to next line in list TAB moves cursor to next field (e.g.,

Notes)Be consistent in use of these keys

Page 29: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

29 Copyright © 2004 M. E. Kabay. All rights reserved.

Function Keys

All special functions that are assigned to function keys (e.g., ESC, F1 F2 F3. . . ) should be available in drop-down menus

If you define function keys, be absolutely consistent; e.g., if F1 is HELP, it should be HELP in every

form;If ESC moves to the previous (or higher)

form, it should always do so throughout the application

Page 30: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

30 Copyright © 2004 M. E. Kabay. All rights reserved.

Context-specific HELPGeneral help (e.g., from F1 key or pulldown

menu)Provides overview of entire formMay have hyperlinks for specific

informationProvides suggestions for additional topicsAllows navigation to an index of help

topicsMay provide find function

Help-cursorAllows user to point to specific part of

formBrings up pop-up help to explain meaning

or choices for particular field or feature

? Pop-up Help

Page 31: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

31 Copyright © 2004 M. E. Kabay. All rights reserved.

Homework

Reread Chapter 10, pp 257-274 using the full SURVEY-QUESTION-READ-RECITE-REVIEW phases of SQ3R

Read ahead to complete the chapter for next Thursday’s class

REQUIRED: For Tuesday 20 April for 46 pointsComplete and hand in printed replies to

Group 1 Questions 10.1 through 10.23Remember to include the question itself in

your answer sheets (makes them much more useful for review)

Page 32: DB Application Design (1) IS 240 – Database Management Lecture #16 – 2004-04-13 Prof. M. E. Kabay, PhD, CISSP Norwich University mkabay@norwich.edu.

32 Copyright © 2004 M. E. Kabay. All rights reserved.

DISCUSSION


Recommended