Comandos DDL Data Definition Language 2 My Sql

  • Slides: 11
Download presentation
Comandos DDL (Data Definition Language) - 2 My. Sql Prof. Rosana Traversa 1

Comandos DDL (Data Definition Language) - 2 My. Sql Prof. Rosana Traversa 1

Comandos de Definição das Estruturas de Dados de um BD: • Como vimos os

Comandos de Definição das Estruturas de Dados de um BD: • Como vimos os comandos básicos são: – CREATE : usado para criar bancos de dados, tabelas, visões(views), procedimentos (stored procedures), etc. . – ALTER : usado para alterar alguma característica de uma estrutura já pronta – DROP : usado para excluir alguma estrutura criada anteriormente 2

Comandos DDL • Como definir um relacionamento entre tabelas? 3

Comandos DDL • Como definir um relacionamento entre tabelas? 3

Relacionamento 1: N 4

Relacionamento 1: N 4

Create – Exemplos (cont) CREATE TABLE Genero ( Cod. Genero int, Nome. Genero varchar

Create – Exemplos (cont) CREATE TABLE Genero ( Cod. Genero int, Nome. Genero varchar (20) not null, Primary key(Cod. Genero)); Relacionamento 1: N CREATE TABLE Filme( id. Filme int primary key auto_increment, Titulo varchar(30) not null, Duracao time, Censura varchar(15), Cod. Gen int, Foreign key (Cod. Gen) references Genero(Cod. Genero)); 5

Relacionamento N: N 6

Relacionamento N: N 6

Create – Exemplos (cont) Relacionamento N: N CREATE TABLE Produto ( Cod. Produto int

Create – Exemplos (cont) Relacionamento N: N CREATE TABLE Produto ( Cod. Produto int primary key, Nome. Produto varchar (20) not null, Preco numeric(10, 2) not null ) ; CREATE TABLE Nota. Fiscal( Numero. Nota numeric(10), Data date, Valor. Total numeric(10, 2) default 0, Primary key(Numero. Nota) ) ; continua. . .

Create – Exemplos (cont) CREATE TABLE Item. Nota ( Numero. Nota numeric(10), Cod. Produto

Create – Exemplos (cont) CREATE TABLE Item. Nota ( Numero. Nota numeric(10), Cod. Produto int, Quant int NOT NULL CHECK ( Quant >0), CONSTRAINT pk_itemnotafiscal PRIMARY KEY ( Numero. Nota, Cod. Produto ) , CONSTRAINT fk_notafiscal FOREIGN KEY ( Numeronota ) REFERENCES Nota. Fiscal( numeronota ) , CONSTRAINT fk_cod. Produto FOREIGN KEY ( Cod. Produto ) REFERENCES Produto( Cod. Produto ) ); Constraint – termo opcional – refere-se a uma restrição nomeada 8

Ou simplesmente. . . CREATE TABLE Item. Nota ( Numero. Nota numeric(10), Cod. Produto

Ou simplesmente. . . CREATE TABLE Item. Nota ( Numero. Nota numeric(10), Cod. Produto int, Quant int NOT NULL CHECK ( Quant >0), PRIMARY KEY ( Numero. Nota, Cod. Produto ) , FOREIGN KEY ( Numeronota ) REFERENCES Nota. Fiscal( numeronota ) , FOREIGN KEY ( Cod. Produto ) REFERENCES Produto( Cod. Produto ) 9

Constraints • O termo Constraint refere-se a uma restrição nomeada que pode se relacionar

Constraints • O termo Constraint refere-se a uma restrição nomeada que pode se relacionar à chave estrangeira, à chave primária , ou ainda a alguma condição check, null ou default. • A constraint, por ser nomeada, pode ser removida. • Exemplos: ALTER TABLE tabitemnota drop constraint fk_codproduto ( exclui a restrição de chave estrangeira fk_codproduto d. A tabela tabitemnota sem eliminar o campo codproduto) ALTER TABLE tabitemnota add constraint fk_codproduto foreign key(Codproduto) references Produto(Codproduto); ( adiciona a restrição de chave estrangeira fk_codprodutodo à tabela tabitemnota ) 10

Alterando a especificacão de chave estrangeira em uma tabela Exemplos: ALTER TABLE Tab. Aluno

Alterando a especificacão de chave estrangeira em uma tabela Exemplos: ALTER TABLE Tab. Aluno ADD CONSTRAINT fk_curso FOREIGN KEY (curso) REFERENCES Tab. Curso (cod. Curso) -transforma a coluna curso em chave estrangeira ALTER TABLE Tab. Aluno DROP FOREIGN KEY (curso) -remove a chave estrangeira 11