2. 2
Objectives
To understand the relational database model.
queries database using SQL (Structured Query
Language).
To understand the MySQL database server.
To learn various database interfaces.
3. 3
Introduction
Database
An integrated collection of data
Database Management System (DBMS)
Provides mechanism for storing and organizing data
in a manner that is consistent with the database’s
format.
The most popular database systems are
relational database
Use a language called SQL (Structured Query
Language)
4. 4
Introduction
Popular database systems
Microsoft SQL Server, OracleTM
, SybaseTM
InformixTM
andMySQLTM.
An interface
Software that facilitates communication
between a database management system
and a program.
Examples: Perl DBI for Perl, DB-API for
Python and dbx module for PHP.
5. 5
Relational Database Model
A logical presentation of data.
Allows relationships among items of the
data.
Does not concern about the physical
structure of the data.
Is composed of tables
Tables are composed of rows and columns
Has primary key for referencing data
7. 7
Relational Database Model
stud_ID stud_name age cgpa
1111 Lily 19 3.40
2222 Kim 18 2.75
3333 Ali 21 3.00
Database Name: Student_Record
Table Name: Score
Primary key
A major strength of the relational model:
supports simple, powerful querying of data.
8. 8
SQL (Structured Query Language)
Developed by IBM in the 1970s.
Two Categories of SQL Statement.
1. Data manipulation
• SELECT, INSERT, DELETE
2. Data definition
• CREATE DATABASE, DROP DATABASE
• CREATE TABLE, DROP TABLE
9. 9
Basic SELECT Query
SELECT column_name
FROM table_name
WHERE condition;
Select all columns from a table
SELECT * FROM table_name
SELECT * FROM Score
Select specific column(s) from a table
SELECT student_name FROM Score
SELECT student_name, age FROM Score
10. 10
Basic SELECT Query
Specify the selection criteria for the query.
SELECT student_id, cgpa
FROM Score
WHERE age > 18;
Use pattern matching to search for similar
strings
SELECT student_id, cgpa
FROM Score
WHERE student_name LIKE ‘K*’;
11. 11
Basic SELECT Query
Use pattern matching to search for strings in which
exactly ONE character takes the selected
character(?) place
SELECT student_id, cgpa
FROM Score
WHERE student_name LIKE ‘?i*’; 2nd
letter
Arrange in ascending or descending order
SELECT column_name1, column_name2,…
FROM table_name
ORDER BY column_name ASC;
12. 12
Basic SELECT Query
Arrange in ascending or descending order
SELECT column_name1, column_name2,…
FROM table_name
ORDER BY column_name DESC;
SELECT student_ID, student_name, cgpa
FROM Score
ORDER BY student_name DESC;
13. 13
Basic SELECT Query
Arrange rows in ascending order by multiple
columns
SELECT column_name1, column_name2,...
FROM table_name
ORDER BY column_name1 SortingOrder1,
column_name2 SortingOrder2,... ;
SELECT student_ID, student_name, cgpa
FROM Score
ORDER BY student_name, age
14. 14
Use SELECT to join tables
Use an INNER JOIN to merge rows from
two or more tables by testing for matching
values.
SELECT column_name1, column_name2,...
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name =
table_name2.column_name;
15. 15
Use SELECT to join tables
SELECT student_name, blood_group,...
FROM Score
INNER JOIN Medical
ON Score.student_ID = Medical.student_ID
ORDER BY student_name;
The query combines the student_name and cgpa
columns from table Score and column
blood_group from table Medical, sorting the result
in ascending order by student_name
16. 16
Use SELECT to join tables
SELECT table_name1.colx,
table_name2.coly...
FROM table_name1, table_name2
WHERE condition;
SELECT Score.student_name, Score.cgpa,
Medical.blood_group
FROM Score, Medical
WHERE Score.student_ID = Medical.student_ID;
17. 17
SQL Statement: INSERT
INSERT INTO table_name
(col1, col2, col3, ...)
VALUES
(‘text1’,’text2’...,num1,…);
INSERT INTO Score (student_id, cgpa)
VALUES(4444, 3.5);
INSERT INTO Score
VALUES(4444,’John’,19,3.5);
19. 19
SQL Statement: UPDATE
UPDATE table_name
SET column_name1 = value1,
column_name2 = value2,
…
WHERE criteria;
UPDATE Score
SET student_name = ‘Kimchi’,
age = 20,
WHERE student_ID = 3333;
20. 20
MySQL
Multiuser, multithreaded RDBMS server
Uses SQL to interact with and manipulate
data
Few important features
Enable multiple tasks concurrently – requesting
process is more efficient
Support various programming language
Available for all common platforms
Full support of functions and operators to
manipulate data
Accessing tables from different database using a
single query
Able to handle large database
25. 25
Introduction to Database Interface
Perl Database Interface (DBI)
Enables user to access relational database from
Perl program.
Database independent – allows migration among
DBMS
Uses object-oriented interface – handles
PHP dbx module
An XHTML-embedded scripting language
Database interface that does not interact with
database directly
It interacts with one of several database-specific
module
26. 26
Introduction to DBI
Phyton DB-API
Database Application Programming
Interface
Consists of :
Connection data object – access the database
Cursor data object – manipulate and retrieve
data
Portable across several databases
27. 27
ADO.NET Object Model
Provides an API for accessing database
systems programmatically.
Was created for .NET framework
Was designed to interact with
Microsoft’s Component Object ModelTM
(COM) framework.
Further reading : Textbook, page 736
28. 28
Summary
What is database?
The most popular database – relational
database
SQL for database queries
Database consists table(s)
Two Categories of SQL Statement.
1. Data manipulation
• SELECT, INSERT, DELETE,UPDATE
2. Data definition
DBI – Perl DBI, PHP dbx module, Python DB-
API
ADO.NET object Model