Вы находитесь на странице: 1из 9

Comandos SQL- Comandos de Definio -DDL (parte1)

Os comandos SQL de definio so utilizados para definio e modificao de esquemas de relao, remoo de relaes e criao de ndices. Esses comandos fazem parte de um tipo de SQL denominada de DDL (Linguagem de definio de dados ou Data Definition Language). O usurio principal da camada DDL o DBA.

1. Criando Banco de dados

O comando create database utilizado para criar um banco de dados. Sintaxe:

create database nome_do_banco;

Exemplo:

Criar o banco de dados curso.

create database curso;

Para selecionar um determinado banco de dados deve ser executar o seguinte comando:

use curso;

2. Criando Tabelas

O comando create table utilizado para criao de tabelas em um banco de dados. Sintaxe:

create table nome da tabela ( coluna tipo-do-dado default] [, coluna tipo-do-dado default] ...] [not null] [not null with [not null] [not null with

primary key (coluna-pk) foreign key (coluna-fk) references tabela-pai (coluna-pk-pai) ) ;

create table: cria uma nova tabela no banco de dados em uso.

tabela: refere-se ao nome da tala a ser criada.

coluna: refere-se ao nome da coluna a ser criada. A definio das colunas de uma tabela feita relacionando-as uma aps a outra, separadas por vrgula.

tipo-do-dado : define o tipo e o tamanho da coluna definida. Os tipos de dados mais comuns so: Integer, varchar, char e boolean, long Varchar, Date, Time;

not null : define uma coluna de preenchimento obrigatrio.

not null with default : define uma coluna de preenchimento obrigatrio e que, no momento da incluso de uma linha na tabela, tenha um valor pr-definido, tais como: nmero zero, para o tipo de dado numrico, caracter vazio, para o tipo de dado string, data corrente, para o tipo de dado date, horrio corrente, para o tipo de dado time.

primary key (coluna-pk) : define a coluna que ser a chave primria da tabela. No caso de mais de uma coluna ser chave primria, separ-las por vrgula.

foreign key (coluna-fk) references tabela-pai (coluna-pk-pai): define a coluna-fk, de , como chave estrangeira. A define a tabela-pai relacionada a fk e define a coluna pk, de .

Exemplos:

Criar trs tabelas: curso, mdulo e disciplina apresentando as seguintes caractersticas: Tabela Curso: deve possuir como campos o id_curso (cdigo do curso) e o nome (nome do curso). O campo cdigo do curso no pode ser repetido(PK) e deve ser automtico e incremental.

CREATE TABLE

curso ( NOT NULL auto_increment,

id_curso integer

nome varchar(50) default NULL, PRIMARY KEY (id_curso) DEFAULT CHARSET=latin1;

) ENGINE=InnoDB

A clusula auto_increment permite com que o campo id_curso seja incrementado de acordo com a expanso dos registros. Por exemplo, se o primeiro registro tiver id_curso=1, o segundo registro ter id_curso=2 e assim por diante.

Tabela mdulo: deve possuir como campos o id_modulo (cdigo do modulo ) o id_curso (cdigo do curso) e o nome (nome do modulo). O campo cdigo do modulo no pode ser repetido (PK) e deve ser automtico e incremental. Um curso deve possuir vrios mdulos (FK).

CREATE TABLE

modulo (

id_modulo integer NOT NULL auto_increment, id_curso integer NOT NULL, nome varchar(40) default NULL, PRIMARY KEY (id_modulo), FOREIGN KEY (id_curso) REFERENCES curso (id_curso) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Tabela disciplina: deve possuir como campos o id_disciplina (cdigo da disciplina ) o id_modulo (cdigo do modulo) e o nome (nome da disciplina). O campo cdigo da disciplina no pode ser repetido ( criar PK) e deve ser automtico e incremental. Um mdulo deve possuir vrias disciplinas (criar FK).

CREATE TABLE disciplina ( id_disciplina integer NOT NULL auto_increment, id_modulo integer NOT NULL, nome integer default NULL, PRIMARY KEY (id_disciplina),

CONSTRAINT FK_disciplina_modulo foreign key (id_modulo) references modulo (id_modulo) )ENGINE=InnoDB DEFAULT CHARSET=latin1;

A clusula EGINE=InnoDB utilizada para que o banco de dados crie corretamente as chaves estrangeiras no banco de dados.

3. Alterando Tabela

Sintaxe: alter table { [ drop ] | [ add [not null] [not null with default]] |

[ change [ rename

] | table ] |

[ add primary key ( ) ] | [ drop primary key ( ) ] | [ add foreign key () references () [ drop foreign key () references ] }

tabela : define o nome da tabela que ser alterada.

drop coluna : utilizado para remove a coluna da estrutura da tabela.

add coluna tipo-do-dado [not null] [not null with default] : acrescenta uma nova coluna. No caso da existncia de linhas nesta tabela, o valor da nova coluna ser de acordo com as definies das clusulas not null e not null with default.

rename coluna novo-nome-coluna: troca o nome da coluna.

rename table tabela: troca o nome da tabela.

add primary key (coluna-pk): define uma chave primria uma nova coluna acrescentada na tabela.

drop primary key (coluna-pk): remove a definio de chave primria da coluna

add foreign key () references () : acrescenta uma nova chave estrangeira.

drop foreign key () references : remove a definio de chave estrangeira.

Exemplos:

Adicionar campos: adicionar campo perodo (tipo inteiro) na tabela curso.

ALTER TABLE

curso

add periodo integer not null;

Renomear campos: renomear campo perodo para cargaHoraria (tipo inteiro) na tabela curso. ALTER TABLE curso CHANGE periodo cargahoraria integer;

Renomear tabela: renomear tabela curso para cursouniversitario.

ALTER TABLE curso rename curso_universitario;

Adicionar chave estrangeira(FK): criar chave estrangeira na tabela disciplina, relacionando-a com a tabela curso da seguinte maneira: um curso possui varias disciplinas.

ALTER TABLE disciplina add id_curso integer;

ALTER TABLE disciplina add constraint Fk_curso_disciplina foreign key (id_curso) references curso_universitario (id_curso);

Removendo

campo:

remover

campo

cargahoraria

da

tabela

curso_universitario.

ALTER TABLE curso_universitario drop cargahoraria;

4. Remover Tabela

O comando drop table utilizado para remover tabelas do banco de dados Sintaxe: drop table nome da tabela;

Exemplo:

Remover a tabela disciplina do banco de dados

DROP TABLE disciplina;

5. Manuteno de Tabela Exibir todas as tabelas do banco de dados Show tables; Exibir o status da status das tabelas show table status; Exibir as permisses de todos os usurios show grants;

Вам также может понравиться