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

6_Basic Structured Query Language (SQL)

Chapter 6 provides an overview of Structured Query Language (SQL), focusing on data definition, data types, constraints, and basic retrieval queries. It explains the creation of tables using SQL commands, specifying attributes and constraints such as primary keys, foreign keys, and check constraints. Additionally, the chapter covers various data types including numeric, character-string, date, and timestamp, along with examples of SQL syntax for creating and managing database tables.

Uploaded by

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

6_Basic Structured Query Language (SQL)

Chapter 6 provides an overview of Structured Query Language (SQL), focusing on data definition, data types, constraints, and basic retrieval queries. It explains the creation of tables using SQL commands, specifying attributes and constraints such as primary keys, foreign keys, and check constraints. Additionally, the chapter covers various data types including numeric, character-string, date, and timestamp, along with examples of SQL syntax for creating and managing database tables.

Uploaded by

nasrm0141
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 78

CHAPTER 6

Basic Structured Query Language


(SQL)
Chapter 6 Outline

• SQL Data Definition and Data Types


• Specifying Constraints in SQL
• Basic Retrieval Queries in SQL
• INSERT, DELETE, and UPDATE Statements in SQL
• Additional Features of SQL
Overview of Database Design Process
Relational Integrity Constraints
• Constraints are conditions that must hold on all valid relation states.
• There are three main types of (explicit schema-based) constraints that
can be expressed in the relational model:
• Key constraints
• Entity integrity constraints
• Referential integrity constraints
• Another schema-based constraint is the domain constraint
• Every value in a tuple must be from the domain of its attribute (or it could be
null, if allowed for that attribute)
Structured Query Language (SQL)

data manipulation language (DML) data definition language (DDL)


Structured Query Language (SQL)

EMPLOYEE
Data Definition Language (DDL)
Ssn Name DNO
123 Ahmed 1
Data Manipulation Language (DML)
234 Ali 2
Structured Query Language (SQL) data definition language (DDL)

Basic SQL
 SQL language
 Considered one of the major reasons for the commercial success of relational
databases
 SQL
 Structured Query Language
 Statements for data definitions, queries, and updates (both DDL and DML)
 Core specification
 Plus specialized extensions
The CREATE TABLE Command in SQL

• Specifying a new relation


• Provide name of table
• Specify attributes, their types and initial
constraints
• Can optionally specify schema:
• CREATE TABLE
COMPANY.EMPLOYEE ... or
• CREATE TABLE EMPLOYEE ...
An Example of CREATE Statement
EMPLOYEE
Name Ssn Salary

CREATE TABLE EMPLOYEE


(
Name VARCHAR(15),
Ssn INT,
Salary DECIMAL(10,2)
);
An Example of CREATE Statement
EMPLOYEE
Name Ssn Salary

create table employee


( EMPLOYEE
name varchar(15), NAME SSN SALARY
ssn int,
salary decimal(10,2)
);
An Example of CREATE Statement
EMPLOYEE
Name Ssn Salary

Create Table Employee


(
Name Varchar(15),
Varchar(15),
NAME Int,
Ssn Decimal(10,2)
); Salary
Error:
Duplicate
column
Attribute Data Types and Domains in SQL
• Numeric data types
Numeric data types
Integer numbers INT INTEGER and SMALLINT
Floating-point (real) numbers FLOAT REAL, and DOUBLE PRECISION
DECIMAL(i, j) DEC(i, j) or NUMERIC(i, j)

DECIMAL(10,3)
precision

1 2 3 4 5 6 7
. 8 9 1

scale
Attribute Data Types and Domains in SQL
• Numeric data types
Numeric data types
Integer numbers INT INTEGER and SMALLINT
Floating-point (real) numbers FLOAT REAL, and DOUBLE PRECISION
DECIMAL(i, j) DEC(i, j) or NUMERIC(i, j)

CREATE TABLE EMP


(
Ssn INT, EMP
Working_hour FLOAT Ssn Working_hours Salary
s Salary ,
); DECIM
AL(10,
3)
Attribute Data Types and Domains in SQL
• Numeric data types
Numeric data types
Integer numbers INT INTEGER and SMALLINT
Floating-point (real) numbers FLOAT REAL, and DOUBLE PRECISION
DECIMAL(i, j) DEC(i, j) or NUMERIC(i, j)

