Aula 09
-
Upload
anonymous-cg3k1d -
Category
Documents
-
view
10 -
download
1
description
Transcript of Aula 09
Banco de Dados Aula 09 – DDL-SQL
Alexandre Plastino - [email protected]
25/09/141Banco de Dados - Aula 09 – DDL-SQL
25/09/142Banco de Dados - Aula 09 – DDL-SQL
SQL (Structured Query Language)
Linguagem padrão do modelo relacional para definição e manipulação de dados.
Padrões: SQL1 (86) – SQL2 (92) – SQL3 (99)
Definição de Dados:
CREATE TABLE CREATE DOMAINCREATE VIEW CREATE INDEX CREATE ASSERTION CREATE TRIGGER
Manipulação de Dados:
SELECT INSERT UPDATE DELETE
25/09/143Banco de Dados - Aula 09 – DDL-SQL
Esquema ER de uma Empresa
(0,N)
(0,1) (1,1) (1,N)
(0,1)
(0,N)(0,N)
(1,1)
(0,N)
(0,1)(0,N)
Os exemplos apresentados nesta aula encontram-se em:“Sistemas de Banco de Dados”Elmasri & Navathe
(1,1)
25/09/144Banco de Dados - Aula 09 – DDL-SQL
Esquema Lógico-Relacional
25/09/145Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
CREATE TABLE EMPREGADO
( FNOME VARCHAR(15) NOT NULL, MINICIAL CHAR, UNOME VARCHAR(15) NOT NULL, SSN CHAR(9) NOT NULL, DATANASC DATE, ENDERECO VARCHAR(30), SEXO CHAR, SALARIO DECIMAL(10,2), SUPERSSN CHAR(9), DNO INT NOT NULL,
PRIMARY KEY (SSN),FOREIGN KEY (SUPERSSN) REFERENCES EMPREGADO(SSN));/* FOREIGN KEY (DNO) REFERENCES DEPARTAMENTO(DNUMERO) */
25/09/146Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
PRIMARY KEY (DNUMERO),UNIQUE (DNOME),FOREIGN KEY (GERSSN) REFERENCES EMPREGADO(SSN));
25/09/147Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
PRIMARY KEY (DNUMERO),UNIQUE (DNOME),FOREIGN KEY (GERSSN) REFERENCES EMPREGADO(SSN));
ALTER TABLE EMPREGADOADD CONSTRAINT FK-DNO-EMPFOREIGN KEY (DNO) REFERENCES DEPARTAMENTO(DNUMERO);
25/09/148Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
CREATE TABLE DEPT_LOCALIZACOES( DNUMERO INT NOT NULL,
DLOCALIZACAO VARCHAR(15) NOT NULL,
PRIMARY KEY (DNUMERO, DLOCALIZACAO),FOREIGN KEY (DNUMERO) REFERENCES DEPARTAMENTO(DNUMERO));
25/09/149Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
PRIMARY KEY (PNUMERO),UNIQUE (PJ NOME),FOREIGN KEY (DNUM) REFERENCES DEPARTAMENTO(DNUMERO));
CREATE TABLE PROJ ETO( PJ NOME VARCHAR(15) NOT NULL , PNUMERO INT NOT NULL ,
PLOCALIZACAO VARCHAR(15) , DNUM INT,
25/09/1410Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
PRIMARY KEY (ESSN, PNO),FOREIGN KEY (ESSN) REFERENCES EMPREGADO(SSN),FOREIGN KEY (PNO) REFERENCES PROJ ETO(PNUMERO));
CREATE TABLE
25/09/1411Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE DEPENDENTE( ESSN CHAR(9) NOT NULL,
NOME_DEPENDENTE VARCHAR(15) NOT NULL, SEXO CHAR, DATANASC DATE, PARENTESCO VARCHAR(8),
PRIMARY KEY (ESSN, NOME_DEPENDENTE),FOREIGN KEY (ESSN) REFERENCES EMPREGADO(SSN));
25/09/1412Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
25/09/1413Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
25/09/1414Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE
CREATE TABLE DEP_LOCALIZACOES( … ,
CONSTRAINT DEPLPK PRIMARY KEY (DNUMERO, DLOCALIZACAO),
CONSTRAINT DEPLDEPTFK
FOREIGN KEY (DNUMERO) REFERENCES DEPARTAMENTO(DNUMERO) ON DELETE CASCADE ON UPDATE CASCADE ) ;
25/09/1415Banco de Dados - Aula 09 – DDL-SQL
CREATE DOMAIN
CREATE DOMAIN NOME AS VARCHAR(15);
CREATE DOMAIN NUM AS INTCHECK (NUM > 0 AND NUM < 21);
CREATE TABLE DEPARTAMENTO ( DNOME NOME NOT NULL, DNUMERO NUM NOT NULL, . . . );
CREATE TABLE DEPARTAMENTO ( DNOME VARCHAR(15) NOT NULL, DNUMERO INT NOT NULL
CHECK (DNUMERO > 0 AND DNUMERO < 21). . . );
25/09/1416Banco de Dados - Aula 09 – DDL-SQL
CREATE TABLE com Cláusula CHECK
CHECK (DNUMERO > 0 AND DNUMERO < 21));
A cláusula CHECK permite estabelecer condições que devem ser satisfeitas por atributos da tabela.
CREATE TABLE DEPARTAMENTO( DNOME VARCHAR(15) NOT NULL,
DNUMERO INT NOT NULL, GERSSN CHAR(9), NOT NULL, GERDATAINICIO DATE,
PRIMARY KEY (ESSN, DEPENDENTE_NOME),FOREIGN KEY (ESSN) REFERENCES EMPREGADO(SSN),
25/09/1417Banco de Dados - Aula 09 – DDL-SQL
DROP DOMAIN / DROP TABLE
DROP DOMAIN NOME;
DROP DOMAIN NUM;
DROP TABLE DEPENDENTE;
DROP TABLE DEPENDENTE CASCADE;
25/09/1418Banco de Dados - Aula 09 – DDL-SQL
ALTER TABLE
ALTER TABLE EMPREGADO ADD FUNCAO VARCHAR(12);
ALTER TABLE EMPREGADO DROP ENDEREÇO CASCADE;
ALTER TABLE EMPREGADO ALTER GERSSN
DROP DEFAULT;
ALTER TABLE EMPREGADO ALTER GERSSN
SET DEFAULT “333444555”;
ALTER TABLE EMPREGADO DROP CONSTRAINT EMPSUPERFK;