SlideShare uma empresa Scribd logo
1 de 22
Advance Database Management Systems :21
SQL 99 Schema Definition, Constraints, and Queries
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
Slide 8- 2
Data Definition, Constraints, and
Schema Changes
• Used to CREATE, DROP, and ALTER the
descriptions of the tables (relations) of a
database
Slide 8- 3
CREATE TABLE
• Specifies a new base relation by giving it a name, and
specifying each of its attributes and their data types
(INTEGER, FLOAT, DECIMAL(i,j), CHAR(n), VARCHAR(n))
• A constraint NOT NULL may be specified on an attribute
CREATE TABLE DEPARTMENT (
DNAME VARCHAR(10) NOT NULL,
DNUMBER INTEGER NOT NULL,
MGRSSN CHAR(9),
MGRSTARTDATE CHAR(9) );
Slide 8- 4
CREATE TABLE
• In SQL2, can use the CREATE TABLE command for specifying
the primary key attributes, secondary keys, and referential
integrity constraints (foreign keys).
• Key attributes can be specified via the PRIMARY KEY and
UNIQUE phrases
CREATE TABLE DEPT (
DNAME VARCHAR(10) NOT NULL,
DNUMBER INTEGER NOT NULL,
MGRSSN CHAR(9),
MGRSTARTDATE CHAR(9),
PRIMARY KEY (DNUMBER),
UNIQUE (DNAME),
FOREIGN KEY (MGRSSN) REFERENCES EMP );
Slide 8- 5
DROP TABLE
• Used to remove a relation (base table) and its
definition
• The relation can no longer be used in queries,
updates, or any other commands since its
description no longer exists
• Example:
DROP TABLE DEPENDENT;
Slide 8- 6
ALTER TABLE
• Used to add an attribute to one of the base
relations
– The new attribute will have NULLs in all the tuples of the
relation right after the command is executed; hence, the NOT
NULL constraint is not allowed for such an attribute
• Example:
ALTER TABLE EMPLOYEE ADD JOB VARCHAR(12);
• The database users must still enter a value for the
new attribute JOB for each EMPLOYEE tuple.
– This can be done using the UPDATE command.
Slide 8- 7
Features Added in SQL2 and SQL-99
• Create schema
• Referential integrity options
Slide 8- 8
CREATE SCHEMA
• Specifies a new database schema by giving it a
name
Slide 8- 9
REFERENTIAL INTEGRITY OPTIONS
• We can specify RESTRICT, CASCADE, SET NULL or SET DEFAULT on
referential integrity constraints (foreign keys)
CREATE TABLE DEPT (
DNAME VARCHAR(10) NOT NULL,
DNUMBER INTEGER NOT NULL,
MGRSSN CHAR(9),
MGRSTARTDATE CHAR(9),
PRIMARY KEY (DNUMBER),
UNIQUE (DNAME),
FOREIGN KEY (MGRSSN) REFERENCES
EMP
ON DELETE SET DEFAULT ON UPDATE
CASCADE);
Slide 8- 10
REFERENTIAL INTEGRITY OPTIONS
(continued)
CREATE TABLE EMP(
ENAME VARCHAR(30) NOT NULL,
ESSN CHAR(9),
BDATE DATE,
DNO INTEGER DEFAULT 1,
SUPERSSN CHAR(9),
PRIMARY KEY (ESSN),
FOREIGN KEY (DNO) REFERENCES DEPT
ON DELETE SET DEFAULT ON UPDATE
CASCADE,
FOREIGN KEY (SUPERSSN) REFERENCES EMP
ON DELETE SET NULL ON UPDATE CASCADE);
Slide 8- 11
Additional Data Types in SQL2 and
SQL-99
Has DATE, TIME, and TIMESTAMP data types
• DATE:
– Made up of year-month-day in the format yyyy-mm-dd
• TIME:
– Made up of hour:minute:second in the format hh:mm:ss
• TIME(i):
– Made up of hour:minute:second plus i additional digits
specifying fractions of a second
– format is hh:mm:ss:ii...i
Slide 8- 12
Additional Data Types in SQL2 and
SQL-99 (contd.)
• TIMESTAMP:
– Has both DATE and TIME components
• INTERVAL:
– Specifies a relative value rather than an absolute
value
– Can be DAY/TIME intervals or YEAR/MONTH
intervals
– Can be positive or negative when added to or
subtracted from an absolute value, the result is an
absolute value
Slide 8- 13
Retrieval Queries in SQL
• SQL has one basic statement for retrieving information from a
database; the SELECT statement
– This is not the same as the SELECT operation of the relational
algebra
• Important distinction between SQL and the formal relational
model:
– SQL allows a table (relation) to have two or more tuples that are
identical in all their attribute values
– Hence, an SQL relation (table) is a multi-set (sometimes called
a bag) of tuples; it is not a set of tuples
• SQL relations can be constrained to be sets by specifying
PRIMARY KEY or UNIQUE attributes, or by using the DISTINCT
option in a query
Slide 8- 14
Retrieval Queries in SQL (contd.)
• A bag or multi-set is like a set, but an element
may appear more than once.
– Example: {A, B, C, A} is a bag. {A, B, C} is also a bag
that also is a set.
– Bags also resemble lists, but the order is irrelevant
in a bag.
• Example:
– {A, B, A} = {B, A, A} as bags
– However, [A, B, A] is not equal to [B, A, A] as lists
Slide 8- 15
Retrieval Queries in SQL (contd.)
• Basic form of the SQL SELECT statement is called a mapping or
a SELECT-FROM-WHERE block
SELECT <attribute list>
FROM <table list>
WHERE <condition>
– <attribute list> is a list of attribute names whose values are to
be retrieved by the query
– <table list> is a list of the relation names required to process the
query
– <condition> is a conditional (Boolean) expression that identifies
the tuples to be retrieved by the query
Slide 8- 16
Relational Database Schema--Figure
Slide 8- 17
Populated Database
Slide 8- 18
Simple SQL Queries
• Basic SQL queries correspond to using the
following operations of the relational algebra:
– SELECT
– PROJECT
– JOIN
• All subsequent examples use the COMPANY
database
Slide 8- 19
Simple SQL Queries (contd.)
• Example of a simple query on one relation
• Query 0: Retrieve the birthdate and address of the employee
whose name is 'John B. Smith'.
Q0: SELECT BDATE, ADDRESS
FROM EMPLOYEE
WHERE FNAME='John' AND MINIT='B’
AND LNAME='Smith’
– Similar to a SELECT-PROJECT pair of relational algebra
operations:
• The SELECT-clause specifies the projection attributes and the
WHERE-clause specifies the selection condition
– However, the result of the query may contain duplicate tuples
Slide 8- 20
Simple SQL Queries (contd.)
• Query 1: Retrieve the name and address of all employees who
work for the 'Research' department.
Q1: SELECT FNAME, LNAME, ADDRESS
FROM EMPLOYEE, DEPARTMENT
WHERE DNAME='Research' AND DNUMBER=DNO
– Similar to a SELECT-PROJECT-JOIN sequence of relational
algebra operations
– (DNAME='Research') is a selection condition (corresponds to a
SELECT operation in relational algebra)
– (DNUMBER=DNO) is a join condition (corresponds to a JOIN
operation in relational algebra)
Slide 8- 21
Simple SQL Queries (contd.)
• Query 2: For every project located in 'Stafford', list the project number, the
controlling department number, and the department manager's last
name, address, and birthdate.
Q2: SELECT PNUMBER, DNUM, LNAME, BDATE, ADDRESS
FROM PROJECT, DEPARTMENT, EMPLOYEE
WHERE DNUM=DNUMBER AND MGRSSN=SSN
AND PLOCATION='Stafford'
– In Q2, there are two join conditions
– The join condition DNUM=DNUMBER relates a project to its
controlling department
– The join condition MGRSSN=SSN relates the controlling department to
the employee who manages that department
Assignment
• Explain the Schema Definition, Basic Constraints,
and Simple Queries in SQL-99

