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

CSU_07314_Lecture_1_Intro_SQL[1]

Uploaded by

hopeshayo1
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

CSU_07314_Lecture_1_Intro_SQL[1]

Uploaded by

hopeshayo1
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 72

CSU07314/

ITU07314

DATABASE MANAGEMENT
SYSTEMS
DBMS
2 Logistics

Instructor: Siphy, A. S.
email: [email protected]/
[email protected]

Office: Block D, 020


Consultation Time
BY
Appointment

29/10/20
Intro to SQL,
24
3 Course Overview
 Description of the Course
 Assignments & projects
 Readings
 Grading
 Schedules - as per teaching t/t.

Intro to SQL, 29/10/2024


4 Course Description
 This course is concerned with database
development
 You need to revise the following concepts
• Entity Relationship Model
• Functional dependency & Normalization
• Relational database design (conceptual, logical
& physical)
• Implementation of relational database using
Database systems s/w –SQL in MS Access
(recap )

29/10/20
Intro to SQL,
24
5 Course Description…
 We will focus more on the following
Topics;
 Relational schema and data processing
 Relational Algebra
 SQL overview,
 Run Data definition Language (DDL)
 Run Data Manipulation language (DML)
 Manage schema objects
 Manage objects with data dictionary views
 Data warehousing and data mining 29/10/20
Intro to SQL,
24
6 Course Description…
 Retrieve row and column data from
tables
 Advanced SQL commands
 Subquery,
 Triggers, Sequence, Index, constraints over
multiple relations, Synonym, and so on
 Apply DDL and DML to develop and
implement a relational database( in class
projects & assignments)
 Transaction processing concepts
 Concurrency control techniques 29/10/20
Intro to SQL,
24
7 Assessment
 Class Projects
 Using a database modeling approach, designing
relational database in a Oracle/ MySQL platform.
 Designing, populating, and running queries
against your own personal database in
Oracle/MySQL.
 Types of database projects
 Individual
 Lab projects –weekly basis
 Group
 Min projects – Case studies and scenarios about
database design -to be done in Oracle/MySQL
Database. Min-project will be issued weekly
29/10/20
Intro to SQL,
24
8 Grading
 Continuous assessments
 Comprehensive Test
 Several Lab tests,
projects, and
assignments,
 Shall be no special  CW - 40%
test/make-up  Final Exam -60%
test/projects/assign.

29/10/20
Intro to SQL,
24
Class Etiquette
 Mandatory Attendance: Regular class
attendance and active participation are
essential for success in this course and are
expected from all students. Attendance and
participation will be recorded.
 Consequences for Absences: Multiple
absences may lead to a 10% reduction in
the final coursework
 No Cell Phones: Please switch off or
silence your cell phones to minimize
disruptions.
 Shall be no special test/make-up
test/projects/assign
10 Readings
 Thomas M. Connolly and Carolyn E. Begg (2009),
Database System: A Practical Approach to Design,
Implementation, and Management, 5rd Edition,
Addison-Wesley, Harlow England.
 Mark Gillenson (2011), Fundamentals of Database
Management Systems, 2nd Edition, Wiley
 Carlos Coronel, Steven Morris and Peter Rob (2012),
Database Systems: Design, Implementation and
Management, 10th Edition, Cengage Learning.

29/10/20
Intro to SQL,
24
Overview
11

 Introduction to SQL
 The SQL language overview
 SQL, the relational model, and E/R diagrams
 SQL categories (DDL, DML)
 Data types
 Column constraints
 DDL commands

29/10/20
24
Intro to SQL,
12 SQL Introduction

SQL –Standard language for querying and


manipulating data.

<<<Structured Query Language>>>


• Many standards out there:
• ANSI SQL
• SQL92 (a.k.a. SQL2)
• SQL99 (a.k.a. SQL3)
• SQL2003, 2006, 2008, 2011, 2016, +
• Vendors support various subsets of these
• What we discuss is common to all of them 29/10/20
Intro to SQL,
24
13 SQL
 Best known and most commonly
used relational database query
and manipulation language.

 Used in many commercial


Relational database systems.

