0% found this document useful (0 votes)
6 views

Unit III - SQL

This document provides an overview of Database Management Systems (DBMS) and the Structured Query Language (SQL), detailing its components such as Data Definition Language (DDL) and Data Manipulation Language (DML). It outlines the steps to define a schema, including defining table names, attributes, data types, and constraints, as well as creating databases and tables. Additionally, it covers SQL queries for data retrieval, including selection, projection, and the use of operators like LIKE and aggregate functions.

Uploaded by

Pradisha P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Unit III - SQL

This document provides an overview of Database Management Systems (DBMS) and the Structured Query Language (SQL), detailing its components such as Data Definition Language (DDL) and Data Manipulation Language (DML). It outlines the steps to define a schema, including defining table names, attributes, data types, and constraints, as well as creating databases and tables. Additionally, it covers SQL queries for data retrieval, including selection, projection, and the use of operators like LIKE and aggregate functions.

Uploaded by

Pradisha P
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46

Database

Management
Systems and SQL

Session 1
The Language of DBMS

SQL
Structured Query Language
Standard language for querying and
manipulating data. Very widely used.
1. Data Definition Language (DDL)
– Create/alter/delete tables and their attributes
2. Data Manipulation Language (DML)
– Insert/delete/modify tuples in tables
Table name Attribute names

Tables in RDBMS
Product

PName Price Category Manufacturer

Gizmo 19.99 Gadgets GizmoWorks

Powergizmo 29.99 Gadgets GizmoWorks

SingleTouch 149.99 Photography Canon

MultiTouch 203.99 Household Hitachi

Tuples or rows 3
Steps to Define the Schema
Step 1: Define table name and its attributes
Product(PName, Price, Category, Manufacturer)
Product
PName Price Category Manufacturer

Gizmo 19.99 Gadgets GizmoWorks

Powergizmo 29.99 Gadgets GizmoWorks

SingleTouch 149.99 Photography Canon

MultiTouch 203.99 Household Hitachi


4
Data Types and Domain of Attributes
Product(PName, Price, Category, Manfacturer)

Basic data types


– Numeric
• Integer numbers: INTEGER, INT, and SMALLINT
• Floating-point (real) numbers: FLOAT or REAL, and
DOUBLE PRECISION
– Character-string
• Fixed length: CHAR(n), CHARACTER(n)
• Varying length: VARCHAR(n), CHAR VARYING(n),
CHARACTER VARYING(n)
5
Data Types and Domain of Attributes
– Boolean
• Values of TRUE or FALSE or NULL
– DATE
• Ten positions
• Components are YEAR, MONTH, and DAY in the
form YYYY-MM-DD
– Timestamp
• Includes the DATE and TIME fields
• Plus a minimum of six positions for decimal
fractions of seconds
• Optional WITH TIME ZONE qualifier 6
Steps to Define the Schema
Step 2: Define Data Types and Domain of Attributes.

Product(PName, Price, Category, Manfacturer)

Pname : Varchar,
Price: Float,
Category: Varchar
Manfacturer: Varchar

7
Step 3: Specifying Constraints.
Product(PName, Price, Category, Manfacturer)

Constraints: Restrictions on values of


Attribute.

• Specifying Attribute and Domain Constraints

• Specifying Key Constraints

• Specifying Key and Referential Integrity


Constraints

8
Specifying Attribute and Domain Constraints
• NOT NULL
NULL is not permitted for a particular attribute

• Default value
DEFAULT <value>

• CHECK clause
Dnumber > 0 AND Dnumber < 21;

• UNIQUE clause
Specifies attributes that have unique values 9
Specifying Key Constraints

• PRIMARY KEY clause


Specifies one or more attributes that make up the
primary key of a relation

 It is an attribute or a combination of attributes that


uniquely identifies the records/tuples

e.g. roll_no, account_no, Id etc.

PRIMARY KEY = NOT NULL+ UNIQUE


10
Schema of Table Product
Product(Pname varchar Primary Key,
Price float Not Null,
Category varchar, check(Gadget, Photography,
Household)
Manufacturer varchar )

Attribute Data Type Constraints


