Appahost Model Cloudacus LAMP Appaserver Tim Riley Why

  • Slides: 52
Download presentation
Appahost Model Cloudacus = LAMP + Appaserver ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver ©Tim Riley

Why LAMP? Why Linux? Why Apache? Why My. SQL? Which Programming Language? ©Tim Riley

Why LAMP? Why Linux? Why Apache? Why My. SQL? Which Programming Language? ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver What is a structured database? ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver What is a structured database? ©Tim Riley

What is a structured database? Set Name Database sets are also known as: *

What is a structured database? Set Name Database sets are also known as: * categories * tables * folders * collections ©Tim Riley

What is a structured database? Set Name Attribute 1 Attribute 2 … Attribute n

What is a structured database? Set Name Attribute 1 Attribute 2 … Attribute n datatype Attributes are also known as: * columns * fields * properties ©Tim Riley

What is a structured database? Set Name Attribute 1 Attribute 2 … Attribute n

What is a structured database? Set Name Attribute 1 Attribute 2 … Attribute n datatype Examples of datatypes: * Integer number * Floating point (real) number * Date * Time * Line of text * Notepad of text ©Tim Riley

Example Set Person full_name skin_color religion height_inches weight_pounds birth_date annual_income general_characterists ©Tim Riley text

Example Set Person full_name skin_color religion height_inches weight_pounds birth_date annual_income general_characterists ©Tim Riley text integer date float notepad

Set Elements Sets contain elements Person Full Name Linus Torvalds Guido van Rossum Bill

Set Elements Sets contain elements Person Full Name Linus Torvalds Guido van Rossum Bill Henry Gates III ©Tim Riley Elements are also known as: * members * records * rows * tuples

Making Subsets Person full_name skin_color religion height_inches weight_pounds birth_date annual_income general_characterists ©Tim Riley text

Making Subsets Person full_name skin_color religion height_inches weight_pounds birth_date annual_income general_characterists ©Tim Riley text integer date float notepad

Set Relationships Set 1 Set 2 Verb phrase ©Tim Riley

Set Relationships Set 1 Set 2 Verb phrase ©Tim Riley

Set Relationships Person State Reside in ©Tim Riley

Set Relationships Person State Reside in ©Tim Riley

Many Set Relationships Person State Reside in Attend School ©Tim Riley

Many Set Relationships Person State Reside in Attend School ©Tim Riley

Many Set Relationships Person State Reside in Born in ©Tim Riley

Many Set Relationships Person State Reside in Born in ©Tim Riley

Set Relationship Types Set 1 Set 2 Verb phrase There are 5 types of

Set Relationship Types Set 1 Set 2 Verb phrase There are 5 types of set relationships: 1) many-to-one 2) one-to-many 3) many-to-many 4) one-to-one 5) is-a ©Tim Riley

Many-to-one Relationship Person State Reside in many ”Many persons ©Tim Riley one reside in

Many-to-one Relationship Person State Reside in many ”Many persons ©Tim Riley one reside in one state. ”

One-to-many Relationship Person State Has resident many one Reverse the arrow to reverse the

One-to-many Relationship Person State Has resident many one Reverse the arrow to reverse the relationship. ”One state has as residents many persons. ” ©Tim Riley

Many-to-many Relationship Person State Visit many ”One person can visit many states. And one

Many-to-many Relationship Person State Visit many ”One person can visit many states. And one state can have as visitors many persons. ” ©Tim Riley

One-to-one Relationship Office Phone Has one ”One office has one phone. ” ©Tim Riley

One-to-one Relationship Office Phone Has one ”One office has one phone. ” ©Tim Riley one

Is-a Relationship Accountant Person Is a one ”An accountant is a person. ” ©Tim

Is-a Relationship Accountant Person Is a one ”An accountant is a person. ” ©Tim Riley one

Enforcing Business Rules Two broad categories of business rule enforcement are: 1) Implementational restrictions

Enforcing Business Rules Two broad categories of business rule enforcement are: 1) Implementational restrictions (bad) 2) Integrity constraints (good) ©Tim Riley

Enforcing Business Rules Implementational restrictions are business rules the information system cannot enforce. Person

Enforcing Business Rules Implementational restrictions are business rules the information system cannot enforce. Person State Reside in many ©Tim Riley one

Implementational Restrictions Person State Visit many ©Tim Riley many

Implementational Restrictions Person State Visit many ©Tim Riley many

Implementational Restrictions Person State one many Person Visit ©Tim Riley

Implementational Restrictions Person State one many Person Visit ©Tim Riley

Enforcing Business Rules Integrity constraints are business rules the information system succeeds at enforcing.

Enforcing Business Rules Integrity constraints are business rules the information system succeeds at enforcing. Two imperative integrity constraints are: 1) Relational integrity 2) Element uniqueness ©Tim Riley

Enforcing Business Rules Relational integrity is the constraint that an element in each set