CREATE TABLE EMP


(
Ssn DECIMAL(3,0), EMP
Working_hour FLOAT, Ssn Working_hours Salary
s Salary DECIMAL(10,3)
);
Attribute Data Types and Domains in SQL
• Character-string data types
Character-string data types
Fixed length CHAR(n) CHARACTER(n)
CHAR for one char as CHAR(1)

Varying length VARCHAR(n) CHAR VARYING(n), CHARACTER


VARYING(n)

CHAR(5) ' ABCDE'


'A B C DE '

' AB '
Attribute Data Types and Domains in SQL
• Character-string data types
Character-string data types
Fixed length CHAR(n) CHARACTER(n)
CHAR for one char as CHAR(1)

Varying length VARCHAR(n) CHAR VARYING(n), CHARACTER


VARYING(n)

CHAR(1) 'A'

CHAR
Attribute Data Types and Domains in SQL
• Character-string data types
Character-string data types
Fixed length CHAR(n) CHARACTER(n)
CHAR for one char as CHAR(1)

Varying length VARCHAR(n) CHAR VARYING(n), CHARACTER


VARYING(n)

CREATE TABLE EMP


(
Name CHAR(30),
Gender CHAR,
Address VARCHAR(50
); )
Attribute Data Types and Domains in SQL
• DATE data type

CREATE TABLE
EMP (
Name CHAR(30),
StartDate DAT
); E
NAME StartDate
Ahmed 24-NOV-
Ali 22
Mohamed 20-DEC-21
14-JAN-23
Attribute Data Types and Domains in SQL
• TIMESTAMP data type

CREATE TABLE
EMP (
Name CHAR(30),
StartDate TIMESTAMP
);
NAME StartDate
Ahmed 04-NOV-21 05.56.38.626000
Attribute Data Types and Domains in SQL
Numeric data types
Integer numbers INT INTEGER and SMALLINT
Floating-point (real) numbers FLOAT REAL, and DOUBLE PRECISION
DECIMAL(i, j) DEC(i, j) or NUMERIC(i, j)
Character-string data types
Fixed length CHAR(n) CHARACTER(n)
CHAR for one char as CHAR(1)

Varying length VARCHAR(n) CHAR VARYING(n), CHARACTER


VARYING(n)

• DATE data type


• TIMESTAMP data type
An Example of CREATE Statement
EMPLOYEE
Name Ssn Salary Bdate Gender

CREAT TABLE EMPLOYEE


E
(
Name VARCHAR(30),
Ssn INT,
Salary DECIMAL(10,2),
Bdate DATE,
Gender CHAR
);
An Example of CREATE Statement
DEPARTMENT
Dname Dnumber MgrSSN MgerStartDate

CREATE TABLE
DEPARTMENT (
Dname VARCHAR(30),
Dnumber DECIMAL(4,0),
MgrSSN DECIMAL(10,0),
MgerStartDate
DATE
);
Specifying Attribute
Constraints
• Default value of an attribute DEPARTMENT
• DEFAULT <value> Dname Dnumber MgrSSN

CREATE TABLE
DEPARTMENT (
Dname VARCHAR(30) DEFAULT
Dnumber DECIMAL(4,0), 'Research' ,
MgrSSN DECIMAL(10,0)
); DEFAULT 1
Specifying Attribute
Constraints
• NULL is not permitted for a particular attribute (NOT
NULL)
Dname Dnumber MgrSSN
DEPARTMENT

CREATE TABLE
DEPARTMENT
Dname ( VARCHAR(30) NOT NULL,
Dnumber DECIMAL(4,0),
MgrSSN DECIMAL(10,0) NOT
); NULL
Specifying Attribute
Constraints
• PRIMARY KEY clause
• Specifies one or more attributes that make up the primary key of a
relation
Dname Dnumber MgrSSN
DEPARTMENT

CREATE TABLE
DEPARTMENT
Dname ( VARCHAR(30),
Dnumber DECIMAL(4,0) PRIMARY KEY,
MgrSSN DECIMAL(10,0)
);