29/10/20
Intro to SQL,
24
14
SQL
 DATA DEFINITION LANGUAGE (DDL)
 CREATE
 ALTER(ADD/DELETE/MODIFY) Columns/constraints
 DROP
 RENAME
 TRUNCATE
 COMMENT
 Following lectures...
 DATA MANIPULATION LANGUAGE (DML) –next lecture
 INSERT
 DELETE
 UPDATE
 SELECT 29/10/20
Intro to SQL,
24
 MERGE
15 SQL ..
 DATA CONTROL LANGUAGE (DCL)
commands
 GRANT
 REVOKE
 TRANSANCTION CONTROL
LANGAUGE (TCL) commands
 COMMIT
 ROLLBACK
 SAVEPOINT

29/10/20
Intro to SQL,
24
16 Some Facts on SQL
SQL data is case-sensitive, SQL commands are not.

First Version was developed at IBM by Donald D.


Chamberlin and Raymond F. Boyce. [SQL]

Developed using Dr. E.F. Codd's paper, “A


Relational Model of Data for Large Shared Data
Banks.”

SQL query includes references to tuples variables


and the attributes of those variables

29/10/20
Intro to SQL,
24
17 SQL Environment
 Catalog
 A set of schemas that constitute the description of a
database
 Schema
 The structure that contains descriptions of objects created
by a user (base tables, views, constraints)
 Data Definition Language (DDL)
 Commands that define a database, including creating,
altering, and dropping tables and establishing constraints
 Data Manipulation Language (DML)
 Commands that maintain and query a database
 Data Control Language (DCL)
 Commands that control a database, including
administering
Intro to SQL,
privileges and committing data 29/10/20
24
18 SQL Environment..

29/10/20
Intro to SQL,
24
19 SQL Environment..

29/10/20
Intro to SQL,
24
20 RDBMS –examples

29/10/20
Intro to SQL,
24
21
SQL: DDL Commands
CREATE TABLE: used to create a table.
CREATE VIEW – defines a logical table from one or more views
CREATE SCHEMA – defines a portion of the database owned by a
particular user

ALTER TABLE(ADD/DROP/MODIFY): modifies a table after it was


created.

DROP TABLE: removes a table from a database.

29/10/20
Intro to SQL,
24
22 DDL…..
Allows the specification of not only a set of relations but
also information about each relation, including:
 The schema for each relation.
 The domain of values associated with
each attribute.
 Integrity constraints
 The set of indices to be maintained for
each relations.
 Security and authorization information for
each relation.
 The physical storage structure of each
relation on disk.
Intro to SQL,
29/10/20
24
23 Non-Procedural
Programming
 SQL is a declarative (non-procedural)
language
 Procedural - say exactly what the
computer has to do
 Non-procedural – describe the required
result (not the way to compute it)

29/10/20
Intro to SQL,
24
24 SQL, the Relational Model, and
E/R Diagram
 SQL is based on the  E/R designs can be
relational model implemented in SQL
 It has many of the  Entities, attributes,
same ideas and relationships can
all be expressed in
 Databases that
terms of SQL
support SQL are
often described as  Many-to-many
relational databases relationships are a
problem, so should
 It is not always true
be removed
to the model
29/10/20
24
Intro to SQL,
25 Relations, Entities, Tables

Relational model E/R Diagram SQL


Relation Entity Table
Tuple Instance Row
Attribute Attribute Column or Field
Foreign Key M:1 Relationship Foreign Key
Primary Key Primary Key

29/10/20
24
Intro to SQL,
Identify entities and attributes
26

Emp
EmpNo Job

Name Hire Date

Salary Comm

Dept
Location

Name
DeptNo

29/10/20
Intro to SQL,
24
Identify relationships
27
Managed by
Manage

Emp Works in Dept


Assigned

Integrity Rules – derived from ER Diagram:


Each employee may be managed by one other employee
Each employee may manage one or more other employees
Each employee must work in a single department
Each department may be assigned one or more employees

29/10/20
Intro to SQL,
24
Create a relational schema…
28

Dept (DeptNo, Name, Location)


PK

FK
Emp (EmpNo, Name, Job, Sal, Comm, HireDate, Mgr, DeptNo)
PK FK

29/10/20
Intro to SQL,
24
29 Tables in SQL Columns
Table 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