Mais conteúdo relacionado

Mais procurados

Introduction to Database Management System
Introduction to Database Management SystemIntroduction to Database Management System
Introduction to Database Management System
Hitesh Mohapatra
 

Mais procurados (20)

Functional dependancy
Functional dependancyFunctional dependancy
Functional dependancy
 
Functional dependency
Functional dependencyFunctional dependency
Functional dependency
 
Introduction to Database Management System
Introduction to Database Management SystemIntroduction to Database Management System
Introduction to Database Management System
 
Applications of DBMS(Database Management System)
Applications of DBMS(Database Management System)Applications of DBMS(Database Management System)
Applications of DBMS(Database Management System)
 
Mysql joins
Mysql joinsMysql joins
Mysql joins
 
Functional dependency and normalization
Functional dependency and normalizationFunctional dependency and normalization
Functional dependency and normalization
 
Sql commands
Sql commandsSql commands
Sql commands
 
Intrusion Detection System(IDS)
Intrusion Detection System(IDS)Intrusion Detection System(IDS)
Intrusion Detection System(IDS)
 
Dbms normalization
Dbms normalizationDbms normalization
Dbms normalization
 
Oracle: Joins
Oracle: JoinsOracle: Joins
Oracle: Joins
 
Codd's Rules for Relational Database Management Systems
Codd's Rules for Relational Database Management SystemsCodd's Rules for Relational Database Management Systems
Codd's Rules for Relational Database Management Systems
 
