- 1. Mdulo 2 Aula 2 DDLObjetivo da Aula Saber utilizar os
recursos bsicos da DDL.IntroduoDDL - Linguagem de Definio de
Dados;Nesta aula exploraremos:1.Gerenciamento bsico de bases de
dados;2.Visualizao de Estruturas de Tabelas;3.Criao de tabelas.Para
isto, precisamos acessar a linha de comando.Linha de ComandoO MYSQL
para linha de comando um aplicativoO aplicativo pode ser encontrado
na pasta "bin" domysql. Algo como "C:/mysql/bin";No SENAI,
precisaremos acessar:cd C:Arquivos de programasMySQLMySQLServer
5.5binAcessamos esta pasta via linha de comando eexecutamos o
programa mysql com dois parmetros:mysql -uroot -psenai2011-u o nome
de usurio-p a senhaAps isso, voc dever receber uma mensagem de
boasvindas e o banco de dados estar pronto para serutilizado;Por
fim, A SQL case insensitive, ento, tanto faz usarminsculas ou
maisculas. Por padronizao,utilizaremos tudo minusculo, sem
caracteres especiais esem espaos.1. Gerenciamento bsico debases de
dados;Os SGBDs permitem que sejam criadas mltiplas basesde dados,
conforme as necessidades das aplicaes;De forma geral, uma mesma
instalao de um SGBD podeatender muitas aplicaes;Para isso, criamos
e utilizamos bases de dados oudatabases;Criar bases de sadosDentro
do programa MySQL utilize:create database exemplo;Para testar se
funcionou corretamente, execute:show databases;Ao executar o
comando show voc ver todas as basesde dados em uso nesta instalao
do MySQL, nsutilizaremos algumas delas.Deletar base de dadosUm
comando em SQL comum para deletar coisas odrop, para deletar a base
que criamos, execute:drop database exemplo;Atividade 1Crie uma base
de dados chamada biblioteca. Aps,visualize-a com o comando show
para ter certeza quetudo saiu corretamente, depois, remova-a e
visualize asbases de dados novamente para ter certeza que aoperao
foi executada com sucesso;Acessar base de dadosAntes de iniciar a
construo de tabelas, incluso dedados, etc... necessrio explicitar
qual base de dadosser utilizada;Fazemos isso atravs do comando
use:use sakila;A partir desse ponto, todos os comandos
queexecutarmos diro respeito apenas a esta base;Para alterar de
base, utilize o mesmo comando,2. Visualizao e descrio
deTabelas;Visualizao das TabelasCada base de dados pode ter muitas
tabelas. Ainda nocriamos nenhuma, ento, vamos visualizar as tabelas
dabase world, para isso, execute o comando use edepois exiba as
tabelas com:show tables;Voc dever ver uma lista com trs tabelas,
city, country ecountrylanguage;Atividade 2Tente executar o comando
show tables sem colocar; no final e veja o que acontece, aperte
enter maisalgumas vezes, por fim, coloque ; e aperte
enter.Atividade 3Visualize as tabelas da base de dados sakila. O
quevoc acha que esta base de dados contm? Que tipo deaplicao
poderia utilizar tabelas com estes nomes?Estrutura das tabelasCada
tabela possui uma estrutura;Esta estrutura composta pelos campos
que a formam eo tipo de cada campo, mais algumas informaes
extras;Voc pode visualizar a estrutura de uma tabela atravs
docomando describe;use world;describe country;Veja o campo Code,
ele do tipo char com 3caracteres;Name um conjunto varivel de
caracteres commximo de 52;E o campo Continent, o que
seria?Atividade 4Utilize o comando describe para visualizar a
tabelacountrylanguage. O que voc acha que cada campoda tabela
armazena?Atividade 5Acesse o banco de dados sakila e utilize
describenas tabelas: actor, film e film_actor.Tente identificar o
que cada um dos campos dastabelas e o que ele armazena. Por fim,
para que vocacha que existe a tabela film_actor?Atividade 6Explore
as bases de dados disponveis com o MySQL,execute describe em mais
algumas tabelas e veja sevoc encontra algo que no compreendeu, ao
final,traga suas dvidas para a turma e responderemosjuntos.3.
Gerenciamento de Tabelas;Criao de tabelasAgora que j aprendemos o
que a estrutura de umatabela, vamos iniciar a criao de tabelas com
SQL;O comando tem duas partes:Nome e opes da tabela;Atributos da
Tabela;O comando que utilizamos o Create Table;Crie uma base de
dados chamada exemplo, acesse-a eexecute o comando abaixo:create
table cliente (id int not null primary key,nome varchar(80) not
null,email varchar(40));Aps, execute show tables e describe cliente
paravisualizar se a tabela foi criada e se os campos
estaroexatamente como fizemos;Explicando o comandoA primeira parte
do comando :create table cliente (//atributos omitidos);create
table o nome do comando;cliente o nome da tabela;e entre parnteses
iro os atributos da tabela;A segunda parte so os atributos:id int
not null primary key,nome varchar(80) not null,email varchar(40)Os
atributos so uma lista separada por ,;Cada atributo composto
obrigatoriamente de nome etipo;Aps o tipo, podemos ter outras
informaes, as duasutilizadas aqui so:not null: Significa que em
hiptese alguma o campoestar vazio;primary key: Informa que este
campo a chave primriada tabela;Outro ExemploExecute a criao desta
tabela no banco de dados:create table produto (id int not null
auto_increment primary key,nome varchar(80) not null,valor float
not null,descricao text,quantidade_disponivel int default
100);Outras opes que podem ser utilizadas para atributosso
auto_increment e default:auto_increment: utilizado para que um
valor sejaincrmentado automaticamente, muito til para
criarmosregistros sequenciais;default: Se nenhum valor for
informado para um campo,o valor do default assumido, neste exemplo,
se no forinformada a quantidade disponvel de um produto, o valor100
ser assumido como padro.Relacionando TabelasEm bancos de dados
relacionais, comum precisarmosunir de alguma forma duas tabelas,
como por exemplo:countrylanguage country;musica cd;film_actor filme
e actor;A forma que fazemos isso utilizando uma chaveestrangeira,
uma referncia para o identificar de outratabela.Para ilustrar,
iremos criar uma outra tabela para registrode compras de um produto
por um cliente. Esta tabelaficaria assim:create table
cliente_produto (id int not null auto_increment primary
key,id_cliente int not null,id_produto int not
null,quantidade_comprada int,valor_total float,foreign
key(id_cliente) references cliente(id),foreign key(id_produto)
references produto(id));O comando foreign key serve para criarmos
uma ligaoentre duas tabelas, de forma que nunca poder serincludo um
registro em compra de um produto que noexista na tabela produto;o
comando tem como primeira informao o nome docampo da tabela em que
est sendo executado ereferencia outro campo em outra
tabela.Atividade 7Criaremos um banco de dados simples para alunos
emdisciplinas. Primeiro, crie uma base de dados escola.Crie uma
tabela aluno que deve conter a matrculacomo identificador do aluno,
seu nome, a fase em queest e um campo para a sua data de
aniversrio.Crie tambm uma tabela disciplina, contendo, umcdigo, o
nome, a ementa e o nome do professor.Por fim, crie uma tabela que
una aluno e laboratriochamada aluno_disciplina com um campo extra
parainformar a mdia final e outro para a frequencia.Alterao de
TabelasMuitas vezes, com os bancos de dados criados,precisamos
alterar coisas como o nome de uma tabela outipo de um campo;Para os
comandos abaixo, acesse a base de dadosexemplo.Alterao de nome da
tabelaalter table cliente_produto rename compra;Atividade 8Renomeie
a tabela disciplina para matria, a tabelaaluno para estudante e a
tabela aluno_disciplina paramateria_cursada.Alterao dos atributosAo
alterar um atributo, o informamos e logo depois,inserimos a nova
sentena de declarao do atributo,igual a da criao da tabela:alter
table cliente change nome nome_completovarchar(80) not null;Outro
exemplo:alter table produto change quantidade_disponivelestoque int
default 0;Desta mesma forma tambm possvel alterar o tipo doscampos,
por exemplo, na descrio do produto, alterar detext para
varchar:alter table produto change descricao
descricaovarchar(80);Atividade 9Acesse a base escola e altere:- O
nome do estudante para nome_completo varchar(40)not null;- O campo
ementa da matria para text default semementa;- O campo media_final
para nota_final float not nulldefault 10;Incluso de atributosTambm
podemos incluir novos atributos aps a criaode uma tabela j
existente, para isto, utilizamos umcomando semelhante ao anterior,
mas precedido por ADDao invs de CHANGE:alter table compra add
desconto floatdefault 0;Atividade 10Acesse a base escola e
adicione:- Um campo na tabela estudante dizendo se ele foiaprovado
ou no. Para isso, utilize o tipoenum(aprovado, no aprovado);- Um
campo na tabela disciplina para informar a cargahorria;- Um campo
na tabela materia_cursada para que oprofessor escreva alguma anotao
importante sobre asituao do aluno.Excluso de camposalter table
produto drop descricao;Atividade 11Exclua o campo nome do professor
da tabela matria.Excluso de TabelasTambm possvel excluir tabelas
quando algo sai erradona sua construo.drop table cliente;Atividade
FinalVoc dever criar uma nova base de dados
chamadabiblioteca_multimidia. Esta base ser utilizada por
umsoftware online que armazena as colees de vdeos,msicas, fotos e
livros de seus usurios.Voc dever criar uma tabela usurio contendo:
id, nome,email, senha e data de aniversrio.
2. Aps, modele mentalmente ou em rascunho as tabelasmusica, vdeo
e foto e as crie no MySQL. Cada tabeladever conter obrigatoriamente
um campo id_usuario queser uma chave estrangeira para a tabela
usurio.Voc tem liberdade para escolher quais informaes seusistema
ir armazenar de cada tem, porm, obrigatrioque cada tabela tenha
pelo menos 1 atributo especfico decada tem:Ex: Vdeo tempo de
durao.Boa sorte. Esta atividade vale 3 pontos para a nota domdulo
2.