Tuples or
rows
29/10/20
Intro to SQL,
24
30 DDL:Table Creation
Steps in table creation:
1. Identify data types for attributes
2. Identify columns that can and cannot be null
3. Identify columns that must be unique (candidate keys)
4. Identify primary key–foreign key mates
5. Determine default values
6. Identify constraints on columns (domain specifications)
7. Create the table and associated indexes
29/10/20
Intro to SQL,
24
31 CREATE TABLE
CREATE TABLE <name> (
<col-def-1>,  You supply
<col-def-2>,  A name for the
:
table
<col-def-n>,
<constraint-1>,
 A list of column
: definitions
<constraint-k>);  A list of
constraints
(such as keys)

29/10/20
24
Intro to SQL,
32 Create Table Construct
 An SQL relation is defined using the create table command:
CREATE TABLE R (A1 D1, A2 D2, ..., An Dn,
(integrity-constraint1),
...,
(integrity-constraintk));
 r is the name of the relation
 each Ai is an attribute name in the schema of relation r
 Di is the data type of values in the domain of attribute Ai

 Example:
CREATE TABLE Student (
SID char(16),
sname varchar(30),
course varchar(4),
Birthdate date
PRIMARY KEY(SID));

29/10/20
Intro to SQL,
24
33 SQL Data types
 String types
 CHAR(n) – fixed-length character data, ‘n’ characters long Maximum
length = 2000 bytes
 VARCHAR2(n) – variable length character data, maximum 4000 bytes
 LONG – variable-length character data, up to 4GB. Maximum 1 per
table
 Numeric types
 NUMBER(p,q) – general purpose numeric data type
 NUMBER(p) – signed integer, p digits wide
 FLOAT(p) – floating point in scientific notation with p binary digits
precision
 INTEGER - signed integer -4 bytes
 Date/time type
 DATE – fixed-length date/time in dd-mm-yy form
29/10/20
Intro to SQL,
24
34
Date/Time Types in SQL (Cont.)
 Date. Dates, containing a (4 digit) year, month and date
 E.g. date ‘2014-7-27’
 Time. Time of day, in hours, minutes and seconds.
 E.g. time ’09:00:30’ time ’09:00:30.75’
 Timestamp: date plus time of day
 E.g. timestamp ‘2014-7-27 09:00:30.75’
 Interval: period of time
 E.g. Interval ‘1’ day
 Subtracting a date/time/timestamp value from another gives an interval
value
 Interval values can be added to date/time/timestamp values
 Can extract values of individual fields from date/time/timestamp
 E.g. extract (year from r.starttime)
 Can cast string types to date/time/timestamp
 E.g. cast <string-valued-expression> as date
29/10/20
Intro to SQL,
24
35 Column constraints
 NULL or NOT NULL.
 If the column must contain a non- null value, the
constraint ‘NOT NULL’ should be put into it.
 CHECK
 This allows the column value to be checked against a
range or selection of values.
 UNIQUE
 This allows the column value to be checked against all
other values in that column in the table.
 PRIMARY KEY
 Makes the columns a SINGLE COLUMN primary key.
 This CANNOT be used if there are more than one columns in
the key.{primary key means “NOT NULL”, “UNIQUE”}
 REFERENCES – FOREIGN KEY
 DEFAULT constraint
 AssignsIntroa value to an attribute when a new row is added
to SQL,
29/10/20
24
to a table
36 Primary Keys

 Primary Keys are defined  The <details> for a


through constraints primary key is a list of
 A PRIMARY KEY constraint columns which make
also includes a UNIQUE up the key
constraint and makes the
columns involved NOT
NULL
CONSTRAINT <name>
PRIMARY KEY
(col1, col2, …)

29/10/20
24
Intro to SQL,
37 Unique Constraints

 As well as a single  The <details> for a


primary key, any set unique constraint are a
of columns can be list of columns which
make up the candidate
specified as UNIQUE
key
 This has the effect
of making candidate
CONSTRAINT <name>
keys in the table
UNIQUE
(col1, col2, …)
29/10/20
24
Intro to SQL,
38 Foreign Keys
 Foreign Keys are also
CONSTRAINT <name>
defined as
FOREIGN KEY
constraints (col1,col2,…)
 You need to give REFERENCES
 The columns which <table>
make up the FK [(ref1,ref2,…)]
 The referenced table  If the FK references the