introdution to SQL and SQL functions
introdution to SQL and SQL functionsintrodution to SQL and SQL functions
introdution to SQL and SQL functions
 
integrity constraints
integrity constraintsintegrity constraints
integrity constraints
 
The relational data model part[1]
The relational data model part[1]The relational data model part[1]
The relational data model part[1]
 
MySQL JOINS
MySQL JOINSMySQL JOINS
MySQL JOINS
 
Relational Data Model Introduction
Relational Data Model IntroductionRelational Data Model Introduction
Relational Data Model Introduction
 
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with ExamplesDML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
DML, DDL, DCL ,DRL/DQL and TCL Statements in SQL with Examples
 
Sql DML
Sql DMLSql DML
Sql DML
 
Cyber Forensics & Challenges
Cyber Forensics & ChallengesCyber Forensics & Challenges
Cyber Forensics & Challenges
 
SQL(DDL & DML)
SQL(DDL & DML)SQL(DDL & DML)
SQL(DDL & DML)
 

Semelhante a Adbms 21 sql 99 schema definition constraints and queries

SQL.pptx
SQL.pptxSQL.pptx
SQL.pptx
SAIFKHAN41507
 
2. DBMS Experiment - Lab 2 Made in SQL Used
2. DBMS Experiment - Lab 2 Made in SQL Used2. DBMS Experiment - Lab 2 Made in SQL Used
2. DBMS Experiment - Lab 2 Made in SQL Used
TheVerse1
 
Database development coding standards
Database development coding standardsDatabase development coding standards
Database development coding standards
Alessandro Baratella
 

Semelhante a Adbms 21 sql 99 schema definition constraints and queries (20)

Sql (DBMS)
Sql (DBMS)Sql (DBMS)
Sql (DBMS)
 
SQL.pptx
SQL.pptxSQL.pptx
SQL.pptx
 
Chapter08
Chapter08Chapter08
Chapter08
 
DDL(Data defination Language ) Using Oracle
DDL(Data defination Language ) Using OracleDDL(Data defination Language ) Using Oracle
DDL(Data defination Language ) Using Oracle
 
DBMS LAB M.docx
DBMS LAB M.docxDBMS LAB M.docx
DBMS LAB M.docx
 
Chapter8
Chapter8Chapter8
Chapter8
 
SQL Overview
SQL OverviewSQL Overview
SQL Overview
 
Sql wksht-2
Sql wksht-2Sql wksht-2
Sql wksht-2
 
