You are on page 1of 9

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

EXERCCIOS DE SQL DDL O objetivo desta atividade elaborar cdigos SQL responsveis pela realizao de consultas em um banco de dados. Questo 1 A partir do diagrama abaixo desenvolva o modelo relacional e o modelo fsico (linguagem sql).

Questo 2 Criao de tabelas As tabelas so: Alunos, com os campos: ra, do tipo inteiro, e sendo chave-primria; nome aluno, do tipo string com 50 caracteres; ano admiss, do tipo inteiro; data nasc, do tipo data. Disciplinas, com os campos: codigo, do tipo string com 10 caracteres, e sendo chave primria; nome disciplina, do tipo string com 50 caracteres; corte a, do tipo ponto-flutuante; corte b, do tipo ponto-flutuante; corte c, do tipo ponto-flutuante. OBS.: Os campos corte referem-se s notas mnimas para garantir os conceitos A, B e C, respectivamente. Cursa, com os campos: codigo, do tipo string com 10 caracteres, referenciando o atributo codigo em Disciplinas, e pertencendo chave primria; ra, do tipo inteiro, referenciando o atributo ra em Alunos, e pertencendo chave primria; professor, do tipo string com 50 caracteres; ano, do tipo inteiro; semestre, do tipo inteiro; nota, do tipo ponto flutuante.

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

Insira nas tabelas criadas os seguintes dados.

Questo 3 Com base no esquema abaixo, escreva restries de integridade que garantam: fornecedores(num_for (PK), razao_social, cnpj, cidade, status) a) Que a cidade dos fornecedores seja apenas uma entre: Londres, Paris, Roma, Atenas, Oslo, Estocolmo, Madri e Amsterda. (com check) b) Que num_for seja um inteiro entre 150 e 550. c) Que o cnpj no pode ser nulo. d) Que o valor default de status 'OK'.

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

Cadastre fornecedores com os dados abaixo:

Execute instrues abaixo: a) Inserir um fornecedor para a cidade de Londrina b) Inserir um fornecedor para a cidade de Oslo c) Inserir um fornecedor para a cidade de roma (minsculo) d) Inserir um fornecedor com num_for igual a 90 e) Inserir um fornecedor com cnpj nulo f) Inserir dois fornecedores com a mesma razo social g) Inserir um fornecedor com num_for igual a 100. h) Modifique a restrio para que o cnpj possa ser nulo. i) Modifique a restrio para que num_for fique entre 100 e 500. Nenhum dado de fornecedor previamente cadastrado pode ser perdido. Faa esta alterao sem apagar ou recriar a tabela e recadastrar os dados. Os novos dados dos fornecedores devem ser:

Questo 4 Crie as tabelas abaixo: Atleta (cod_atleta, nome, sexo, cidade, data_nasc, idade) Equipe (cod_equipe, nome) Equipe_Atleta (cod_equipe, cod_atleta) cod_equipe referencia equipe cod_atleta referencia atleta Competicao (cod_competicao, data, cidade, pais) Participacao (cod_atleta, cod_equipe, cod_competicao, qualificacao) (cod_atleta, cod_equipe) referencia equipe_atleta cod_competicao referencia competicao Penalidades (cod_atleta, cod_penalidade, data, pontos, valor) cod_atleta referencia atleta * Os campos em negrito indicam as chaves primrias das tabelas. * As indicaes em azul representam as chaves estrangeiras das tabelas.

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

Faa insero dos seguintes dados Atleta cod_atleta 1 2 3 4 Equipe cod_equipe 1 2 Equipe_atleta cod_equipe 1 2 1 2 Competio cod_competicao 1 2 3 Participao cod_atleta 1 2 3 4 data 07/05/2003 03/06/2004 10/08/2004 cod_equipe 1 1 2 2 nome Rubens Souza Giovani Gomes Carla Andrade Flavia Tomazio sex o M M F F cidade Londrina Rio de Janeiro Sao Paulo Cornelio Procopio nome Flamengo Sao Paulo cod_atleta 1 3 2 4 cidade Roma Curitiba Rio de Janeiro pais Italia Brasil Brasil qualificacao ouro prata bronze bronze data_nasc 02/02/1980 20/01/1975 30/04/1977 13/05/1980 idade 24 29 27 24

