Escolar Documentos
Profissional Documentos
Cultura Documentos
BANCO DE DADOS I
Neste Script serao abordados conceitos de integridade
referencial. No Script anterior foi abordado DDL e DML
basicos.
Por Flavio Ramos
--------------------------------------------------------*/
/*--------------------------------------------------------
Criacao de Banco de Dados
----------------------------------------------------------*/
CREATE DATABASE dbclubes;
/* Selecionar o banco de dados no catalogo */
USE dbclubes;
/* Apagar um Banco de Dados use DROP DATABASE dbclubes */
/*--------------------------------------------------------
Criacao de Tabelas
----------------------------------------------------------*/
/*AUTO_INCREMENT - o campo sera incrementado a cada insercao;
UNIQUE - o campo apesar de nao ser chave nao sera duplicado;
NOT NULL - o campo nao pode ser deixado em branco; */
CREATE TABLE clube (
codigo INT AUTO_INCREMENT,
nome VARCHAR(40) NOT NULL UNIQUE,
uf VARCHAR(2) NOT NULL,
PRIMARY KEY(codigo)
) ENGINE = INNODB;
CREATE TABLE jogador (
codigo INT AUTO_INCREMENT,
nome VARCHAR(40) NOT NULL,
sobrenome VARCHAR(40) NOT NULL,
apelido VARCHAR(20),
datanasc DATE,
PRIMARY KEY(codigo)
) ENGINE = INNODB;
/* Associacao entre as tabelas de clube e jogador
FOREIGN KEY - especifica os campos da chave estrageira de
uma tabela, criando uma integridade referencial;
ON DELETE RESTRICT - a delecao nao eh permitida se houver
registros que dependem da chave. Caso a delecao seja
permitida entao o comando devera ser ON DELETE CASCADE;
Observacao - perceba que mesmo criando a chave primaria
composta, restricao de integridade eh dada pelo FOREIGN KEY;
--------------------------------------------------------*/
CREATE TABLE contrato (
codigoclube INT,
codigojogador INT,
datainicio DATE,
datafim DATE,
salario REAL,
imposto REAL,
PRIMARY KEY(codigoclube, codigojogador, datainicio),
FOREIGN KEY (codigoclube) REFERENCES
clube (codigo) ON DELETE RESTRICT,
FOREIGN KEY (codigojogador) REFERENCES
jogador (codigo) ON DELETE RESTRICT
) ENGINE = INNODB;