SQL-8 Table Creation.pdf
SQL-8 Table Creation.pdfSQL-8 Table Creation.pdf
SQL-8 Table Creation.pdf
 
Module 3
Module 3Module 3
Module 3
 
chapter 8 SQL.ppt
chapter 8 SQL.pptchapter 8 SQL.ppt
chapter 8 SQL.ppt
 
Sql server ___________session 3(sql 2008)
Sql server  ___________session 3(sql 2008)Sql server  ___________session 3(sql 2008)
Sql server ___________session 3(sql 2008)
 
SQL Server Select Topics
SQL Server Select TopicsSQL Server Select Topics
SQL Server Select Topics
 
UNIT-3.pptx
UNIT-3.pptxUNIT-3.pptx
UNIT-3.pptx
 
Dbms ii mca-ch7-sql-2013
Dbms ii mca-ch7-sql-2013Dbms ii mca-ch7-sql-2013
Dbms ii mca-ch7-sql-2013
 
Db1 lecture4
Db1 lecture4Db1 lecture4
Db1 lecture4
 
2. DBMS Experiment - Lab 2 Made in SQL Used
2. DBMS Experiment - Lab 2 Made in SQL Used2. DBMS Experiment - Lab 2 Made in SQL Used
2. DBMS Experiment - Lab 2 Made in SQL Used
 
Database development coding standards
Database development coding standardsDatabase development coding standards
Database development coding standards
 
mis4200notes4_2.ppt
mis4200notes4_2.pptmis4200notes4_2.ppt
mis4200notes4_2.ppt
 
Chapter – 6 SQL Lab Tutorial.pdf
Chapter – 6 SQL Lab Tutorial.pdfChapter – 6 SQL Lab Tutorial.pdf
Chapter – 6 SQL Lab Tutorial.pdf
 

Mais de Vaibhav Khanna

Mais de Vaibhav Khanna (20)

Information and network security 47 authentication applications
Information and network security 47 authentication applicationsInformation and network security 47 authentication applications
Information and network security 47 authentication applications
 
Information and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithmInformation and network security 46 digital signature algorithm
Information and network security 46 digital signature algorithm
 
Information and network security 45 digital signature standard
Information and network security 45 digital signature standardInformation and network security 45 digital signature standard
Information and network security 45 digital signature standard
 
Information and network security 44 direct digital signatures
Information and network security 44 direct digital signaturesInformation and network security 44 direct digital signatures
Information and network security 44 direct digital signatures
 
Information and network security 43 digital signatures
Information and network security 43 digital signaturesInformation and network security 43 digital signatures
Information and network security 43 digital signatures
 
Information and network security 42 security of message authentication code
Information and network security 42 security of message authentication codeInformation and network security 42 security of message authentication code
Information and network security 42 security of message authentication code
 
Information and network security 41 message authentication code
Information and network security 41 message authentication codeInformation and network security 41 message authentication code
Information and network security 41 message authentication code
 
Information and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithmInformation and network security 40 sha3 secure hash algorithm
Information and network security 40 sha3 secure hash algorithm
 
Information and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithmInformation and network security 39 secure hash algorithm
Information and network security 39 secure hash algorithm
 
Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...Information and network security 38 birthday attacks and security of hash fun...
Information and network security 38 birthday attacks and security of hash fun...
 
Information and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authenticationInformation and network security 37 hash functions and message authentication
Information and network security 37 hash functions and message authentication
 
Information and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theoremInformation and network security 35 the chinese remainder theorem
Information and network security 35 the chinese remainder theorem
 
Information and network security 34 primality
Information and network security 34 primalityInformation and network security 34 primality
Information and network security 34 primality
 
Information and network security 33 rsa algorithm
Information and network security 33 rsa algorithmInformation and network security 33 rsa algorithm
Information and network security 33 rsa algorithm
 
Information and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystemsInformation and network security 32 principles of public key cryptosystems
Information and network security 32 principles of public key cryptosystems
 
Information and network security 31 public key cryptography
Information and network security 31 public key cryptographyInformation and network security 31 public key cryptography
Information and network security 31 public key cryptography
 