Pname Varchar Primary Key
Price Float Not Null
Category Varchar Gadget,
Photography,
Household

Manufacturer Varchar

11
LET’S CODE
TOGETHER!!

12
Creating a Database
Step 1. Create a Database Company
CREATE
CREATEDATABASE
DATABASE <DATABASE
<DATABASENAME>;
NAME>;

Create database company;


Step 2. USE Database
USE
USE <DATABASE
<DATABASENAME>;
NAME>;

use company;
Step 2. SHOW TABLES
show tables;
13
Creating a Table
Step 1. Create a TABLE
CREATE
CREATETABLE
TABLE <TABLE
<TABLENAME>
NAME> ((
<ATTRIBUTE
<ATTRIBUTELIST>
LIST> <DATA
<DATATYPE>
TYPE> <CONSTRAINT>,
<CONSTRAINT>,
<ATTR2>
<ATTR2> <DATA
<DATATYPE>,<CONSTRAINT>);
TYPE>,<CONSTRAINT>);
Attribute Data Type Constraints
Pname Varchar Primary Key
Price Float Not Null
Category Varchar Gadget,
Photography,
Household
Manufacturer Varchar
14
Creating a Table
create table product(Pname varchar(20) primary key,
Price float NOT NULL, Category varchar(20)
CHECK(category
in("Gadget","Photography","Household")),
Manufacturer varchar(20));

Attribute Data Type Constraints


Pname Varchar Primary Key
Price Float Not Null
Category Varchar Gadget,
Photography,
Household
Manufacturer Varchar
VIPS: Oct - Dec 2019 15
Show Existing Tables
Show
Showtables;
tables;

Describe structure of an Existing Table


Desc
Desc<tablename>;
<tablename>;

Desc product;
16
Insert records in Table
INSERT
INSERT INTO
INTO R(A1,….,
R(A1,….,An)
An) VALUES
VALUES (v1,….,
(v1,…., vn)
vn)

insert into product(Pname,Price,Category,Manufacturer) values


("Gizmo",19.99, "Gadgets", "GizmoWorks");
or
insert into product values("Gizmo",19.99, "Gadgets", "GizmoWorks");
insert into product values("Powergizmo",29.99, "Gadgets", "GizmoWorks");
insert into product values("SingleTouch",149.99, "Photography", "Canon");
insert into product values("MultiTouch",203.99, "Household", "Hitachi");

PName Price Category Manufacturer


Gizmo 19.99 Gadgets GizmoWorks

Powergizmo 29.99 Gadgets GizmoWorks

SingleTouch 149.99 Photography Canon

MultiTouch 203.99 Household Hitachi


17
Select Query
SELECT
SELECT <attributes>
<attributes>
FROM
FROM <one
<oneor or more
morerelations>
relations>
WHERE
WHERE <conditions>
<conditions>
Product

SELECT
SELECT ** FROM
FROM product;
product;

PName Price Category Manufacturer


“selection”
Gizmo 19.99 Gadgets GizmoWorks

Powergizmo 29.99 Gadgets GizmoWorks

SingleTouch 149.99 Photography Canon

MultiTouch 203.99 Household Hitachi

18
Select Query using Attributes
PName Price Category Manufacturer
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
Product
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT Pname,
Pname,Price
PriceFROM
FROMProduct
Product

PName Price
Gizmo 19.99
“projection” Powergizmo 29.99
SingleTouch 149.99
MultiTouch 203.99

19
Select Query using WHERE

Product PName Price Category Manufacturer


Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT**FROM
FROMProduct
ProductWHERE
WHERE
category=‘Gadgets’;
category=‘Gadgets’;

PName Price Category Manufacturer


“selection” with Gizmo 19.99 Gadgets GizmoWorks
where Powergizmo 29.99 Gadgets GizmoWorks

20
Select Query using WHERE

Product PName Price Category Manufacturer


Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT PName,
PName,Price,
Price,Manufacturer
Manufacturer
FROM
FROM Product
Product
WHERE
WHERE Price
Price>>100;
100;
PName Price Manufacturer
“selection” and SingleTouch 149.99 Canon

“projection” with MultiTouch 203.99 Hitachi

