SlideShare a Scribd company logo
IELM 511 Information Systems Design
                        Labs 5 and 6. DB creation and Population

In this lab, your objective is to learn the basics of creating and managing a DB system. One
way to interact with the DBMS (MySQL) is to use the GUI provided by MySQL. However,
we shall use a separate interface, phpMyAdmin for most tasks in this lab and the next one.

Objectives of lab 5.
(a) Learn to create a database
(b) Learn to create tables in the database.

Objectives of lab 6.
(a) Learn to populate you DB tables.
(b) Learn the basics of developing a DB API using PHP CGI's.


As before, if you need to look up the syntax of some SQL command, you can use a good
online tutorial site, such as: http://www.w3schools.com/sql

Step 5.1. Create a DB using phpMyAdmin.
Before running this task, note that you should create a user account in MySQL, and assign
a password to the user. When you start phpMyAdmin, you will be presented with a screen
something like:




Use the link for "Create new database" to create a database called "bank".
After creating the database, click on the DB name, and then you can start creating tables.


Step 5.2. Create tables using phpMyAdmin.
You will learn three ways to create tables (two methods in lab 5, one in lab 6)
1. Using the GUI of phpMyAdmin program.
2. Using a SQL “CREATE TABLE …” command issued from phpMyAdmin GUI.
3. Using a CGI program to connect to your MySQL DB, and sending the command from
your CGI program

Before you create any table(s), please do your planning:

   - Names of all the tables.
   - All the attributes for each table
   - The domain constraint(s) for each attribute
   - The primary key for each table
   - The referential constraints (Foreign keys)

Conventions: Try to use a consistent convention for all names that you will assign.
For example:
All table names: First letter capitalized with no underscores: e.g. Loan.
All attribute names: lower case with underscores: name, ssn, start_date.
All constraint names: lower case, underscored; for example, a foreign key
constraints from in table Loan fk_loan_c1, etc.


1. How to use phpMyAdmin to create your own table?
1. Login in to phpMyAdmin, click on the database name on the left-hand-side
2. Enter the table name and number of fields, then click 'Go'.
3. For each attribute (field), enter the name and specify the type, length, set the
primary key, etc.; Click on “Save” to create the table.

Conventions: I suggest use only three data types: VARCHAR, DOUBLE and DATE.
Task: Use this method to create the 'Branch' table from your lecture notes.

2. How to use SQL command to create tables using phpMyAdmin
1. Click on the SQL tab (blue color) from any page of phpMyAdmin
2. Type your SQL command in a TXT file. Load the TXT file as below, and click 'Go'.


                                       bank                   localhost

       bank (-)




                  Type your SQL “create table ..” command in a TXT file.
                      Use this interface to load the query in this box




Task: Use this method to create all the tables of the 'bank' database from the lecture notes.



Step 6.1. Populate the tables using phpMyAdmin.
There are several ways to insert rows of data into a table:
1. Using the GUI provided by phpMyAdmin:
    - select the table
    - click on the "Insert" button, and
    - enter the data.
b_name char(30)
 city     char(60)

 assets double


                enter values here




2. The preferred way for this lab: Use the "insert into …" command of SQL, and type all
the store data commands into a TXT file3. Then load the file into the SQL interface and run
it.