Information and network security 30 random numbers
Information and network security 30 random numbersInformation and network security 30 random numbers
Information and network security 30 random numbers
 
Information and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithmInformation and network security 29 international data encryption algorithm
Information and network security 29 international data encryption algorithm
 
Information and network security 28 blowfish
Information and network security 28 blowfishInformation and network security 28 blowfish
Information and network security 28 blowfish
 
Information and network security 27 triple des
Information and network security 27 triple desInformation and network security 27 triple des
Information and network security 27 triple des
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Último (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 

Adbms 21 sql 99 schema definition constraints and queries

  • 1. Advance Database Management Systems :21 SQL 99 Schema Definition, Constraints, and Queries Prof Neeraj Bhargava Vaibhav Khanna Department of Computer Science School of Engineering and Systems Sciences Maharshi Dayanand Saraswati University Ajmer
  • 2. Slide 8- 2 Data Definition, Constraints, and Schema Changes • Used to CREATE, DROP, and ALTER the descriptions of the tables (relations) of a database
  • 3. Slide 8- 3 CREATE TABLE • Specifies a new base relation by giving it a name, and specifying each of its attributes and their data types (INTEGER, FLOAT, DECIMAL(i,j), CHAR(n), VARCHAR(n)) • A constraint NOT NULL may be specified on an attribute CREATE TABLE DEPARTMENT ( DNAME VARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9) );
  • 4. Slide 8- 4 CREATE TABLE • In SQL2, can use the CREATE TABLE command for specifying the primary key attributes, secondary keys, and referential integrity constraints (foreign keys). • Key attributes can be specified via the PRIMARY KEY and UNIQUE phrases CREATE TABLE DEPT ( DNAME VARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9), PRIMARY KEY (DNUMBER), UNIQUE (DNAME), FOREIGN KEY (MGRSSN) REFERENCES EMP );
  • 5. Slide 8- 5 DROP TABLE • Used to remove a relation (base table) and its definition • The relation can no longer be used in queries, updates, or any other commands since its description no longer exists • Example: DROP TABLE DEPENDENT;
  • 6. Slide 8- 6 ALTER TABLE • Used to add an attribute to one of the base relations – The new attribute will have NULLs in all the tuples of the relation right after the command is executed; hence, the NOT NULL constraint is not allowed for such an attribute • Example: ALTER TABLE EMPLOYEE ADD JOB VARCHAR(12); • The database users must still enter a value for the new attribute JOB for each EMPLOYEE tuple. – This can be done using the UPDATE command.
  • 7. Slide 8- 7 Features Added in SQL2 and SQL-99 • Create schema • Referential integrity options
  • 8. Slide 8- 8 CREATE SCHEMA • Specifies a new database schema by giving it a name
  • 9. Slide 8- 9 REFERENTIAL INTEGRITY OPTIONS • We can specify RESTRICT, CASCADE, SET NULL or SET DEFAULT on referential integrity constraints (foreign keys) CREATE TABLE DEPT ( DNAME VARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9), PRIMARY KEY (DNUMBER), UNIQUE (DNAME), FOREIGN KEY (MGRSSN) REFERENCES EMP ON DELETE SET DEFAULT ON UPDATE CASCADE);
  • 10. Slide 8- 10 REFERENTIAL INTEGRITY OPTIONS (continued) CREATE TABLE EMP( ENAME VARCHAR(30) NOT NULL, ESSN CHAR(9), BDATE DATE, DNO INTEGER DEFAULT 1, SUPERSSN CHAR(9), PRIMARY KEY (ESSN), FOREIGN KEY (DNO) REFERENCES DEPT ON DELETE SET DEFAULT ON UPDATE CASCADE, FOREIGN KEY (SUPERSSN) REFERENCES EMP ON DELETE SET NULL ON UPDATE CASCADE);
  • 11. Slide 8- 11 Additional Data Types in SQL2 and SQL-99 Has DATE, TIME, and TIMESTAMP data types • DATE: – Made up of year-month-day in the format yyyy-mm-dd • TIME: – Made up of hour:minute:second in the format hh:mm:ss • TIME(i): – Made up of hour:minute:second plus i additional digits specifying fractions of a second – format is hh:mm:ss:ii...i
  • 12. Slide 8- 12 Additional Data Types in SQL2 and SQL-99 (contd.) • TIMESTAMP: – Has both DATE and TIME components • INTERVAL: – Specifies a relative value rather than an absolute value – Can be DAY/TIME intervals or YEAR/MONTH intervals – Can be positive or negative when added to or subtracted from an absolute value, the result is an absolute value
  • 13. Slide 8- 13 Retrieval Queries in SQL • SQL has one basic statement for retrieving information from a database; the SELECT statement – This is not the same as the SELECT operation of the relational algebra • Important distinction between SQL and the formal relational model: – SQL allows a table (relation) to have two or more tuples that are identical in all their attribute values – Hence, an SQL relation (table) is a multi-set (sometimes called a bag) of tuples; it is not a set of tuples • SQL relations can be constrained to be sets by specifying PRIMARY KEY or UNIQUE attributes, or by using the DISTINCT option in a query
  • 14. Slide 8- 14 Retrieval Queries in SQL (contd.) • A bag or multi-set is like a set, but an element may appear more than once. – Example: {A, B, C, A} is a bag. {A, B, C} is also a bag that also is a set. – Bags also resemble lists, but the order is irrelevant in a bag. • Example: – {A, B, A} = {B, A, A} as bags – However, [A, B, A] is not equal to [B, A, A] as lists
  • 15. Slide 8- 15 Retrieval Queries in SQL (contd.) • Basic form of the SQL SELECT statement is called a mapping or a SELECT-FROM-WHERE block SELECT <attribute list> FROM <table list> WHERE <condition> – <attribute list> is a list of attribute names whose values are to be retrieved by the query – <table list> is a list of the relation names required to process the query – <condition> is a conditional (Boolean) expression that identifies the tuples to be retrieved by the query
  • 16. Slide 8- 16 Relational Database Schema--Figure
  • 18. Slide 8- 18 Simple SQL Queries • Basic SQL queries correspond to using the following operations of the relational algebra: – SELECT – PROJECT – JOIN • All subsequent examples use the COMPANY database
  • 19. Slide 8- 19 Simple SQL Queries (contd.) • Example of a simple query on one relation • Query 0: Retrieve the birthdate and address of the employee whose name is 'John B. Smith'. Q0: SELECT BDATE, ADDRESS FROM EMPLOYEE WHERE FNAME='John' AND MINIT='B’ AND LNAME='Smith’ – Similar to a SELECT-PROJECT pair of relational algebra operations: • The SELECT-clause specifies the projection attributes and the WHERE-clause specifies the selection condition – However, the result of the query may contain duplicate tuples
  • 20. Slide 8- 20 Simple SQL Queries (contd.) • Query 1: Retrieve the name and address of all employees who work for the 'Research' department. Q1: SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DNAME='Research' AND DNUMBER=DNO – Similar to a SELECT-PROJECT-JOIN sequence of relational algebra operations – (DNAME='Research') is a selection condition (corresponds to a SELECT operation in relational algebra) – (DNUMBER=DNO) is a join condition (corresponds to a JOIN operation in relational algebra)
  • 21. Slide 8- 21 Simple SQL Queries (contd.) • Query 2: For every project located in 'Stafford', list the project number, the controlling department number, and the department manager's last name, address, and birthdate. Q2: SELECT PNUMBER, DNUM, LNAME, BDATE, ADDRESS FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE DNUM=DNUMBER AND MGRSSN=SSN AND PLOCATION='Stafford' – In Q2, there are two join conditions – The join condition DNUM=DNUMBER relates a project to its controlling department – The join condition MGRSSN=SSN relates the controlling department to the employee who manages that department
  • 22. Assignment • Explain the Schema Definition, Basic Constraints, and Simple Queries in SQL-99