where 21
Select Query using WHERE
PName Price Category Manufacturer
Gizmo 19.99 Gadgets GizmoWorks

Product Powergizmo 29.99 Gadgets GizmoWorks


SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT PName,
PName,Price,
Price,Manufacturer
Manufacturer
FROM
FROM Product
Product
WHERE
WHERE Price
Price>>100
100and
and manufacturer
manufacturer=“Canon”;
=“Canon”;

Combine two or more PName Price Manufacturer


conditions Using
SingleTouch 149.99 Canon
and
22
Select Query using WHERE
PName Price Category Manufacturer
Product
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT PName,
PName,Price,
Price,Manufacturer
Manufacturer
FROM
FROM Product
Product
WHERE
WHERE Manufacturer
Manufacturer=“Hitachi”
=“Hitachi”or
or
Manufacturer
Manufacturer==“Canon”;
“Canon”;

PName Price Manufacturer


Combine two or more
conditions Using SingleTouch 149.99 Canon
or MultiTouch 203.99 Hitachi

23
Select Query using WHERE
PName Price Category Manufacturer
Product
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT PName,
PName,Price,
Price,Manufacturer
Manufacturer
FROM
FROM Product
Product
WHERE
WHERE manufacturer
manufacturer
IN(“Hitachi”,“Canon”);
IN(“Hitachi”,“Canon”);

PName Price Manufacturer


Replace OR with In
conditions Using SingleTouch 149.99 Canon
IN MultiTouch 203.99 Hitachi

24
The LIKE operator
SELECT
SELECT **
FROM
FROM Products
Products
WHERE
WHERE PName
PName LIKE
LIKE <pattern>
<pattern>

Pattern : pattern matching on strings. It contains two


special symbols:
% = any sequence of characters
_ = any single character

25
Like Operator with %
Product name that starts with P

Product PName Price Category Manufacturer


Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT **
FROM
FROM Product
Product
WHERE
WHERE Pname
Pnamelike
like‘p%’;
‘p%’;

PName Price Category Manufacturer

Powergizmo 29.99 Gadgets GizmoWorks


26
Like Operator with %
Product name that ends with Touch

Product PName Price Category Manufacturer


Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT **
FROM
FROM Product
Product
WHERE
WHERE Pname
Pnamelike
like‘%Touch’;
‘%Touch’;
PName Price Category Manufacturer
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi
27
Like Operator with %
Product name that contains e anywhere in the name

Product PName Price Category Manufacturer


Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT **
FROM
FROM Product
Product
WHERE
WHERE Pname
Pnamelike
like‘%e%’;
‘%e%’;

PName Price Category Manufacturer


Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
28
Like Operator with _ &%
Product name with second letter ‘o’
Product PName Price Category Manufacturer
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT **
FROM
FROM Product
Product
WHERE
WHERE Pname
Pnamelike
like‘_o%’;
‘_o%’;

PName Price Category Manufacturer

Powergizmo 29.99 Gadgets GizmoWorks


29
Like Operator with %
Product name with second last character ‘c’

Product PName Price Category Manufacturer


Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT **
FROM
FROM Product
Product
WHERE
WHERE Pname
Pnamelike
like‘%c_’;
‘%c_’;
PName Price Category Manufacturer
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi
30
Eliminating Duplicates
Category
SELECT
SELECT DISTINCT
DISTINCT category
category Gadgets
FROM
FROM Product;
Product; Photography
Household

Compare to:
Category
Gadgets
SELECT
SELECT category
category Gadgets
FROM
FROM Product;
Product; Photography
Household
31
Aggregate Functions

SQL supports several aggregation operations:

 Sum
 Max
 Min
 Avg
 Count

Except count, all aggregations apply to a single attribute

32
Aggregate Functions – SUM
Sum of Price of all Products
Product PName Price Category Manufacturer
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT sum(price)
sum(price)
FROM
FROM Product;
Product;

403.96

33
Aggregate Functions – MAX
Max of Price of all Products
Product PName Price Category Manufacturer
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT max(price)
max(price)
FROM
FROM Product;
Product;

203.96

