Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de...

50
Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo

Transcript of Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de...

Page 1: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Comunicação Digital – Elementos de TI

Introdução a Banco de Dadoscom exercícios de aplicação:

implementação e testes

Prof.: Sandro Rigo

Page 2: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Conceitos de Banco de dados

Roteiro:

• Revisão de conceitos básicos

• Caso de estudo: filmes

• Estrutura proposta em aula

• Implemementação

• Exercícios

Page 3: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Revisão de conceitos básicos

Dados:indicações de fatos que podem ser armazenados e tratados individualmente.

Base de dados: conjunto de dados relacionados entre si com alguma lógica particular.

Sistema Gerenciador de Banco de Dados (SGBD): aplicação integrada contendo funções necessárias para a criação, manutenção e gerência de bases de dados.

Page 4: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Revisão de conceitos básicos

cf. Matoso

Page 5: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Revisão de conceitos básicos

Componentes:

Nome do CDData do CDgêneronúmero de trilhasNome da banda

Nome da bandaComponentes da banda discografianotas

.........Nome do CDData do CDgêneronúmero de trilhasNome da banda

campo

registro

tabelas

chaveprimária

Chave estrangeira

Page 6: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Conceitos Básicos de Bancos de Dados

Campos (atributos): elementos unitários de um agrupamento de dados, representando atributos de entidade do mundo real

Registro (tupla): conjunto único de campos, representando entidade do mundo real Tabela : organização de campos e de registros

Chave: elemento (campo) usado na identificação de registros em tabelas, ou na geração de índices

Chave-primária: utilizada na identificação de registros em uma tabela

Chave-estrangeira: utilizada para indicação de relações entre tabelas

Page 7: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Linguagem de consulta

Permite:- a descrição de tabelas, com indicações de campos e tipo de dado para cada campo

- a aplicação de operações de álgebra relacional, como seleção, projeção ou junção.

Conceitos Básicos de Bancos de Dados

Page 8: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Linguagem de consulta

Page 9: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Caso de estudo:

http://www.imdb.com

Exercício:

Tratar a modelagem de um conjunto de tabelas e de operações para uma base de dados de filmes produzidos por alunos de um curso de comunicação digital

Page 10: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Resumo das propostas

Tabela“filmes”

Campo Tipo Nulo Padrão

id  int(11) Não   

nome  varchar(80) Não   

tipo  int(11) Não  0 

ano  int(11) Não  0 

duracao  tinyint(4) Não  0 

produtora  int(11) Não  0 

diretor  int(11) Não  0 

site  varchar(160) Não   

genero  int(11) Não  0 

roteirista  int(11) Não  0 

sinopse  varchar(255) Não   

cartaz  int(11) Não  0 

fotos  int(11) Não  0 

curiosidades  varchar(200) Não   

cenas  int(11) Não  0 

nota  float Não  0 

lancamento  date Não  0000-00-00 

professor_resp  int(11) Não  0 

classificacao  tinyint(4) Não  0 

justificativa  varchar(120) Não   

origem  varchar(40) Não   

Page 11: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Resumo das propostas

Tabelas“genero”

e

“tipo”

Campo Tipo Nulo Padrão

id  int(11) Não   

nome  varchar(30) Não   

observacoes  varchar(255) Não   

Campo Tipo Nulo Padrão

id  int(11) Não   

nome  varchar(30) Não   

obs  varchar(255) Não   

Page 12: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Resumo das propostas

tabela

“equipe”Campo Tipo Nulo Padrão

id  int(11) Não   

nome  varchar(60) Não   

nacionalidade  varchar(60) Não   

data_nascim  date Não  0000-00-00 

premios  varchar(120) Não   

naturalidade  varchar(60) Não   

mini_biografia  varchar(255) Não   

home_page  varchar(120) Não   

email  varchar(120) Não   

sexo  char(1) Não   

Page 13: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Resumo das propostas

tabela

“funcao”

Campo Tipo Nulo Padrão

id  int(11) Não   

nome  varchar(60) Não   

obs  varchar(255) Não   

Page 14: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Resumo das propostas

Tabelas de ligação

“filme-atores

Equipe-funcaoCampo Tipo Nulo Padrão

id_equipe  int(11) Não  0 

id_funcao  int(11) Não  0 

Campo Tipo Nulo Padrão

id_filme  int(11) Não  0 

id_atores  int(11) Não  0 

Page 15: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Resumo das propostas

Page 16: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Resumo das propostas