Constraint: SYS_C004008
Specifying Attribute
Constraints
• PRIMARY KEY clause
• Specifies one or more attributes that make up the primary key of a
relation
Dname Dnumber MgrSSN
DEPARTMENT

CREATE TABLE
DEPARTMENT
Dname ( VARCHAR(30),
Dnumber DECIMAL(4,0),
MgrSSN DECIMAL(10,0),
PRIMARY KEY(Dnumber)
);

Constraint: SYS_C004008
Specifying Attribute
Constraints
• PRIMARY KEY clause
• Specifies one or more attributes that make up the primary key of a
relation
Dname Dnumber MgrSSN
DEPARTMENT

CREATE TABLE
DEPARTMENT
Dname ( VARCHAR(30),
Dnumber
PRIMARY KEY(Dnumber),
DECIMAL(4,0),
MgrSSN DECIMAL(10,0)
);

Constraint: SYS_C004008
Specifying Attribute
Constraints
• PRIMARY KEY clause
• Specifies one or more attributes that make up the primary key of a
relation
Dname Dnumber MgrSSN
DEPARTMENT

CREATE TABLE
DEPARTMENT
Dname ( VARCHAR(30) KEY,
Dnumber PRIMARY
MgrSSN DECIMAL(4,0) PRIMARY KEY,
); DECIMAL(10,0)

ERROR: Table can have only one primary key


Specifying Attribute
Constraints
• PRIMARY KEY clause
• Specifies one or more attributes that make up the primary key of a
relation
Dname Dnumber MgrSSN
DEPARTMENT

CREATE TABLE
DEPARTMENT
Dname ( VARCHAR(30),
Dnumber DECIMAL(4,0),
MgrSSN DECIMAL(10,0),
PRIMARY KEY (Dname, Dnumber)
);
Specifying Attribute
Constraints
• UNIQUE clause
• Specifies alternate (secondary) keys (called CANDIDATE keys in the
relational model). DEPARTMENT
Dname Dnumber MgrSSN
CREATE TABLE
DEPARTMENT (
Dname VARCHAR(30) UNIQUE,
Dnumber DECIMAL(4,0),
MgrSSN DECIMAL(10,0)
);

Constraint: SYS_C004018
Specifying Attribute
Constraints
• UNIQUE clause
• Specifies alternate (secondary) keys (called CANDIDATE keys in the
relational model). DEPARTMENT
Dname Dnumber MgrSSN
CREATE TABLE
DEPARTMENT (
Dname VARCHAR(30),
Dnumber DECIMAL(4,0),
MgrSSN DECIMAL(10,0),
UNIQUE(Dnumber)
);

Constraint: SYS_C004018
Specifying Attribute
Constraints
• CHECK
clause
DEPARTMENT
Dname Dnumber MgrSSN
CREATE TABLE
DEPARTMENT (
Dname VARCHAR(30),
Dnumber INT CHECK > 0 AND Dnumber <
MgrSSN ( Dnumber 11),
); DECIMAL(10,0)

Constraint: SYS_C004012
Specifying Constraints on Tuples Using CHECK
• CHECK
clause
DEPARTMENT
Dname Dnumber MgrSSN
CREATE TABLE
DEPARTMENT (
Dname VARCHAR(30),
Dnumber INT,
MgrSSN DECIMAL(10,0),
CHECK ( Dnumber > 0 AND Dnumber <
11)
);
Specifying Constraints on Tuples Using CHECK
• CHECK clause

CREATE TABLE
DEPARTMENT (
Dname VARCHAR(30),
Dnumber INT,
MgrSSN DECIMAL(10,0),
Date,
startDate
endDate ( startDate < Date,
CHECK
endDate)
);
Specifying Constraints on Tuples Using CHECK
• CHECK clause
CHECK ( Dnumber > 0 AND Dnumber
< 11) Logical comparison operators

=, <, <=, >, >=, <>, AND,