34
Aggregate Functions – MIN
Min of Price of all Products
Product PName Price Category Manufacturer
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT min(price)
min(price)
FROM
FROM Product;
Product;

19.99

35
Aggregate Functions – AVG
Avg of Price of all Products
Product PName Price Category Manufacturer
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT avg(price)
avg(price)
FROM
FROM Product;
Product;

100.99

36
Aggregate Functions – COUNT
Total number of Products
Product PName Price Category Manufacturer
Gizmo 19.99 Gadgets GizmoWorks
Powergizmo 29.99 Gadgets GizmoWorks
SingleTouch 149.99 Photography Canon
MultiTouch 203.99 Household Hitachi

SELECT
SELECT count(price)
count(price)
FROM
FROM Product;
Product;

4
SELECT
SELECT count(*)
count(*)
FROM
FROM Product;
Product;
37
More Examples
Query Sql

Max price of Gadgets Select Max(price) from


category Products product where
category=“Gadgets”

Total no of products in Select count(*) from product


Household category where Category=“Household”

Count total no. of categories Select


Count(Distinct(category) )
from product

38
PName Price Category Manufacturer
WRITE Gizmo 19.99 Gadgets GizmoWorks

THE Powergizmo
SingleTouch
29.99
149.99
Gadgets
Photography
GizmoWorks
Canon
QUERY MultiTouch 203.99 Household Hitachi

Problem Statement SQL Query


Average Price of Gizmo Works
manufacturer ?
Total price of Gizmo Works manufacturer
?
Count total number of manufacturers
?
Count number of products that contains ‘o’
in their name
?

39
Ordering the Results
SELECT
SELECT pname,
pname, price,
price, manufacturer
manufacturer
FROM
FROM Product
Product
WHERE
WHERE manufacturer=‘GizmoWorks’
manufacturer=‘GizmoWorks’AND ANDprice
price>> 50
50
ORDER
ORDERBYBY price,
price, pname;
pname;
• Ties are broken by the second attribute on the ORDER
BY list, etc.

• Also works without Where


• Ordering is ascending, unless you specify the DESC
keyword.

SELECT
SELECT pname,
pname, price,
price, manufacturer
manufacturer
FROM
FROM Product
Product
ORDER
ORDERBYBY price
priceDESC;
DESC;
40
PName Price Category Manufacturer
FIND Gizmo 19.99 Gadgets GizmoWorks

THE Powergizmo 29.99 Gadgets GizmoWorks


SingleTouch 149.99 Photography Canon
RESULT MultiTouch 203.99 Household Hitachi

SELECT
SELECT DISTINCT
DISTINCTcategory
?
category
FROM
FROM Product
Product
ORDER
ORDERBYBYcategory
category

SELECT
SELECT Category
?
Category
FROM
FROM Product
Product
ORDER
ORDERBYBY PName
PName

SELECT
SELECT DISTINCT
DISTINCTcategory
?
category
FROM
FROM Product
Product
ORDER
ORDERBYBYPName
PName 41
Practice Exercise

42
Create a new table in your current database
‘COMPANY’ with the following schema

Attribute Data Type Constraints

Cname Varchar Primary Key

Reg_Date Date Not Null

Stock_Price Float

Country Varchar

43
Create a new table named ‘COMPDTLS’ in your
current database with the following schema

Attribute Data Type Constraints


CompName Varchar Primary Key
RegDate Date Not Null
StockPrice Float

Country Varchar

COMPDTLS( CompName varchar Primary Key,


RegDate Date Not Null,
StockPrice Float
Country varchar )

44
Insert the following Records in COMPDTLS

CompName RegDate StockPrice Country

GizmoWorks 2019/10/21 25 USA

Canon 2019/10/3 65 Japan

Hitachi 2019/10/10 15 India

45
Write SQL Queries for:
1. List the details of all companies
2. List the registration date of all companies
3. Show the details of all companies of Japan
4. List the company name whose stock price is 65
5. List the companies of Japan or India
6. Show the maximum stock price.
7. Show the average stock price.
8. Show the distinct countries
9. Show the total no of countries
10. Show the company name whose country name ends with ‘a’.

46

You might also like