Possibilidades:• consulta de filmes por nome• consulta de filmes por diretor/atores/....• consulta de atores por filme• consulta de filmografia• acesso a cartaz/imagens/cenas• outras...

Page 17: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

• SGBD: MySql • interface web phpMyAdmin

Page 18: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 1: criação da base de dados

Page 19: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

ImplementaçãoCREATE TABLE `filme` (`id` INT NOT NULL AUTO_INCREMENT ,`nome` VARCHAR( 80 ) NOT NULL ,`tipo` INT NOT NULL ,`ano` INT NOT NULL ,`duracao` TINYINT NOT NULL ,`produtora` INT NOT NULL ,`diretor` INT NOT NULL ,`site` VARCHAR( 160 ) NOT NULL ,`genero` INT NOT NULL ,`roteirista` INT NOT NULL ,`sinopse` VARCHAR( 255 ) NOT NULL ,`cartaz` INT NOT NULL ,`fotos` INT NOT NULL ,`curiosidades` VARCHAR( 200 ) NOT NULL ,`cenas` INT NOT NULL ,`nota` FLOAT NOT NULL ,`lancamento` DATE NOT NULL ,`professor_resp` INT NOT NULL ,`classificacao` TINYINT NOT NULL ,`justificativa` VARCHAR( 120 ) NOT NULL ,`origem` VARCHAR( 40 ) NOT NULL ,UNIQUE (`id` ));

Page 20: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 1: criação da base de dados

Page 21: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 1: criação da base de dados

Page 22: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

CREATE TABLE `genero` (`id` INT NOT NULL AUTO_INCREMENT ,`nome` VARCHAR( 30 ) NOT NULL ,`observacoes` VARCHAR( 255 ) NOT NULL ,PRIMARY KEY ( `id` ) );

CREATE TABLE `tipo` (`id` INT NOT NULL AUTO_INCREMENT ,`nome` VARCHAR( 30 ) NOT NULL ,`obs` VARCHAR( 255 ) NOT NULL ,PRIMARY KEY ( `id` ) );

CREATE TABLE `funcao` (`id` INT NOT NULL AUTO_INCREMENT ,`nome` VARCHAR( 60 ) NOT NULL ,`obs` VARCHAR( 255 ) NOT NULL ,PRIMARY KEY ( `id` ) );

Page 23: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 1: criação da base de dados

Page 24: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

CREATE TABLE `equipe` (`id` INT NOT NULL AUTO_INCREMENT ,`nome` VARCHAR( 60 ) NOT NULL ,`nacionalidade` VARCHAR( 60 ) NOT NULL ,`data_nascim` DATE NOT NULL ,`premios` VARCHAR( 120 ) NOT NULL ,`naturalidade` VARCHAR( 60 ) NOT NULL ,`mini_biografia` VARCHAR( 255 ) NOT NULL ,`home_page` VARCHAR( 120 ) NOT NULL ,`email` VARCHAR( 120 ) NOT NULL ,`sexo` CHAR( 1 ) NOT NULL ,PRIMARY KEY ( `id` ) );

Page 25: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 1: criação da base de dados

Page 26: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 1: criação da base de dados

Page 27: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 1: criação da base de dados

Page 28: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 2: inserção de dados

Page 29: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

INSERT INTO `tipo` ( `id` , `nome` , `obs` ) VALUES ('', 'curta', 'observações para o curta'), ('', 'longa', 'observações para o longa');

Page 30: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 3: consulta de dados

Page 31: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 3: consulta de dados

Page 32: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 3: consulta de dados

Page 33: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação Etapa 4: edição de dados

Page 34: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

UPDATE `genero` SET `observacoes` = 'observações para o gênero comédia' WHERE `id` = '2' LIMIT 1 ;

Page 35: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementaçãocomando SQL: INSERT INTO `filme` ( `id` , `nome` , `tipo` , `ano` , `duracao` , `produtora` , `diretor` , `site` , `genero` , `roteirista` , `sinopse` , `cartaz` , `fotos` , `curiosidades` , `cenas` , `nota` , `lancamento` , `professor_resp` , `classificacao` , `justificativa` , `origem` ) VALUES ('', 'nome filme tres', '2', '2002', '120', '0', '4', 'site filme tres', '4', '2', 'sinopse', '0', '0', 'curiosidades', '0', '10', '2003-01-01', '0', '0', 'justificativa', 'brasileira'), ('', 'nome filme quatro', '2', '2005', '110', '0', '1', 'site', '4', '1', 'sinopse', '0', '0', 'curiosidades', '0', '0', '2205-02-02', '0', '0', 'justificativa', 'brasileiro');