OR, NOT
Operator Description
= Equal
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
<> Not equal. Note: In some versions of SQL this operator
may be written as !=
BETWEEN Between a certain range
LIKE Search for a pattern
IN To specify multiple possible values for a column
Specifying Constraints on Tuples Using CHECK
CREATE TABLE DEPARTMENT
(
DNO INT
CHECK(
DNO
BETWEEN 50 AND 60
),
NAME VARCHAR(30) CHECK( NAME LIKE 'S%' ),
MGR_SSN INT CHECK( MGR_SSN IN
(2,5,8,9) )
);
Specifying Constraints on Tuples Using CHECK
CREATE TABLE DEPARTMENT
(
DNO INT CHECK(DNO BETWEEN 50 AND
NAME VARCHAR(30) 60),
CHECK(NAME LIKE 'S%'),
MGR_SSN INT CHECK( MGR_SSN IN (2,5,8,9) )
);
Constraint: SYS_C004002
Insert new department with the
following data (40, 'selling‘s, 5) Constraint: SYS_C004003

Constraint: SYS_C004004
ERROR ORA-02290: check constraint (COMP.SYS_C004002) violated
Giving Names to Constraints
• Using the Keyword CONSTRAINT
• Name a constraint (unique name)
• Useful for later altering DEPARTMENT
Dname Dnumber MgrSSN
CREATE TABLE DEPARTMENT
(
Dname VARCHAR(30),
Dnumber INT,
MgrSSN DECIMAL(10,0),
CONSTRAINT DNO
CHECK ( Dnumber > 0 AND Dnumber < 11)
);
Constraint name: DNO
Giving Names to Constraints
• Using the Keyword CONSTRAINT
• Name a constraint (unique name)
• Useful for later altering DEPARTMENT
Dname Dnumber MgrSSN
CREATE TABLE DEPT
DEPT
( Dname Dnumber MgrSSN
Dname VARCHAR(30),
Dnumber INT,
MgrSSN DECIMAL(10,0),
CONSTRAINT DNO
CHECK ( Dnumber > 0 AND Dnumber < 11)
);

Error: name already used by an existing constraint


Referential Integrity Constraints
•FOREIGN KEY clause
• Default operation: reject update on violation
• Attach referential triggered action clause
• Options include SET NULL, CASCADE, and SET DEFAULT
• Action taken by the DBMS for SET NULL or SET DEFAULT is the same
for both ON DELETE and ON UPDATE
• CASCADE option suitable for “relationship” relations
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE
Ssn Name DNO

CREAT TABL EMPLOYEE


(E E
Ssn INT,
Name VARCHAR(30)
, INT,
CONSTRAINT
DNO FK1
FOREIGN KEY (DNO) REFERENCES DEPARTMENT(Dnumber)
);
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber

CREATE TABLE EMPLOYEE


CREATE TABLE DEPARTMENT
(
(
Ssn INT,
Name VARCHAR(30) Dname VARCHAR(30),
DNO , INT, Dnumber INT PRIMARY
CONSTRAINT FK1 ); KEY
FOREIGN KEY (DNO) REFERENCES DEPARTMENT(Dnumber)
);
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber
123 Ali 1 CS 1
234 Ahmed NULL IT 2
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber
123 Ali 1 CS 1
234 Ahmed NULL IT 2
CREAT TABL EMPLOYEE
E E CREATE TABLE DEPARTMENT
(
Ssn INT, (
Name VARCHAR(30) ........ .............
, INT, );
CONSTRAINT
DNO FK1
FOREIGN KEY (DNO) REFERENCES DEPARTMENT(Dnumber)
);
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber
123 Ali 1 CS 1
234 Ahmed NULL IT 2

ERROR: We can not insert new employee with the following


data (345,'Hasan', 3)
Default operation: reject insert on violation
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber
123 Ali 1 CS 1 Delete this tuple
234 Ahmed NULL IT 2

Default operation: reject delete on violation


Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber
123 Ali 1 CS 1 Update to 5
234 Ahmed NULL IT 2

Default operation: reject update on violation


Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber
123 Ali 1 CS 1
234 Ahmed NULL IT 2

FOREIGN KEY (DNO) REFERENCES DEPARTMENT(Dnumber)


SET NULL SET NULL
ON DELETE SET DEFAULT ON UPDATE SET DEFAULT
CASCADE CASCADE
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber
123 Ali 1 CS 1
234 Ahmed NULL IT 2

FOREIGN KEY (DNO) REFERENCES DEPARTMENT(Dnumber)


SET NULL SET NULL
ON DELETE SET DEFAULT ON UPDATE SET DEFAULT
CASCADE CASCADE

Not all actions are supported by all DBMS


Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber
123 Ali 1 CS 1
234 Ahmed NULL IT 2

FOREIGN KEY (DNO) REFERENCES DEPARTMENT(Dnumber)


SET NULL
ON DELETE
CASCADE
Oracle 10g supports only
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber

CREAT TABLE CREATE TABLE DEPARTMENT


E
( EMPLOYEE (
Dname VARCHAR(30),
Ssn INT, Dnumber INT PRIMARY
Name KEY
CONSTRAINT
VARCHAR(30), FK1
DNO );
FOREIGN KEY (DNO) REFERENCES DEPARTMENT(Dnumber)
INT,
ON DELETE CASCADE
);
The ALTER table command
•Alter table actions include:
• Adding or dropping a column (attribute)
• Changing a column definition
• Adding or dropping table constraints
The ALTER table command DEPARTMENT
Dname Dnumber
•Adding or dropping a column or constraint
Example:

ALTER TABLE DEPARTMENT DROP COLUMN Dname;


The ALTER table command DEPARTMENT
Dname Dnumber
•Adding or dropping a column or constraint
Example:

ALTER TABLE DEPARTMENT DROP CONSTRAINT FK2;


The ALTER table command DEPARTMENT
Dname Dnumber
•Adding or dropping a column or constraint
Example:

ALTER TABLE DEPARTMENT ADD MgrSSN INT;


The ALTER table command DEPARTMENT
Dname Dnumber
•Adding or dropping a column or constraint
Example:

ALTER TABLE DEPARTMENT


ADD MgrSSN INT;
The ALTER table command DEPARTMENT
Dname Dnumber
•Adding or dropping a column or constraint
Example:

ALTER TABLE DEPARTMENT


ADD MgrSSN INT UNIQUE
NOT NULL
CHECK(MGRSSN> 2
AND
MGRSSN<100);
The ALTER table command DEPARTMENT
Dname Dnumber
•Adding or dropping a column or constraint
Example:

ALTER TABLE DEPARTMENT ADD


CONSTRAINT FK2 UNIQUE(Dnumber);
The ALTER table command DEPARTMENT
Dname Dnumber
•Changing a column definition
Example:

ALTER TABLE DEPARTMENT MODIFY


Dname
VARCHAR(50);
DEPARTMENT
CREATE
Dname VARCHAR(50),
Dnumber
TABLE ( INT PRIMARY
KEY,
);
The ALTER table command DEPARTMENT
Dname Dnumber
•Changing a column definition
Example:

ALTER TABLE DEPARTMENT MODIFY


Dname VARCHAR(50)
UNIQUE NOT NULL;
The ALTER table command
•Changing a column definition

Other DBMS may use different formats such as


• SQL Server / MS Access:
• ALTER TABLE table_name
ALTER COLUMN column_name datatype;
• My SQL / Oracle (prior version 10G):
• ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
• Oracle 10G and later:
• ALTER TABLE table_name
MODIFY column_name datatype;
Referential Integrity Constraints •FOREIGN KEY clause
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber MgrSSN

CREATE TABLE CREATE TABLE DEPARTMENT


EMPLOYEE ( (
Ssn INT PRIMARY Dname VARCHAR(30),
KEY, Name VARCHAR(30), Dnumber INT PRIMARY
DNO INT, KEY, MgrSSN INT,
CONSTRAINT FK1 CONSTRAINT FK2
FOREIGN KEY (DNO) REFERENCES FOREIGN KEY (MgrSSN) REFERENCES
DEPARTMENT(Dnumber) ON DELETE EMPLOYEE(Ssn)
CASCADE
);
);
EMPLOYEE DEPARTMENT
Ssn Name DNO Dname Dnumber MgrSSN

CREATE TABLE DEPARTMENT(


CREATE TABLE Dname
EMPLOYEE( Ssn VARCHAR(30),INT
Dnumber PRIMARY
INT MgrSSN KEY, INT
PRIMARY KEY, Name );
VARCHAR(30),
DNO FOREIGN KEYINT,
(DNO) REFERENCES
DEPARTMENT(Dnumber) ON
CONSTRAINT
DELETE CASCADE
FK1
);
ALTER TABLE DEPARTMENT ADD
CONSTRAINT

FK2
FOREIGN KEY (MgrSSN) REFERENCES
The SQL DROP TABLE Statement
• The DROP TABLE statement is used to drop an existing table in a
database.
EMPLOYEE
Syntax Ssn Name DNO
DROP TABLE EMPLOYEE;
CREATE TABLE EMPLOYEE
(
Fname VARCHAR(20) NOT NULL,
VARCHAR(20) NOT
Lname PRIMARY
SsnINT NULL, KEY,
Bdate DATE
Dno , INT
);

CREATE TABLE DEPARTMENT


(
Dnam VARCHAR(20) NOT NULL,
Dnumber
e INT PRIMARY KEY,
Mgr_ssn INT NOT NULL,
Mgr_start_date DATE NOT
NULL, CONSTRAINT DEPT_FK
FOREIGN KEY (Mgr_ssn)
REFERENCES EMPLOYEE(Ssn)
);
ALTER TABLE EMPLOYEE ADD CONSTRAINT EMPLOYEE_FK
FOREIGN KEY (Dno) REFERENCES DEPARTMENT(Dnumber);

CREATE TABLE DEPT_LOCATIONS


(
Dnumber INT,
Dlocation VARCHAR(20),
PRIMARY KEY (Dnumber, Dlocation),
CONSTRAINT LOCATION_FK
FOREIGN KEY (Dnumber)
REFERENCES
DEPARTMENT(Dnumber)
);
CREATE TABLE PROJECT
(
Pname VARCHAR(20),
Pnumber INT PRIMARY KEY,
Plocation
VARCHAR(20), Dnum
INT NOT NULL,
CONSTRAINT
PROJECT_FK
FOREIGN KEY (Dnum)
REFERENCES
DEPARTMENT(Dnumber
)
);
CREATE TABLE WORKS_ON
(
Essn INT,
Pno
INT,
Hours

INT,
PRIMARY KEY (Essn, Pno),
CONSTRAINT WORKS_ON_FK1
FOREIGN KEY (Essn)
REFERENCES EMPLOYEE(Ssn),
CONSTRAINT WORKS_ON_FK2
FOREIGN KEY (Pno)
REFERENCES
PROJECT(Pnumber)
);
CREATE TABLE DEPENDENT
(
Essn INT,
Dependent_name
VARCHAR(20), Relationship
VARCHAR(20),
PRIMARY KEY (Essn, Dependent_name),
CONSTRAINT DEPENDENT_FK1
FOREIGN KEY (Essn) REFERENCES
EMPLOYEE(Ssn)
);
Summary
Attribute Data Types and Domains in SQL
Numeric data types
Integer numbers INT INTEGER and SMALLINT
Floating-point (real) numbers FLOAT REAL, and DOUBLE PRECISION
DECIMAL(i, j) DEC(i, j) or NUMERIC(i, j)
Character-string data types
Fixed length CHAR(n) CHARACTER(n)
CHAR for one char as CHAR(1)

Varying length VARCHAR(n) CHAR VARYING(n), CHARACTER


VARYING(n)

• DATE data type


• TIMESTAMP data type
Summary
CREATE TABLE
DEPARTMENT (
Dname VARCHAR(30) UNIQUE,
Dnumber DECIMAL(4,0) PRIMARY KEY,
MgrSSN DECIMAL(10,0) DEFAULT 1,
MgerStartDate DATE NOT NULL,
CHECK ( Dnumber > 0 AND Dnumber < 11),
CONSTRAINT FK2 FOREIGN KEY (MgrSSN)
REFERENCES EMPLOYEE(Ssn) ON DELETE CASCADE
);
Summary
• ALTER TABLE DEPARTMENT DROP COLUMN Dname;

• ALTER TABLE DEPARTMENT DROP CONSTRAINT FK2;

• ALTER TABLE DEPARTMENT ADD MgrSSN INT;

• ALTER TABLE DEPARTMENT ADD CONSTRAINT


FK2 UNIQUE(Dnumber);

• ALTER TABLE DEPARTMENT MODIFY Dname


VARCHAR(50);

• DROP TABLE EMPLOYEE;

You might also like