Top Banner
1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul [email protected]
73

1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul [email protected].

Jan 11, 2016

Download

Documents

Scott Todd
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

1302325 s1 2011Advance Database Systems

Week-2

Dr.Kwanchai [email protected]

Page 2: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Week-1-Homework

• Marking criteria.1. You have successfully created your database. (2.5

marks)2. You have successfully populated your data into

your big table. (2.5 marks)3. You have successfully populated your data into

your normalized tables (2.5 marks)4. Your have demonstrated the enforcement of

foreign key constraints for your database. (2.5 marks)

Page 3: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Homework-Week-2

1. Data Population (Normalization from last week)

2. HTML processing3. Venn Diagram Creation

Page 4: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Homework-Week-2

1. Data Population (Normalization from last week)

Page 5: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Homework-Week-2

1. HTML processing

Your DOM.php

Page 6: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

HTML processing (Your DOM.php)

Page 7: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Homework-Week-2

1. Venn Diagram Creation

Page 8: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Homework-Week-2

1. Venn Diagram Creation

Page 9: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

End of the homework

Page 10: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Goal

• Data Integration Systems for …

Page 11: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Contents

• Constraints• Concurrency Controls• XML Basics• Venn Diagram• Google Maps

Page 12: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Normalization

Page 13: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Create Table and Constraints

• CREATE TABLE `village` ( `vill_id` int(11) NOT NULL, `vill_moo` varchar(10) DEFAULT NULL, `vill_name` varchar(100) DEFAULT NULL, `tambon_tam_id` char(10) NOT NULL, PRIMARY KEY (`vill_id`), foreign key (tambon_tam_id) references tambon(tam_id)) ENGINE=innodb DEFAULT CHARSET=utf8;

Page 14: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Sync Workbench with DBUpdate model

Page 15: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Now We got an updated Model

• Don’t forget to drag a new table into a new model

Page 16: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

We need to populate data into new tables

Page 17: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

We need to populate data into new tables

Page 18: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Select Datause advancedb54;select * from villagebigtable;

Page 19: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Closer Look

Page 20: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

How many records we have in villageBigTable?

Page 21: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

How many records we have in villageBigTable?

Page 22: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

We need to populate data into new tables

• From where to where?

Page 23: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

We need to populate data into new tables

• From where to where?

Page 24: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Let’s analyse village ID

Page 25: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

How many digits is used for provinceID

• province-district_name-sub_district_name-moo

• 50-02-09-13• เชี�ยงใหม่-จอม่ทอง-แม่สอย-หม่�13 => ห�วยพั�ฒนา• 50-03-01-02• เชี�ยงใหม่-แม่แจม่-ชีางเคิ้��ง-หม่�2 =>ต่อเรื�อ

Page 26: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

We need to populate data into new tables

• From where to where? Let’s start with region table;

Page 27: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

How to populate a region table?

Page 28: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

How to populate a region table?

• We need to get the unique name of the region_name from villageBigTable; => How?

Page 29: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

How to populate a region table?

• We need to get the unique name of the region_name from villageBigTable; => How?

• select distinct region_name from villagebigtable;

Page 30: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

select distinct region_name from villagebigtable;

Page 31: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

select distinct region_name from villagebigtable;

Page 32: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Concurrency control Google doc

Page 33: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

How many digits is used for provinceID

• Village_ID =>Province+district_name+sub_district_name+moo

Page 34: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Course Details• Course Description• Relational database theory, object-oriented database system, distributed

database system, active database, distributed object-oriented database system, data warehouse, data mining, digital library, dynamic database system, and reasoning management database system.

• Course Objectives • After completing the course students should be able to• 1. Understand the concepts for Advance Database System and XML.• 2. Know and select tools for Advance Database Systems and XML.• 3. Able to develop programs by using the knowledge from 1. And 2.

Page 35: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Course OutlinesWeek Topic Date Lab Brief Content1 Reviews of Database Management Systems 3/11/2554 Basic PHP Programming-file processing SQL and Query Evaluation

2 XML 10/11/2554 Basic PHP Programming-function Introduction to XML technology XML XML How to useXML TreeXML SyntaxXML ElementsXML Attributes

3 DTD 17/11/2554 DTD Construction and Validation DTD StructureElementsAttributesElements vs AttralidationExamples

4 XML Schema/ XML namespace 24/11/2553 XML Schema Consturction and Validation-Simple Type How to declare the XML schema.How to refer XML schema in your XML document.How to construct the XML schemaHow to construct the simpleType elements for XML schemaHow to use restriction on simpleType