cod_competicao 1 2 3 2

Questo 5 Crie as seguintes tabelas a partir das relaes abaixo. Defina Chaves primrias, Chaves Estrangeiras e Validaes de campos. Curso Codigo_Curso Nome_Curso Inscritos_Curso Instrutor Codigo_Instrutor Nome_Instrutor Seo Escritrio Fone Horrio Codigo_Horario Sala Horario Pre_Req Codigo_Curso Pre_Req Int Varchar(100) Int Int Varchar(100) Varchar(50) Varchar(30) Varchar(15) Int Varchar(30) Time Int Int Obrigatrio Obrigatrio Obrigatrio Obrigatrio Chave Primria >=0 Obrigatrio Obrigatrio Obrigatrio Chave Primria Centra, Vendas, Comercial

Obrigatrio Obrigatrio Obrigatrio

Chave Primria

Chave Primria Chave Primria

Chave Estrangeira de Curso Chave Estrangeira de Curso

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

Ministrado Data_Curso Codigo_Horario Codigo_Curso Codigo_Instrutor

Date Int Int Int

Obrigatrio Obrigatrio Obrigatrio Obrigatrio

Chave Primria Chave Primria

Chave Estrangeira de Horario Chave Estrangeira de Curso Chave Estrangeira de Instrutor

Questo 6 a. Crie a seguinte tabela a partir das relaes abaixo. Empregado Nome_Empregado Rua Cidade Estado Civil b. c. d. e. f. g. Varchar(50) Varchar(100) Varchar(30) Varchar(15) Obrigatrio Obrigatrio Chave Primria Casado, Solteiro, Viuvo

Altere a Tabela Empregado adicionando o atributo Bairro varchar(40) Altere a Tabela Empregado adicionando o atributo Salario numeric(9,2) Altere a Tabela Empregado adicionando o atributo data nascimento date Altere a Tabela Empregado modificando o tamanho do atributo Cidade para 110. Altere a Tabela Empregado modificando o tamanho do Estado Civil para 20. Crie a seguinte tabela a partir da relao abaixo. No esquea de definir a chave primria. Varchar(50) Varchar(30) Obrigatrio Chave Primria

Companhia Nome_Companhia Cidade

h. Altere a Tabela Empregado adicionando Nome_Empregado como chave primria. i. Verifique a descrio das tabelas criadas anteriormente. j. Crie a seguinte tabela a partir da relao. No esquea de definir as chaves estrangeiras. Trabalha Nome_Empregado Nome_Companhia Salrio Varchar(50) Varchar(50) Numeric(9,2) Obrigatrio Obrigatrio Obrigatrio Chave Primria Chave Primria Chave Estrangeira de Empregado Chave Estrangeira de Companhia >0

k. Crie a seguinte tabela a partir da relao. No esquea de definir as chaves estrangeiras. Gerente Nome_Empregado Nome_Gerente Varchar(50) Varchar(50) Obrigatrio Obrigatrio Chave Primria Chave Primria Chave Estrangeira de Empregado Chave Estrangeira de Empregado

l. Crie a seguinte tabela a partir da relao. Cidade Nome_Cidade CEP Estado Varchar(50) Varchar(9) Varchar(2) Obrigatrio Obrigatrio Chave Primria

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

Questo 7 Crie a seguinte tabela a partir das relao abaixo. Piloto codigo_piloto Nome_piloto Salario Gratificacao Companhia Pais Voo codigo_voo Aeroporto_Origem Aeroporto_Destino Hora Escala codigo_voo Data_voo Codigo_piloto Aviao Aeroporto codigo_aeroporto Nome_Aeroporto Cidade Pais Int Varchar(100) Numeric(9,2) Numeric(9,2) Varchar(30) Varchar(15) Varchar(6) Varchar(3) Varchar(3) Int Varchar(6) Date Int Varchar(30) Varchar(3) Varchar(100) Varchar(50) Varchar(15) Chave Primria