PK of <table> you don’t
 The columns which need to list the columns
are referenced by the
FK
29/10/20
24
Intro to SQL,
The following slides create tables for
39
this enterprise data model example 2

29/10/20
Intro to SQL,
24
Relational Data Model
40

29/10/20
Intro to SQL,
24
41 Create PRODUCT table
Non-nullable specification
Primary keys
can never have
NULL values

Identifying primary
key
29/10/20
Intro to SQL,
24
42
Non-nullable specifications

Primary key

Some primary keys are composite –


composed of multiple attributes

29/10/20
Intro to SQL,
24
43 Controlling the values in attributes

Default value

Domain constraint

29/10/20
Intro to SQL,
24
Identifying foreign keys and establishing relationships
44

Primary key of
parent table

Foreign key of
dependent table

29/10/20
Intro to SQL,
24
45 Manipulating the buffer
 To terminate an SQL entry, use ;
 SQL*Plus commands do not need a semi-colon(;)
 Append text or a text adds text to the end of a line.
 Change /old/new or C /old/new changes old to new in a line.
 Change /text or C /text deletes text from a line.
 Clear buffer or cl buff deletes all lines.
 Del deletes a line
 Get file loads the contents of a file named file into the buffer.
 Input or i add one or more lines
 Input text adds a line consisting of text.
 List or l lists all lines in buffer
 List n or l n or n lists one line and makes it the current line.
 List * or l * lists the current line
 List last or l last lists the last line
 List m n or l m n lists lines m through n
 Save file or sav file saves the contents of the buffer to a file
named file.
Intro to SQL,
29/10/20
24
46
Data Integrity Controls
 Referential integrity – constraint
that ensures that foreign key
values of a table must match
primary key values of a related
table in 1:M relationships
 Restricting:
 Deletes of primary records
 Updates of primary records
 Inserts of dependent records
29/10/20
Intro to SQL,
24
47

29/10/20
Intro to SQL,
24
48 SQL and the Data
Dictionary
 The data dictionary  Some DBMSs let you query
or catalogue stores the catalogue
 In Oracle you can access
 Information about the metadata in several
database tables ways
 Information about  There are ‘system tables’
with metadata in them
the columns of tables
 You can also DESCRIBE
 Other information - tables
users, locks, indexes,
and more
 This is ‘metadata’

29/10/20
24
Intro to SQL,
49 Oracle Data Dictionary
 To find out what tables and
sequences you have defined use
SELECT table_name
FROM user_tables
 The user_tables table is maintained
by Oracle
 It has lots of columns, so don’t use
SELECT * FROM user_tables
29/10/20
24
Intro to SQL,
50 Oracle Data Dictionary
 To find the details of a table use
DESCRIBE <table name>
 Example:
SQL> DESCRIBE Student;
Name Null? Type
------------ -------- ----------
SID NOT NULL NUMBER(16)
SNAME NOT NULL VARCHAR2(30)
COURSE VARCHAR2(4)
BIRTHDATE DATE
29/10/20
24
Intro to SQL,
51 Changing Tables
 Sometimes you  ALTER TABLE can
want to change the  Add a new column
structure of an  Remove/drop an
existing table existing column
 One way is to DROP  Add a new
it then rebuild it constraint
 This is dangerous,  Remove an
so there is the existing constraint
ALTER TABLE
command instead
29/10/20
24
Intro to SQL,
52 Deleting Tables

• To delete a table use  BE CAREFUL with


any SQL statement
• DROP TABLE with DROP in it
[IF EXISTS]  You will delete any
information in the
<name>;
table as well
 You won’t normally
• Example: be asked to confirm
 There is no easy
DROP TABLE Module; way to undo the
changes
29/10/20
24
Intro to SQL,
53 ALTERing Columns

To add or remove columns


use;
Examples
To add new column ALTER TABLE Student
ALTER TABLE <table> ADD COLUMN
ADD COLUMN <col>; Degree VARCHAR(50);

To drop existing column


ALTER TABLE Student

ALTER TABLE <table> DROP COLUMN Degree;

DROP COLUMN <name>;


