Presentation is loading. Please wait.

Presentation is loading. Please wait.

Creating databases for web applications SQL. Systems design. ER diagrams. Data flow diagrams. Storyboards. Homework: Plan database and applications for.

Similar presentations


Presentation on theme: "Creating databases for web applications SQL. Systems design. ER diagrams. Data flow diagrams. Storyboards. Homework: Plan database and applications for."— Presentation transcript:

1 Creating databases for web applications SQL. Systems design. ER diagrams. Data flow diagrams. Storyboards. Homework: Plan database and applications for a library: produce ERD and DFD

2 SQL Select SELECT field1, field2, … FROM table1 WHERE condition AND condition GROUP BY fieldi HAVING condition … ORDER … LIMIT … More complex SELECT adds SELECT field1, field2, … FROM table1 JOIN ON condition WHERE condition ….

3 System analysis and design Tools for planning –communication with clients (specific diagrams may not always be shown, but used to support discussion) –communication with builders Attempt to focus on function before implementation –logical design versus physical design non-tech meaning of term

4 Models Information model = Entity relationship diagrams –Ask yourself: what is the critical information? What are the relationships (what fields in one table point to other records?) Process model = data flow –What are the (main) processes? Who initiates these processes? What data stores are used and/or changed? Story board –What are the Web pages—the interfaces to the user (client/player/employee)? What is the flow from one Web page to another?

5 ER models Done before creating the tables as part of planning and after creating the tables, as documentation Logical/analysis level (what is in examples here) just defines fields and relationships. Physical/Design/Implementation level: data types and also estimates on number of records.

6 Entity-relationship Entity = the things (products, people, places, business concepts) –attributes = fields = properties Relationships = connections between things, as represented by a field in one table (attribute of an entity) pointing to an entity.

7 Primary keys and foreign keys A field (attribute) that uniquely defines a record in a table can be its primary key. –sometimes generated automatically by dbms In another table, the way to refer to this record would be by using the primary key value. This is called a foreign key in that other table.

8 Entity Relationship diagrams Blocks represent the records in the table. Typically, they list all the fields. Lines between the blocks represent relationships. The marks on the lines indicate the numbers, e.g., one to many, one to one. They also indicate what a minimum would be. –0 means that an entity in one table may not be referenced in the other at all.

9 Example: trivia quiz Tables are Questions Players History (that is, a question was asked [of] a player on a specific date, with outcome correct or not correct –Each item in History relates to a specific player and a specific question

10 Trivia quiz –http://socialsoftware.purchase.edu/jeanine.me yer/quiz/choosecategory.phphttp://socialsoftware.purchase.edu/jeanine.me yer/quiz/choosecategory.php –http://socialsoftware.purchase.edu/jeanine.me yer/quiz/showscores.phphttp://socialsoftware.purchase.edu/jeanine.me yer/quiz/showscores.php –http://socialsoftware.purchase.edu/jeanine.me yer/quiz/inputquestions.phphttp://socialsoftware.purchase.edu/jeanine.me yer/quiz/inputquestions.php No registration. Rule on asking questions.

11 Question databank table question_id Question Answer (answer pattern) Value Category Players table player_id Player name Score lastplayed date history table question_id player_id whenplayed correct 0 0

12 Course pre-req example In this design, each course has at most one pre-requisite course.

13 Course course title Division Pre-requisite 0 0

14 Course pre-reqs, more complete Each course can have no, 1, or any number of pre-requisites. TWO TABLES! –Courses –Statements of pre-reqs

15 Course Course title Division Statement of pre- requisites Course to be taken pre-required course (prior course) Each statement of pre-requisites refers to exactly one course and exactly one 'pre-req'. A course can be in either position, zero, one or several times. Creating Web Documents is a pre-req for Creating Dynamic Web Docs & Creating DBs for Web Some courses may have pre-requisites of more than one course. 0 0 0

16 Data design Sometimes done by taking the artifacts (forms, reports, screens) and writing down all those fields into first draft of records –These artifacts can be from the current system or the proposed materials for a new system Apply a technique called normalization to get well- defined entities and relationships. –First step is making sure each record has fixed number of fields. For example, not indefinite number of pre-reqs –Subsequent steps ensure that data is not repeated, so information only needs to be updated in one place Make customer data be in a customer file NOT in each transaction file –EXTRA CREDIT opportunity for posting

17 Process diagram Focus on Blocks –processes –agents (this could be people in specific roles or 'the system' triggered by events, including a time condition) –data stores: more general term than databases. Here we can use it to refer to tables that are in a database or file or built into script Connections –Agent engaged with process –Process using data store

18 Player Editor Play game Edit questions Questions table Player table Data flow diagram (process diagram) for quiz show History table

19 Story board more implementation based than the others Therefore, part of system build, not system design, or, perhaps, System Physical Design not Logical Design focus on the scripts and how the scripts call each other

20 Create quiz tables (php only) Input Questions (handles form input) Choose category Ask question Check answer Clear tables Include/Required file: opendbq Show scores

21 Entities for store Initial design catalog of products orders –one or more ordered items customer list Enhanced design Need 1 more table: call it ordered items

22 Product catalog Product id Product name Picture Cost Customer list Customer ID first name last name Billing information E-mail Password Order list Order ID Customer ID Date Status Total Ordered items Order ID Product Quantity 0 ER diagram for on-line store 0

23 Customer Billing system (timed event) Browse/ Order Billing Catalog Customer list Current orders Ordered items Shipping clerk Shipping Data flow (process) diagram for on-line store. Note that this is the information/data flow, not the flow of goods. The shipping operation produces a physical product: the collection of ordered items, packed and set off for delivery.

24 Storyboard of partial implementation: ordering Create tables (php only) Include/require: opendbo Input products Order product makeorder Shopping cart Submit order Delete current customer cookie Include/require: displaycartfunction

25 Song with features example Bare bones Song table and Feature table plus A song can have 0 or more features Intention is to provide way of detecting songs similar to a given song –Complex SQL statement!

26 Song features song id Name Description Year feature id name description feature of song fisid fid 0 0

27 Song with features storyboard createtables.php addsong.htmladdsong.php addfeature.html addfeature.php addfeaturestosong1.phpaddfeaturestosong2.php deletefeaturesinsongs.php findothers1.phpfindothers2.php listallfeaturesinsongs.php opendbe.php (included in all php files)

28 Songs with features DFD Add songs Identify songs Add features to song AdminFinder Add feature Song info Edit info

29 Agents Of course in these toy applications such as the songs with features, there is just one agent (me!) but Important to plan what are roles of system builders versus system users –End users (maybe customers, clients) –System maintainers Some social networking song sites do allow users to add songs, specify features, add features, etc.

30 Opportunity for improvement Functions mentioned but not implemented (in orange) Navigation could be better –specifically, going back or 'coming out of' steps. Where to go Teams will review and enhance these projects and present whole thing to the class.

31 Classwork / Homework Design ER and DFD for a library. YOUR job is to define entities, relationships, agents, data stores, processes. Logical design, not physical design Note: a data store could be manual. Don't be concerned with that. This is a paper-and-pencil activity, though you can using drawing tools in Word or Powerpoint or ??.

32 Homework Catch up programming. Post links to Information, etc. forum: –Simple parallel arrays application Like my state capital quiz –One table database application Like my books application Catch up unique sources assignments. Post on Sources you find forum: –php, MySQL (or SQL), regular expressions, ER or DFD or Select statement


Download ppt "Creating databases for web applications SQL. Systems design. ER diagrams. Data flow diagrams. Storyboards. Homework: Plan database and applications for."

Similar presentations


Ads by Google