Enforcing Business Rules Relational integrity is the constraint that an element in each set must exist in order for a relationship to exist between them. Person many A person element can exist without residing in a state. ©Tim Riley State Reside in one A state element can exist without any persons residing in it.

Enforcing Business Rules Element uniqueness is the constraint that an element cannot exist more

Enforcing Business Rules Element uniqueness is the constraint that an element cannot exist more than once in a set. Person full_name text * Only one person named Bill Henry Gates III can belong to the person set. The set of attributes enforcing uniqueness is called the primary key. ©Tim Riley

Element Uniqueness Natural primary key: the set of attributes that naturally enforce uniqueness. Names

Element Uniqueness Natural primary key: the set of attributes that naturally enforce uniqueness. Names are likely to be naturally duplicated. Person full_name street_address text * If a set has more than one attribute assigned to its primary key, then it's called a multi-attribute primary key. ©Tim Riley

Element Uniqueness Primary keys naturally occur. To identify the natural primary key, always consider

Element Uniqueness Primary keys naturally occur. To identify the natural primary key, always consider the four dimensions. Uniqueness can always be naturally identified with: 1) Longitude 2) Latitude 3) Elevation 4) Time ©Tim Riley All of the organization's places should be categorized. All events need a date/time stamp.

Element Uniqueness Foreign key: in a many-to-one relationship, the many table needs to have

Element Uniqueness Foreign key: in a many-to-one relationship, the many table needs to have as attributes the primary key of the one table. Person full_name street_address state ©Tim Riley State Reside in text * many text one Foreign key is the primary key of the one table. state text * Primary key of the one table.

Element Uniqueness Mutable primary keys: The value of primary keys can change when using

Element Uniqueness Mutable primary keys: The value of primary keys can change when using Appaserver. Person full_name street_address text * You can change the person's name if she gets married or change the street address if he moves. ©Tim Riley

Story Telling: Seabed Study ©Tim Riley

Story Telling: Seabed Study ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver ©Tim Riley

Cloudacus = LAMP + Appaserver ©Tim Riley

Cloudacus = LAMP + Appaserver ©Tim Riley

Appaserver's Database Structure Is described by Table table_name text * Table is the relational

Appaserver's Database Structure Is described by Table table_name text * Table is the relational database synonym for set. ©Tim Riley many Column column_name text * Column is the relational database synonym for attribute.

Appaserver's Database Structure Table Is described by many ©Tim Riley many Column

Appaserver's Database Structure Table Is described by many ©Tim Riley many Column

Appaserver's Database Structure Folder folder Attribute text * many Appaserver stores tables in the

Appaserver's Database Structure Folder folder Attribute text * many Appaserver stores tables in the table called ”Folder. ” ©Tim Riley many attribute text * Appaserver stores columns in the table called ”Attribute. ”

Appaserver's Database Structure Folder folder Attribute text * attribute one many Folder_Attribute folder attribute

Appaserver's Database Structure Folder folder Attribute text * attribute one many Folder_Attribute folder attribute ©Tim Riley text *

Appaserver's Database Structure Storing Relationships State Person Reside in Attend School ©Tim Riley

Appaserver's Database Structure Storing Relationships State Person Reside in Attend School ©Tim Riley

Appaserver's Database Structure Storing Relationships Person Is a Accountant ©Tim Riley Is a Teacher

Appaserver's Database Structure Storing Relationships Person Is a Accountant ©Tim Riley Is a Teacher

Appaserver's Database Structure Storing Relationships Folder Has relationship many ©Tim Riley

Appaserver's Database Structure Storing Relationships Folder Has relationship many ©Tim Riley

Appaserver's Database Structure Storing Relationships Folder ©Tim Riley Relation

Appaserver's Database Structure Storing Relationships Folder ©Tim Riley Relation

Relational Database Operations 1) Select 2) Insert 3) Update 4) Delete ©Tim Riley

Relational Database Operations 1) Select 2) Insert 3) Update 4) Delete ©Tim Riley

Building Non-trivial Databases ©Tim Riley

Building Non-trivial Databases ©Tim Riley

Appaserver's Screen Types 1) Insert 2) Lookup 3) Update 4) View 5) Detail ©Tim

Appaserver's Screen Types 1) Insert 2) Lookup 3) Update 4) View 5) Detail ©Tim Riley

Insert Screen ©Tim Riley

Insert Screen ©Tim Riley

Insert Screen ©Tim Riley

Insert Screen ©Tim Riley

Lookup Screen ©Tim Riley

Lookup Screen ©Tim Riley

Update Screen ©Tim Riley

Update Screen ©Tim Riley

View Screen ©Tim Riley

View Screen ©Tim Riley

Detail Screen ©Tim Riley

Detail Screen ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver Tim. Riley@Appahost. com ©Tim Riley

Appahost Model Cloudacus = LAMP + Appaserver Tim. Riley@Appahost. com ©Tim Riley