29/10/20
24
Intro to SQL,
54 ALTERing Constraints
To add or remove columns use
Examples
ALTER TABLE <table> ALTER TABLE Module
ADD CONSTRAINT
ADD CONSTRAINT ck UNIQUE (title);
<definition>;
ALTER TABLE Module
ALTER TABLE <table>
DROP CONSTRAINT ck;
DROP CONSTRAINT
<name>;
29/10/20
24
Intro to SQL,
55
Date functions
 Commonly used date functions are:
 Last_day
 Gives the last day of the month. This is useful
for knowing when payment might be expected.
 Months_between
 Least
 Which of the string of dates is the earliest.
 Greatest
 Which of the string of dates is the latest.
29/10/20
Intro to SQL,
24
56 Date functions…
 SYSDATE gives current date, eg SELECT
SYSDATE FROM Dual;
 NEXT_DAY(d,day) where d is a date and day
is a string representing a day of the week.
 E.g. next_day(’14-Nov-2014’,’Monday’) will return ’19-Nov-2014’

 ADD_MONTHS(d,count) adds n months to


d.
 MONTHS_BETWEEN(d1,d2)
 LEAST(d1,d2,…,dn)
 GREATEST(d1,…,dn)
29/10/20
Intro to SQL,
24
57 Date functions…
TO_CHAR(date, format)
Converts the date to the specified format.

NEXT_DAY(date, dayofweek)
Gives the date of the next ‘dayofweek’ after the date
given.

LAST_DAY(date)
Gives the last day of the month in the date specified.

ADD_MONTHS (date, int)


Adds int months to the given date.
29/10/20
Intro to SQL,
24
58 Round and Trunc
 ROUND
 Will round to the nearest whole
 In dates, it is more common to truncate.
 If it is 8pm on Thursday, you would still reckon it
is 2 days after Tuesday!
 TRUNC
 Knocks the hours from midnight off the
date.
 Short for ‘Truncate’.

29/10/20
Intro to SQL,
24
59 Formatting the date
 TO_CHAR(d,format) returns the date in the format
specified:
 MON returns the month in 3-character format
 D returns the day number in the week
 DD returns the day number in the month
 DDD returns the day number in the year
 DY gives the weekday in 3-character format
 DAY gives the weekday name
 Y returns the last digit of the year
 Yy returns the last 2 digits of the year
 Yyyy returns the 4-digit year
 Hh12 returns the hours of the day(1 -12)
 Hh24 returns the hours of the day (1 – 24)
 Mi returns the minutes of the hour
 Ss returns the seconds of the minute
 AM returns AM or PM
29/10/20
Intro to SQL,
24
60 And a Few More Relation
Definitions
 CREATE TABLE course (
course_id varchar(8),
title varchar(50),
PRIMARY KEY (course_id));

 CREATE TABLE Student (


SID char(16) NOT NULL PRIMARY KEY,
sname varchar(30),
course varchar(8),
Birthdate date),
FOREIGN KEY(COURSE) REFERENCES COURSE(course_id) ON DELETE
CASCADE);
29/10/20
Intro to SQL,
24
61 DML –INSERT TABLE

 INSERT - add a row to a table

INSERT INTO R (attribute1, attribute2, … attributen )


VALUES (value1, value2, … valuen) ;

29/10/20
Intro to SQL,
24
62 Values in SQL
 SQL is (usually) not case-sensitive, but we’ll write SQL
keywords in upper case for emphasis
 STRINGS/TEXTS/DATE & TIME in SQL are surrounded by
single quotes:
'I AM A STRING‘, ’15-JAN-2024’, Etc
 The empty string:'‘
 NUMERIC-Integer/Decimal/Float in SQL e.g. 123,
123.50,
 NULL in SQL -Use NULL if no value is specified
and the column allows it
 BOOLEAN -Use values like TRUE or FALSE, or 1
for true and 0 for false, depending on SQL
syntax.
29/10/20
Intro to SQL,
24
Populate relational tables
63 To create a tuple in SQL the following ‘Insert’ command is required:

INSERT INTO COURSE (Course_id, Title)


VALUES (‘BCS’, ‘Bachelor in Computer The insert order matters in
Science’) ; terms of referential
INSERT INTO COURSE integrity constraints! 1st
VALUES (‘BIT’, ‘BSc in Information
technology’) ;
Insert Into Student (sid, sname, birthdate, course )
values (‘IMC/BCS/207839’, ‘King President’, ‘17-Nov-81’, ‘BS’);
2nd