Page 36: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação ...mais consultas

Page 37: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação ...mais consultas

Page 38: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação ...mais consultas

Page 39: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação ...mais consultas

Page 40: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

  funcao    

1 diretor de cena obs. para diretor

2 ator obs. para ator

3 roteirista obs. para roteirista

4 produtor obs.

5 diretor de arte obs.

6 diretor de fotografia obs.

  gênero    

1 drama observações para o gênero drama

2 comédia observações para o gênero comédia

3 aventura observações para o gênero aventura

4 musical observações para o gênero musical

  tipo    

1 curta observações para o curta

2 longa observações para o longa

equipe funcao

1 1

2 3

3 2

4 2

4 1

1 2

1 3

filme atores

1 3

1 4

2 3

2 4

3 3

3 1

4 3

4 4

4 1

Page 41: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação ...mais consultas

Page 42: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

SELECT e.nome, f.nomeFROM equipe e, equipe_funcao ef, funcao fWHERE e.id = ef.id_equipeAND f.id = ef.id_funcao

Page 43: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação ...mais consultas

Page 44: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

SELECT e.nome, f.nomeFROM equipe e, filme f, filme_atores faWHERE e.id = fa.id_atoresAND f.id = fa.id_filmeAND e.nome like 'nome 4'

Page 45: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação ...mais consultas

Page 46: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação ...mais consultas

Page 47: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

...

Page 48: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

Page 49: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação-- phpMyAdmin SQL Dump-- version 2.6.1-rc1-- http://www.phpmyadmin.net-- -- Servidor: localhost-- Tempo de Generação: Abr 14, 2005 at 03:01 PM-- Versão do Servidor: 3.23.58-- Versão do PHP: 4.2.2-- -- Banco de Dados: `elti_filme`--

-- --------------------------------------------------------

-- -- Estrutura da tabela `equipe`--

CREATE TABLE `equipe` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(60) NOT NULL default '', `nacionalidade` varchar(60) NOT NULL default '', `data_nascim` date NOT NULL default '0000-00-00', `premios` varchar(120) NOT NULL default '', `naturalidade` varchar(60) NOT NULL default '', `mini_biografia` varchar(255) NOT NULL default '', `home_page` varchar(120) NOT NULL default '', `email` varchar(120) NOT NULL default '', `sexo` char(1) NOT NULL default '', PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- -- Extraindo dados da tabela `equipe`--

-- --------------------------------------------------------

-- -- Estrutura da tabela `filme`--

CREATE TABLE `filme` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(80) NOT NULL default '', `tipo` int(11) NOT NULL default '0', `ano` int(11) NOT NULL default '0', `duracao` tinyint(4) NOT NULL default '0', `produtora` int(11) NOT NULL default '0', `diretor` int(11) NOT NULL default '0', `site` varchar(160) NOT NULL default '', `genero` int(11) NOT NULL default '0', `roteirista` int(11) NOT NULL default '0', `sinopse` varchar(255) NOT NULL default '', `cartaz` int(11) NOT NULL default '0', `fotos` int(11) NOT NULL default '0', `curiosidades` varchar(200) NOT NULL default '', `cenas` int(11) NOT NULL default '0', `nota` float NOT NULL default '0', `lancamento` date NOT NULL default '0000-00-00', `professor_resp` int(11) NOT NULL default '0', `classificacao` tinyint(4) NOT NULL default '0', `justificativa` varchar(120) NOT NULL default '', `origem` varchar(40) NOT NULL default '', UNIQUE KEY `id` (`id`)) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- -- Extraindo dados da tabela `filme`--

-- --------------------------------------------------------

-- -- Estrutura da tabela `funcao`--

CREATE TABLE `funcao` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(60) NOT NULL default '', `obs` varchar(255) NOT NULL default '', PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- -- Extraindo dados da tabela `funcao`--

-- --------------------------------------------------------

-- -- Estrutura da tabela `genero`--

CREATE TABLE `genero` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(30) NOT NULL default '', `observacoes` varchar(255) NOT NULL default '', PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- -- Extraindo dados da tabela `genero`--

-- --------------------------------------------------------

-- -- Estrutura da tabela `imagens`--