Chave Primria Chave Estrangeira Chave Estrangeira

Chave Primria Chave Primria Chave Estrangeira

Chave Primria

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

Questo 8 De acordo com o dicionrio de dados abaixo, gere um novo banco de dados. Tabela BAIRRO Atributo / Campo COD_BAIRRO COD_CIDADE NOME_BAIRRO CIDADE COD_CIDADE NOME_CIDADE SIGLA_UF DOC_PESSOA_FISICA COD_PESSOA_FISICA COD_TIPO_DOCUMENTO COMPLEMENTO EXPEDICAO NUMERO_DOCUMENTO ENDERECO_PESSOA_FI APARTAMENTO SICA BLOCO CEP COD_LOGRADOURO COD_PESSOA_FISICA COMPLEMENTO NUMERO TIPO_ENDERECO VARCHAR(60) NUMERIC CHAR(1) NULL NOT NULL NULL No No 0 NUMERIC NOT NULL Yes Ye s VARCHAR(1) DATE VARCHAR(20) VARCHAR(10) NOT NULL NULL NULL No No VARCHAR(60) NUMERIC VARCHAR(60) VARCHAR(2) NUMERIC NOT NULL Yes NULL NULL No No Ye s Tipo de Dado / Tamanho NUMERIC Null / Not Null PK FK Valor Mnimo Regra de Validao Valor Padro

NOT NULL Yes No Ye s No NOT NULL Yes

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

ESTADO_CIVIL

COD_ESTADO_CIVIL DESC_ESTADO_CIVIL

NUMERIC VARCHAR(30) NUMERIC

NOT NULL Yes No Yes Ye s No 0 DESCONTO >= 0 QUANTIDADE >= 0 VALOR_UNITARIO >= 0 0

ITENS_PEDIDO

COD_PEDIDO COD_PRODUTO DESCONTO QUANTIDADE VALOR_UNITARIO

FLOAT

No

LOGRADOURO

COD_BAIRRO COD_CIDADE COD_LOGRADOURO COD_TIPO_LOGRADOURO NOME_LOGRADOURO

NUMERIC

NULL

Ye s

NOT NULL Yes No NULL VARCHAR(80) NUMERIC VARCHAR(30) NUMERIC NULL DATE NOT NULL NOT NULL Yes No Yes No Ye s No CURRENT_DATE NUMERIC Ye s Yes No DATE NULL No CURRENT_DATE No Ye s No

NACIONALIDADE PEDIDO

COD_NACIONALIDADE DESC_NACIONALIDADE COD_PEDIDO COD_PESSOA_FISICA DATA_ENTREGA DATA_PEDIDO

PESSOA_FISICA

COD_ESTADO_CIVIL COD_NACIONALIDADE COD_PESSOA_FISICA DATA_ATUALIZACAO

CURSO DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS BANCO DE DADOS

DATA_CADASTRO DATA_NASCIMENTO NOME NOME_MAE NOME_PAI OBS SEXO PRODUTOS COD_PRODUTO COD_UNIDADE DESC_PRODUTO ESTOQUE_MINIMO QTDE_ESTOQUE VALOR_UNIT TIPO_DOCUMENTO TIPO_LOGRADOURO UF UNIDADE COD_TIPO_DOCUMENTO DESC_TIPO_DOCUMENTO COD_TIPO_LOGRADOURO DESC_TIPO_LOGRADOURO NOME_UF SIGLA_UF COD_UNIDADE DESC_UNIDADE NUMERIC VARCHAR(30) NUMERIC VARCHAR(20) VARCHAR(30) VARCHAR(2) NUMERIC VARCHAR(30) VARCHAR(60) FLOAT VARCHAR(250) CHAR(1) NUMERIC VARCHAR(60)

NOT NULL NULL NOT NULL NULL

NOT NULL Yes No Ye s No 0

SEXO IN (M, F)

ESTOQUE_MINIMO >= 0 VALOR_UNIT >= 0

0 Yes No Yes NULL No

NOT NULL Yes No

You might also like