insert into student


values (‘IMC/BCS/207698’, ‘Blake Coi’, ’01-May-91’, ‘BCS’);

29/10/20
Intro to SQL,
24
64 Retrieval Queries in SQL
(SELECT Statements)
SQL SELECT Overview

SELECT [DISTINCT | ALL] <column-list>


FROM <table-names>
[WHERE <condition>]
[ORDER BY <column-list>]
[GROUP BY <column-list>]
[HAVING <condition>]
([]- optional, | - or)
29/10/20
24
Intro to SQL,
65 Basic Query Structure
 A typical SQL query has the form:

SELECT A1, A2, ..., An


FROM r1, r2, ..., rm
WHERE P

 Ai represents an attribute
 Ri represents a relation
 P is a predicate <condition based on row/s>
 The result of an SQL query is a relation.
29/10/20
Intro to SQL,
24
66 The select Clause
 The SELECT clause lists the attributes desired in
the result of a query
 corresponds to the projection operation of the relational
algebra(after next lecture)
 Example: find the names of all students:
SELECT sname
FROM student;
 NOTE: SQL names are case insensitive (i.e., you
may use upper- or lower-case letters.)
 E.g., SName ≡ SNAME ≡ sname
 Some people use upper case wherever we use bold
font.
29/10/20
Intro to SQL,
24
67 The select Clause
(Cont.)
 SQL allows duplicates in relations as well as in query
results.
 To force the elimination of duplicates, insert the
keyword distinct after select.
 Find the names of all students, and remove duplicates
SELECT DISTINCT sname
FROM student;
 The keyword all specifies that duplicates should not be
removed.

SELECT ALL sname


FROM student;
29/10/20
Intro to SQL,
24
68 The select Clause
 (Cont.)
An asterisk in the select clause denotes “all attributes”
SELECT *
FROM student;
 An attribute can be a literal with no from clause
SELECT ‘437’;
 Results is a table with one column and a single row with value
“437”
 Can give the column a name using:
SELECT ‘437’ AS FOO;
 An attribute can be a literal with from clause
SELECT ‘A’
FROM student;
 Result is a table with one column and N rows (number of tuples
in the instructors table), each row with value “A”
29/10/20
Intro to SQL,
24
69 The select Clause
(Cont.)
 The SELECT clause can contain arithmetic expressions involving
the operation, +, –, , and /, and operating on constants or
attributes of tuples.
 The query:
SELECT SID, sname, Trunc(Months_between(sysdate,
Birthdate)/12) AS Age
FROM Student;
would return a relation that is the same as the instructor relation,
except that the value of the attribute salary is divided by 12.
 Can rename “salary/12” using the as clause:
select ID, name, salary/12 as monthly_salary

29/10/20
Intro to SQL,
24
70 The where Clause
 The WHERE clause specifies conditions that the result must
satisfy;
 Corresponds to the selection predicate of the relational algebra.
 To find all students enrolled in BCS
SELECT *
FROM Student
WHERE course= ‘BCS’;
 Comparison results can be combined using the logical
connectives AND, OR, and NOT
 To find all students enrolled in BCS and were born from
01/01/1990
SELECT *
FROM student
WHERE course = ‘BCS’ AND birthdate>
‘01/01/1990’;

 Comparisons can be applied to results of arithmetic


expressions.
Intro to SQL,
29/10/20
24
71 String Operations

 SQL includes a string-matching operator for comparisons on


character strings. The operator LIKE uses patterns that are
described using two special characters:
 percent ( % ). The % character matches any substring.
 underscore ( _ ). The _ character matches any character.
 Find the names of all instructors whose name includes the substring
“dar”.
select Sname
from student
where sname like '%dar%'
 Match the string “100%”
like ‘100 \%' escape '\'
in that above we use backslash (\) as the escape character.
29/10/20
Intro to SQL,
24
72 SQL References
 Introduction to Relational Database and
SQL programming (Christopher Allen,
Simon Chatwin, and Catherine A.C,)
 Fundamentals of Database Systems third
ed. Ch.10, Elimasri N
 More from the www…!

https://www.w3schools.com/sql/default.asp
29/10/20
Intro to SQL,
24

You might also like