3. It may be possible to import the data from some previously exported DB file (or even
from text or Excel files – however, you should not use that method for this lab.

Task: Use this method to populate all the tables you have created. For the tables in the lecture
notes, please use the same data as given (this will be later useful to test your homework
solutions!). For other tables, please use data consistent with the notes and the design.



Step 6.2. Learn the basics of developing a DB API using PHP CGI's.
In this lab, we will first learn the simplest method for a PHP program to connect to the
MySQL database. For now, you can use a modified version of the following PHP script,
and execute it directly from the phpDesigner (or compile it and run it from your local host.

NOTE: modify the portions that are in bold black.

    <?php
    $hostname = 'localhost';
    $username = 'root';
    $password = "password";

    $link = mysql_connect( $hostname, $username, $password ) or die("Could not
    connect : " . mysql_error());
    echo "Connected successfully!";

    $mydb = "dbname";
$db = mysql_select_db( $mydb ) or die("Could not select database");
   echo "Database " . $mydb . " selected.";

   // Note: values that are of type char( ) must be quoted; numbers are not in quotes.
   $query = "insert into mytable values( 'v1', 'v2', v3)";

   $result = mysql_query($query) or die("Query failed: " . mysql_error());

   /* $result is a special data structure; the function mysql_fetch_assoc is used to
      convert the returned table into a PHP associative array. */
   while ($row = mysql_fetch_assoc($result)) {
      echo $row['column_name_1'];
      echo $row['column_name_2'];
      echo $row['column_name_3'];
   }
   mysql_close($link);

   ?>


References:
1. HTML quick reference file.
2. PHP tutorials and function references: (from www.php.net)
3. PHP tutorial site: http://www.w3pop.com/learn/view/p/3/o/0/doc/php_ref_string/
4. Another PHP tutorial/reference: http://www.w3schools.com/PHP/php_ref_array.asp
5. MySQL tutorial/reference: http://www.w3schools.com/sql

Lab materials for IELM 511 prepared by WEI Xiangzhi, Dept of IELM, HKUST.

More Related Content

What's hot (19)

Introduction to php database connectivity
Introduction to php  database connectivityIntroduction to php  database connectivity
Introduction to php database connectivity
baabtra.com - No. 1 supplier of quality freshers
 
New: Two Methods of Installing Drupal on Windows XP with XAMPP
New: Two Methods of Installing Drupal on Windows XP with XAMPPNew: Two Methods of Installing Drupal on Windows XP with XAMPP
New: Two Methods of Installing Drupal on Windows XP with XAMPP
Rupesh Kumar
 
MYSQL - PHP Database Connectivity
MYSQL - PHP Database ConnectivityMYSQL - PHP Database Connectivity
MYSQL - PHP Database Connectivity
V.V.Vanniaperumal College for Women
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
webhostingguy
 
Php database connectivity
Php database connectivityPhp database connectivity
Php database connectivity
baabtra.com - No. 1 supplier of quality freshers
 
phptut4
phptut4phptut4
phptut4
tutorialsruby
 
PHP and Mysql
PHP and MysqlPHP and Mysql
PHP and Mysql
Sankhadeep Roy
 
2006 Esug Omnibrowser
2006 Esug Omnibrowser2006 Esug Omnibrowser
2006 Esug Omnibrowser
bergel
 
Database presentation
Database presentationDatabase presentation
Database presentation
webhostingguy
 
Conexcion java mysql
Conexcion java mysqlConexcion java mysql
Conexcion java mysql
jbersosa
 
Database Connectivity in PHP
Database Connectivity in PHPDatabase Connectivity in PHP
Database Connectivity in PHP
Taha Malampatti
 
4.3 MySQL + PHP
4.3 MySQL + PHP4.3 MySQL + PHP
4.3 MySQL + PHP
Jalpesh Vasa
 
Blocks In Drupal
Blocks In DrupalBlocks In Drupal
Blocks In Drupal
guest6fb0ef
 
Capability Driven Design - Rapid Talks - November 2020
Capability Driven Design - Rapid Talks - November 2020Capability Driven Design - Rapid Talks - November 2020
Capability Driven Design - Rapid Talks - November 2020
Andrzej Jóźwiak
 
Creating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login SystemCreating a Simple PHP and MySQL-Based Login System
Creating a Simple PHP and MySQL-Based Login System
Azharul Haque Shohan
 
System performance tuning
System performance tuningSystem performance tuning
System performance tuning
Menandro Oba
 
Php summary
Php summaryPhp summary
Php summary
Michelle Darling
 
My sql
My sqlMy sql
My sql
Nadhi ya
 
extending-php
extending-phpextending-php
extending-php
tutorialsruby
 

Viewers also liked (7)

wtst3_pettichord3
wtst3_pettichord3wtst3_pettichord3
wtst3_pettichord3
tutorialsruby
 
has_many_and_belongs_to_many
has_many_and_belongs_to_manyhas_many_and_belongs_to_many
has_many_and_belongs_to_many
tutorialsruby
 
rails.html
rails.htmlrails.html
rails.html
tutorialsruby
 
Devoxx%202008%20Tutorial
Devoxx%202008%20TutorialDevoxx%202008%20Tutorial
Devoxx%202008%20Tutorial
tutorialsruby
 
Accessing_MySQL_from_Ruby
Accessing_MySQL_from_RubyAccessing_MySQL_from_Ruby
Accessing_MySQL_from_Ruby
tutorialsruby
 
ruby-efl-tutorial-hsyl20
ruby-efl-tutorial-hsyl20ruby-efl-tutorial-hsyl20
ruby-efl-tutorial-hsyl20
tutorialsruby
 
rubyonrails
rubyonrailsrubyonrails
rubyonrails
tutorialsruby
 
Ad

Similar to lab56_db (20)

phptut4
phptut4phptut4
phptut4
tutorialsruby
 
PHP - Introduction to PHP Date and Time Functions
PHP -  Introduction to  PHP Date and Time FunctionsPHP -  Introduction to  PHP Date and Time Functions
PHP - Introduction to PHP Date and Time Functions
Vibrant Technologies & Computers
 
Complete SQL in one video by shradha.pdf
Complete SQL in one video by shradha.pdfComplete SQL in one video by shradha.pdf
Complete SQL in one video by shradha.pdf
rahulashu699
 
An introduction to Flask and Sqlite3 - revision 1
An introduction to Flask and Sqlite3 - revision 1An introduction to Flask and Sqlite3 - revision 1
An introduction to Flask and Sqlite3 - revision 1
sharonmharrison68
 
MySQL Presentation
MySQL PresentationMySQL Presentation
MySQL Presentation
Manish Bothra
 
Jdbc example program with access and MySql
Jdbc example program with access and MySqlJdbc example program with access and MySql
Jdbc example program with access and MySql
kamal kotecha
 
Download It
Download ItDownload It
Download It
webhostingguy
 
9780538745840 ppt ch08
9780538745840 ppt ch089780538745840 ppt ch08
9780538745840 ppt ch08
Terry Yoast
 
3-Chapter-Edit.pptx debre tabour university
3-Chapter-Edit.pptx debre tabour university3-Chapter-Edit.pptx debre tabour university
3-Chapter-Edit.pptx debre tabour university
alemunuruhak9
 
PHP FUNCTIONS
PHP FUNCTIONSPHP FUNCTIONS
PHP FUNCTIONS
Zeeshan Ahmed
 
Lab 2 Work with Dictionary and Create Relational Database (60 pts.).docx
Lab 2 Work with Dictionary and Create Relational Database (60 pts.).docxLab 2 Work with Dictionary and Create Relational Database (60 pts.).docx
Lab 2 Work with Dictionary and Create Relational Database (60 pts.).docx
VinaOconner450
 
Lab 2 Work with Dictionary and Create Relational Database (60 pts.docx
Lab 2 Work with Dictionary and Create Relational Database (60 pts.docxLab 2 Work with Dictionary and Create Relational Database (60 pts.docx
Lab 2 Work with Dictionary and Create Relational Database (60 pts.docx
DIPESH30
 
Object Oriented Programming with Laravel - Session 6
Object Oriented Programming with Laravel - Session 6Object Oriented Programming with Laravel - Session 6
Object Oriented Programming with Laravel - Session 6
Shahrzad Peyman
 
18. images in symfony 4
18. images in symfony 418. images in symfony 4
18. images in symfony 4
Razvan Raducanu, PhD
 
Using Mysql.pptx
Using Mysql.pptxUsing Mysql.pptx
Using Mysql.pptx
StephenEfange3
 
instaling
instalinginstaling
instaling
tutorialsruby
 
instaling
instalinginstaling
instaling
tutorialsruby
 
instaling
instalinginstaling
instaling
tutorialsruby
 
instaling
instalinginstaling
instaling
tutorialsruby
 
Php basics
Php basicsPhp basics
Php basics
Egerton University
 
Complete SQL in one video by shradha.pdf
Complete SQL in one video by shradha.pdfComplete SQL in one video by shradha.pdf
Complete SQL in one video by shradha.pdf
rahulashu699
 
An introduction to Flask and Sqlite3 - revision 1
An introduction to Flask and Sqlite3 - revision 1An introduction to Flask and Sqlite3 - revision 1
An introduction to Flask and Sqlite3 - revision 1
sharonmharrison68
 
Jdbc example program with access and MySql
Jdbc example program with access and MySqlJdbc example program with access and MySql
Jdbc example program with access and MySql
kamal kotecha
 
9780538745840 ppt ch08
9780538745840 ppt ch089780538745840 ppt ch08
9780538745840 ppt ch08
Terry Yoast
 
3-Chapter-Edit.pptx debre tabour university
3-Chapter-Edit.pptx debre tabour university3-Chapter-Edit.pptx debre tabour university
3-Chapter-Edit.pptx debre tabour university
alemunuruhak9
 
Lab 2 Work with Dictionary and Create Relational Database (60 pts.).docx
Lab 2 Work with Dictionary and Create Relational Database (60 pts.).docxLab 2 Work with Dictionary and Create Relational Database (60 pts.).docx
Lab 2 Work with Dictionary and Create Relational Database (60 pts.).docx
VinaOconner450
 
Lab 2 Work with Dictionary and Create Relational Database (60 pts.docx
Lab 2 Work with Dictionary and Create Relational Database (60 pts.docxLab 2 Work with Dictionary and Create Relational Database (60 pts.docx
Lab 2 Work with Dictionary and Create Relational Database (60 pts.docx
DIPESH30
 
Object Oriented Programming with Laravel - Session 6
Object Oriented Programming with Laravel - Session 6Object Oriented Programming with Laravel - Session 6
Object Oriented Programming with Laravel - Session 6
Shahrzad Peyman
 
Ad

More from tutorialsruby (20)

&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
tutorialsruby
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
tutorialsruby
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
tutorialsruby
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
tutorialsruby
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
tutorialsruby
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
tutorialsruby
 
CSS
CSSCSS
CSS
tutorialsruby
 
CSS
CSSCSS
CSS
tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascript
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
tutorialsruby
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascript
tutorialsruby
 

Recently uploaded (20)

GIS and FME: The Foundation to Improve the Locate Process of Utilities
GIS and FME: The Foundation to Improve the Locate Process of UtilitiesGIS and FME: The Foundation to Improve the Locate Process of Utilities
GIS and FME: The Foundation to Improve the Locate Process of Utilities
Safe Software
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use CasesDomino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use Cases
panagenda
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
FME Beyond Data Processing Creating A Dartboard Accuracy App
FME Beyond Data Processing Creating A Dartboard Accuracy AppFME Beyond Data Processing Creating A Dartboard Accuracy App
FME Beyond Data Processing Creating A Dartboard Accuracy App
Safe Software
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Jeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software DeveloperJeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software Developer
Jeremy Millul
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to KnowWhat is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
SMACT Works
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
GIS and FME: The Foundation to Improve the Locate Process of Utilities
GIS and FME: The Foundation to Improve the Locate Process of UtilitiesGIS and FME: The Foundation to Improve the Locate Process of Utilities
GIS and FME: The Foundation to Improve the Locate Process of Utilities
Safe Software
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Domino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use CasesDomino IQ – What to Expect, First Steps and Use Cases
Domino IQ – What to Expect, First Steps and Use Cases
panagenda
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical PodcastDevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
FME Beyond Data Processing Creating A Dartboard Accuracy App
FME Beyond Data Processing Creating A Dartboard Accuracy AppFME Beyond Data Processing Creating A Dartboard Accuracy App
FME Beyond Data Processing Creating A Dartboard Accuracy App
Safe Software
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Jeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software DeveloperJeremy Millul - A Talented Software Developer
Jeremy Millul - A Talented Software Developer
Jeremy Millul
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any ApplicationData Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to KnowWhat is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
What is Oracle EPM A Guide to Oracle EPM Cloud Everything You Need to Know
SMACT Works
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : IntroductionJira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyesEnd-to-end Assurance for SD-WAN & SASE with ThousandEyes
End-to-end Assurance for SD-WAN & SASE with ThousandEyes
ThousandEyes
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevExImproving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 

lab56_db

  • 1. IELM 511 Information Systems Design Labs 5 and 6. DB creation and Population In this lab, your objective is to learn the basics of creating and managing a DB system. One way to interact with the DBMS (MySQL) is to use the GUI provided by MySQL. However, we shall use a separate interface, phpMyAdmin for most tasks in this lab and the next one. Objectives of lab 5. (a) Learn to create a database (b) Learn to create tables in the database. Objectives of lab 6. (a) Learn to populate you DB tables. (b) Learn the basics of developing a DB API using PHP CGI's. As before, if you need to look up the syntax of some SQL command, you can use a good online tutorial site, such as: http://www.w3schools.com/sql Step 5.1. Create a DB using phpMyAdmin. Before running this task, note that you should create a user account in MySQL, and assign a password to the user. When you start phpMyAdmin, you will be presented with a screen something like: Use the link for "Create new database" to create a database called "bank". After creating the database, click on the DB name, and then you can start creating tables. Step 5.2. Create tables using phpMyAdmin. You will learn three ways to create tables (two methods in lab 5, one in lab 6)
  • 2. 1. Using the GUI of phpMyAdmin program. 2. Using a SQL “CREATE TABLE …” command issued from phpMyAdmin GUI. 3. Using a CGI program to connect to your MySQL DB, and sending the command from your CGI program Before you create any table(s), please do your planning: - Names of all the tables. - All the attributes for each table - The domain constraint(s) for each attribute - The primary key for each table - The referential constraints (Foreign keys) Conventions: Try to use a consistent convention for all names that you will assign. For example: All table names: First letter capitalized with no underscores: e.g. Loan. All attribute names: lower case with underscores: name, ssn, start_date. All constraint names: lower case, underscored; for example, a foreign key constraints from in table Loan fk_loan_c1, etc. 1. How to use phpMyAdmin to create your own table? 1. Login in to phpMyAdmin, click on the database name on the left-hand-side 2. Enter the table name and number of fields, then click 'Go'.
  • 3. 3. For each attribute (field), enter the name and specify the type, length, set the primary key, etc.; Click on “Save” to create the table. Conventions: I suggest use only three data types: VARCHAR, DOUBLE and DATE. Task: Use this method to create the 'Branch' table from your lecture notes. 2. How to use SQL command to create tables using phpMyAdmin 1. Click on the SQL tab (blue color) from any page of phpMyAdmin 2. Type your SQL command in a TXT file. Load the TXT file as below, and click 'Go'. bank localhost bank (-) Type your SQL “create table ..” command in a TXT file. Use this interface to load the query in this box Task: Use this method to create all the tables of the 'bank' database from the lecture notes. Step 6.1. Populate the tables using phpMyAdmin. There are several ways to insert rows of data into a table: 1. Using the GUI provided by phpMyAdmin: - select the table - click on the "Insert" button, and - enter the data.
  • 4. b_name char(30) city char(60) assets double enter values here 2. The preferred way for this lab: Use the "insert into …" command of SQL, and type all the store data commands into a TXT file3. Then load the file into the SQL interface and run it. 3. It may be possible to import the data from some previously exported DB file (or even from text or Excel files – however, you should not use that method for this lab. Task: Use this method to populate all the tables you have created. For the tables in the lecture notes, please use the same data as given (this will be later useful to test your homework solutions!). For other tables, please use data consistent with the notes and the design. Step 6.2. Learn the basics of developing a DB API using PHP CGI's. In this lab, we will first learn the simplest method for a PHP program to connect to the MySQL database. For now, you can use a modified version of the following PHP script, and execute it directly from the phpDesigner (or compile it and run it from your local host. NOTE: modify the portions that are in bold black. <?php $hostname = 'localhost'; $username = 'root'; $password = "password"; $link = mysql_connect( $hostname, $username, $password ) or die("Could not connect : " . mysql_error()); echo "Connected successfully!"; $mydb = "dbname";
  • 5. $db = mysql_select_db( $mydb ) or die("Could not select database"); echo "Database " . $mydb . " selected."; // Note: values that are of type char( ) must be quoted; numbers are not in quotes. $query = "insert into mytable values( 'v1', 'v2', v3)"; $result = mysql_query($query) or die("Query failed: " . mysql_error()); /* $result is a special data structure; the function mysql_fetch_assoc is used to convert the returned table into a PHP associative array. */ while ($row = mysql_fetch_assoc($result)) { echo $row['column_name_1']; echo $row['column_name_2']; echo $row['column_name_3']; } mysql_close($link); ?> References: 1. HTML quick reference file. 2. PHP tutorials and function references: (from www.php.net) 3. PHP tutorial site: http://www.w3pop.com/learn/view/p/3/o/0/doc/php_ref_string/ 4. Another PHP tutorial/reference: http://www.w3schools.com/PHP/php_ref_array.asp 5. MySQL tutorial/reference: http://www.w3schools.com/sql Lab materials for IELM 511 prepared by WEI Xiangzhi, Dept of IELM, HKUST.