CREATE TABLE `imagens` ( `id` int(11) NOT NULL auto_increment, `legenda` varchar(120) NOT NULL default '', `imagem` varchar(160) NOT NULL default '', `largura` int(11) NOT NULL default '0', `altura` int(11) NOT NULL default '0', `tamanho` int(11) NOT NULL default '0', `creditos` int(11) NOT NULL default '0', `formato` varchar(60) NOT NULL default '', PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- -- Extraindo dados da tabela `imagens`--

-- --------------------------------------------------------

-- -- Estrutura da tabela `tipo`--

CREATE TABLE `tipo` ( `id` int(11) NOT NULL auto_increment, `nome` varchar(30) NOT NULL default '', `obs` varchar(255) NOT NULL default '', PRIMARY KEY (`id`)) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- -- Extraindo dados da tabela `tipo`--

Page 50: Comunicação Digital – Elementos de TI Introdução a Banco de Dados com exercícios de aplicação: implementação e testes Prof.: Sandro Rigo.

Implementação

<?xml version="1.0" encoding="iso-8859-1" ?><!---- phpMyAdmin XML Dump- version 2.6.1-rc1- http://www.phpmyadmin.net-- Servidor: localhost- Tempo de Generação: Abr 14, 2005 at 03:20 PM- Versão do Servidor: 3.23.58- Versão do PHP: 4.2.2-->

<!--- Banco de Dados: `elti_filme`--><elti_filme> <!-- Tabela equipe --> <equipe> <id>1</id> <nome>nome 1</nome> <nacionalidade>nacionalidade 1</nacionalidade> <data_nascim>1990-05-05</data_nascim> <premios>nenhum</premios> <naturalidade>nacionalidade 1</naturalidade> <mini_biografia>mini biografia de .....</mini_biografia> <home_page>http://www.home_page1</home_page> <email>[email protected]</email> <sexo>M</sexo> </equipe> <equipe> <id>2</id> <nome>nome 2</nome> <nacionalidade>nacionalidade 2</nacionalidade> <data_nascim>1970-06-06</data_nascim> <premios>prêmio tal</premios> <naturalidade>porto alegre / RS</naturalidade> <mini_biografia>biografia 2</mini_biografia> <home_page>http://www.home_page2</home_page> <email>[email protected]</email> <sexo>M</sexo> </equipe> <equipe> <id>3</id> <nome>nome 3</nome> <nacionalidade>brasileira</nacionalidade> <data_nascim>1980-07-07</data_nascim> <premios>prêmio tal</premios> <naturalidade>naturalidade</naturalidade> <mini_biografia>biografia</mini_biografia> <home_page>http://www.nonononono</home_page> <email>[email protected]</email> <sexo>F</sexo> </equipe> <equipe> <id>4</id> <nome>nome 4</nome> <nacionalidade>brasileira</nacionalidade> <data_nascim>1980-07-07</data_nascim> <premios>prêmio tal</premios> <naturalidade>naturalidade</naturalidade> <mini_biografia>biografia</mini_biografia> <home_page>http://www.servidor.tal</home_page> <email>[email protected]</email> <sexo>F</sexo> </equipe> <!-- Tabela filme --> <!-- Tabela funcao --> <funcao> <id>1</id> <nome>diretor de cena</nome> <obs>obs. para diretor</obs> </funcao> <funcao> <id>2</id> <nome>ator</nome> <obs>obs. para ator</obs> </funcao> <funcao> <id>3</id> <nome>roteirista</nome> <obs>obs. para roteirista</obs> </funcao> <funcao> <id>4</id> <nome>produtor</nome> <obs>obs.</obs> </funcao> <funcao> <id>5</id> <nome>diretor de arte</nome> <obs>obs.</obs> </funcao> <funcao> <id>6</id> <nome>diretor de fotografia</nome> <obs>obs.</obs> </funcao> <!-- Tabela genero --> <genero> <id>1</id> <nome>drama</nome> <observacoes>observações para o gênero drama</observacoes> </genero> <genero> <id>2</id> <nome>comédia</nome> <observacoes>observações para o gênero comédia</observacoes> </genero> <genero> <id>3</id> <nome>aventura</nome> <observacoes>observações para o gênero aventura</observacoes> </genero> <genero> <id>4</id> <nome>musical</nome> <observacoes>observações para o gênero musical</observacoes> </genero> <!-- Tabela imagens --> <!-- Tabela tipo --> <tipo> <id>1</id> <nome>curta</nome> <obs>observações para o curta</obs> </tipo> <tipo> <id>2</id> <nome>longa</nome> <obs>observações para o longa</obs> </tipo></elti_filme>