5 XML Schema 1/12/2554 XML Schema Consturction and Validation-Complex Type Complex TypesElementsMixedIndicators<any><anyAttribute>Data Types

6 Xpath 8/12/2554 PHP Implementation for Xpath IntroNodesSyntax

7 Xpath-Advance 15/12/2554 PHP Implementation for Xpath-1 Syntax cont.AxesOperatorsExamples

8 Xquery 22/12/2554 XQuery Evaluation with Eclipse-1 IntroExampleFLWOR expressionXQuery Syntax

9 Mid-Term 29/12/2554 10 Xquery-cont. 5/01/2555 XQuery Evaluation with Eclipse-2 XQuery Add

XQuery SelectXQuery Functions

11 XSLT 12/01/2555 XSLT programming with Eclipse and PHP-1 XML TransformationXSLT Basic informationXSLT Syntax and Running Examplea. Templateb. Value-ofc. For-each

12 XSLT-cont. 19/01/2555 XSLT programming with Eclipse and PHP-2 SortIFCHOOSEAPPLY TEMPLATEXSL Element and XSL AttributeProcessing XSL at server sideSetting Webserver and PHP to support XSLT

13 Web Services 26/01/2555 Remote Web Services Invocation WebservicesBasic conceptWebservices componentWSDL 1.1

14 Web Services cont. 2/02/2555 Implementation of Web Service Platforms WSDL 2.0, SOAP, UDDI

15 AJAX 9/02/2555 AJAX, Web Service, XML and Database Management Systems Create ObjectXHR RequestXHR Response readyStateAJAX ASP/PHPAJAX DatabaseAJAX XML File

16 Distributed Query Processing 16/02/2555 PHP and FQL implementation Facebook Query Language (FQL) Syntax, Function and Tables

17 Final 23/02/2555

Page 36: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Week-1

• Lecture• Reviews of Database Management Systems– SQL and Query Evaluation

• Lab– From Spreadsheets to the Web

Page 37: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Week-1:Lecture

• Reviews of Database Management Systems– SQL and Query Evaluation

• Introduction• Data Modeling• SQL

Page 38: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Exercise

• Let’s create an E-R for the following data (using a SQL statement)

39

Page 39: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Create a table

Page 40: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Show create table village

Page 41: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Village-ER

Page 42: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Village-ER => Normalization?

Page 43: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Village-ER => Normalization?

Why do we need normalization?

Page 44: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Village-ER => Normalization?

Page 45: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Now we need to populate the data

Page 46: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Week-1-Lab

• From Spreadsheets to the Web1. Spreadsheets (MSExcel) to Relational DB

(MySQL)2. MySQL to Web (PHP)3. Web (PHP) to WebService (Google Map)

Page 47: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Pre-requisite

• You need to have the following applications on your machine– Your local Web server (appserv)– Your IDE (Eclipse)– Mysql workbench

• Internet

Page 48: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Your local Web server (appserv)

• If you use appserv 2.6.x you might have a problem about calling phpMyAdmin

• You need to make a call to 127.0.0.1 instead• And you need to change the config file and

reboot

Page 49: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

From Spreadsheets to the Web

1. Spreadsheets (MSExcel) to Relational DB (MySQL)

1. Let’s see Thai version created by my advisees.

Page 50: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Villages in ChiangMai

Page 51: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

In CVS

Page 52: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Use MySQL workbench to create your database

Page 53: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Create Your Database

Page 54: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Some time you need to synchronize your model with your localhost

Page 55: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Output at localhost

Page 56: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Let’s import data from excel

Page 57: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Error Why?

Page 58: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Wrong Selection => Select your table

Page 59: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Now Select a file to import

Page 60: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Error Again

Page 61: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Choose the right option

Page 62: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Don’t forget to set your encoding

Page 63: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Choose the right option

Page 64: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Week-1-Lab

• From Spreadsheets to the Web1. Spreadsheets (MSExcel) to Relational DB

(MySQL)2. MySQL to Web (PHP)3. Web (PHP) to WebService (Google Map)

Page 65: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

PHP Code

Page 66: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Output

Page 67: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Your turn: I want sub_district_name

1. No duplicate

Page 68: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Your turn: I want sub_district_name

1. No duplicate

select distinct sub_district_namefrom village;

Page 69: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Write Your program

Page 70: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Output

Page 71: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Fix it

• http://www.thaicreate.com/community/php-mysql-thai.html

Page 72: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Modify your code

Page 73: 1302325 s1 2011 Advance Database Systems Week-2 Dr.Kwanchai Eurviriyanukul Kwanchai@rmutl.ac.th.

Thai