Aula 09

19
Banco de Dados Aula 09 – DDL-SQL Alexandre Plastino - [email protected] 25/09/14 1 Banco de Dados - Aula 09 – DDL-SQL

description

slide banco de dados

Transcript of Aula 09

Page 1: Aula 09

Banco de Dados Aula 09 – DDL-SQL

Alexandre Plastino - [email protected]

25/09/141Banco de Dados - Aula 09 – DDL-SQL

Page 2: Aula 09

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

Page 3: Aula 09

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)

Page 4: Aula 09

25/09/144Banco de Dados - Aula 09 – DDL-SQL

Esquema Lógico-Relacional

Page 5: Aula 09

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) */

Page 6: Aula 09

25/09/146Banco de Dados - Aula 09 – DDL-SQL

CREATE TABLE

PRIMARY KEY (DNUMERO),UNIQUE (DNOME),FOREIGN KEY (GERSSN) REFERENCES EMPREGADO(SSN));

Page 7: Aula 09

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);

Page 8: Aula 09

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));

Page 9: Aula 09

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,

Page 10: Aula 09

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));

Page 11: Aula 09

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));

Page 12: Aula 09

25/09/1412Banco de Dados - Aula 09 – DDL-SQL

CREATE TABLE

Page 13: Aula 09

25/09/1413Banco de Dados - Aula 09 – DDL-SQL

CREATE TABLE

Page 14: Aula 09

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 ) ;

Page 15: Aula 09

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). . . );

Page 16: Aula 09

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),

Page 17: Aula 09

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;

Page 18: Aula 09

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;

Page 19: Aula 09