Revisão de Bancos de Dados

Documentos relacionados
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Banco de Dados I Introdução SQL

SQL (Tópicos) Structured Query Language

BANCO DE DADOS. Vinícius Pádua

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

IMPLEMENTAÇÃO DE BANCO DE DADOS

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

BANCO DE DADOS GERENCIAL 1 A U L A 2

A linguagem SQL

Rápida revisão do Modelo Relacional

BCD29008 Banco de dados

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Linguagem de Consulta Estruturada (SQL)

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Banco de Dados. Linguagem SQL

SQL Básica. Andre Noel

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Modelo Entidade-Relacionamento (E-R)

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Introdução ao Banco de Dados. Banco de Dados

Manipulação de Dados com SQL

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker

Banco de Dados. Professora: Luciana Faria

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

ANÁLISE E PROJETO DE BANCO DE DADOS

Comandos de Manipulação

MySql. Introdução a MySQL. Andréa Garcia Trindade

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Restrições do modelo relacional

Introdução a Bancos de Dados

Page 1. Prof. Constantino Jacob

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Para criarmos um banco de dados no MySql, utilizamos à instrução:

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Curso de Banco de Dados. Prof. Rone Ilídio

Tabelas. Banco de Dados I MySQL

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

Disciplina: Banco de Dados Tema: SQL Parte 2

Utilizando o Postgres - comandos SQL para a manipulação de dados

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Bases de Dados. DDL Data Definition Language

A linguagem SQL

Teste Exemplo Revisão da tentativa 1

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

Oracle Database 10g: Fundamentos de SQL e PL/SQL

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

BCD29008 Banco de dados

Introdução ao PostgreSQL

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

PHP INTEGRAÇÃO COM MYSQL PARTE 1

12.4 DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade DER Mais sobre Cardinalidade

Modelagem de Dados Usando o Modelo Entidade-Relacionamento (ME-R)

SQL-99: Esquema de BD EMPRESA

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

BCD29008 Banco de dados

A U L A 1 I N T R O D U Ç Ã O A B A N C O D E D A D O S E V I S Ã O G E R A L D O S Q L

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

MODELO DE BANCO DE DADOS RELACIONAL

Structured Query Language (SQL) Aula Prática

Arquivo. Banco de Dados. Organização dos Arquivos. Banco de Dados. Banco de Dados. Introdução a Computação

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

Introdução ao SQL. Aécio Costa

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Bancos (Bases) de Dados

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

BANCO DE DADOS I Atualizado em 13 de maio de 2009

Conceitos e arquitetura do banco de dados. Andre Noel

Transcrição:

Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor) e em três camadas (cliente/servidor de aplicação/servidor de bancos de dados). 3. O que diferencia os conceitos de esquema de bancos de dados, estado de bancos de dados e metadados? 4. O que é uma linguagem de definição de dados (Data Definition Language DDL) e o que é uma linguagem de manipulação de dados (Data Manipulation Language DML)? A linguagem SQL é uma DDL ou uma DML? 5. Qual a diferença entre bancos de dados relacionais e bancos de dados orientados a objetos? 6. Defina os conceitos de superchave, chave, chave primária, chave única e chave estrangeira. 7. As aplicações de bancos de dados usualmente possuem uma série de restrições de integridade que podem ser de diferentes tipos. Defina o que é uma restrição de integridade de bancos de dados. 8. Define as restrições de integridade de atributos abaixo: a. Restrição de domínio b. Restrição de chave c. Restrição NOT NULL 9. Defina o que é uma restrição de integridade de entidade. 10. Defina o que é uma restrição de integridade referencial. 11. Defina o que é uma restrição de integridade semântica. 12. Considere o esquema de bancos de dados abaixo. Identifique pelo menos cinco restrições de integridade (de pelo menos três tipos diferentes) que devem ser mantidas no banco de dados.

Modelo ER 1. Crie um diagrama ER que descreva o minimundo de uma empresa descrito abaixo: Uma empresa é organizada em departamentos. Cada departamento tem um nome exclusivo, um número exclusivo e um funcionário em particular que o gerencia. Registramos a data inicial em que esse funcionário começou a gerenciar o departamento. Um departamento pode ter vários locais. As informações armazenadas para cada funcionário são: nome, CPF, endereço, salário, gênero sexual e data de nascimento. Um funcionário é alocado a um departamento, mas pode trabalhar em vários projetos que não necessariamente são controlados pelo mesmo departamento. O número total de horas que o funcionário trabalha em cada projeto é registrado. Também é registrado o supervisor de cada funcionário (que é outro funcionário). É importante registrar os dependentes de cada funcionário para fins de seguro. Os dados mantidos para cada dependente são: nome, sexo, data de nascimento e parentesco com o funcionário. 2. A partir do diagrama ER escrito no exercício anterior, crie o esquema de tabelas do minimundo seguindo o padrão utilizado na Figura 3. SQL 1. Defina os conceitos de esquema, catálogo e ambiente no contexto de SQL. 2. Para criar tabelas em SQL é utilizado o comando CREATE TABLE. Restrições de integridade podem ser adicionadas tanto no momento de criação das tabelas quanto posteriormente usando o comando ALTER TABLE (um comentário sobre restrições do tipo chave estrangeira é feito no box de observação abaixo). a. Dado o código de criação da tabela table01 apresentado na Figura 4, defina qual a diferença entre o tipo VARCHAR e o tipo CHAR[]. b. Assumindo que a tabela table01 tenha sido criada com objetivo de armazenar informações sobre pessoas, cite pelo menos duas restrições de integridade que deveriam ser adicionadas aos atributos da tabela.

c. Escreva o código SQL para criação de 5 tabelas do minimundo da empresa descrito anteriormente. Adicione as restrições de chave primária e chave estrangeira pelo menos uma vez no momento de criação da tabela e uma vez usando o comando ALTER TABLE. Para exemplificar o código SQL para criação de tabelas, na Figura 5 são apresentados os códigos para criação das tabelas compositor, composição e música, vindas dos exemplos apresentados nas Figuras 2 e 3. As restrições de chave primária, chave estrangeira e atributos únicos foram adicionados de diferentes formas apenas para relembrar as possibilidades. 3. Em SQL, o comando INSERT é utilizado para inserir elementos em uma tabela do banco de dados. Crie os comandos SQL para inserir pelo menos três elementos em pelo menos três tabelas daquelas criadas no exercício 2.c. Para relembrar o formato do comando INSERT, a Figura 6 traz um conjunto de comandos utilizados para popular as tabelas compositor, musica e composição. 4. Para listar informações existentes em um banco de dados usando SQL é utilizado o comando SELECT. Para relembrar este comando, a Figura 7 traz uma série de queries usando os dados inseridos pelo código apresentado na Figura 6. Para exercitar o uso do comando, crie queries para retornar as seguintes informações do minimundo da empresa: a. Liste o número de funcionários na empresa. b. Liste de forma ordenada os nomes dos funcionários do sexo feminino que gerenciam departamentos. c. Liste os nomes dos dependentes e os nomes dos respectivos funcionários associados. d. Liste o nome de cada funcionário e o número de dependentes que este possui. e. Liste o nome de cada funcionário e o número de projetos em que ele trabalha que são do mesmo departamento a que ele está alocado. f. Liste o nome de cada departamento, a soma do salário de seus funcionários e o número de funcionários do departamento. g. Liste a soma dos salários e o número de funcionários do sexo masculino que trabalham em projetos do mesmo departamento a que pertencem. 5. Cite quais são as diferenças entre os operadores INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN e FULL OUTER JOIN. 6. Os comandos SQL para atualizar e apagar elementos de uma tabela são, respectivamente, os comandos UPDATE e DELETE. Já para atualizar e apagar bancos de dados e seus elementos (tabelas, triggers, stored procedures, etc.), são utilizados, respectivamente, os comandos ALTER e DROP (a Figura 8 traz exemplos de utilização destes comandos). Crie pelo menos 5 comandos SQL para atualização e deleção de itens e tabelas do minimundo da empresa. 7. A linguagem SQL provê vários mecanismos para lidar com atualizações e deleções de itens de uma tabela que são referenciados como chaves estrangeiras de outras tabelas. Descreve quais ações serão tomadas se os seguintes modificadores forem adicionados à definição de uma chave estrangeira: a. ON DELETE CASCADE b. ON UPDATE CASCADE c. ON DELETE SET DEFAULT d. ON DELETE SET NULL

Figura 1: Componentes básicos do Modelo Entidade-Relacionamento (Figura adaptada do livro-texto) Figura 2: Exemplo minimalista de um diagrama ER

Figura 3: Diagrama de tabelas correspondente ao exemplo da Figura 2 usando uma notação alternativa. Figura 4: Código base para os exercícios 2.a e 2.b. Observação: A adição de restrições do tipo chave estrangeira podem causar erros quando são especificadas por referências circulares ou porque dizem respeito a uma tabela que ainda não foi criada. Para lidar com esse tipo de problema, essas restrições podem ser omitidas do comando CREATE TABLE, e depois acrescentadas usando o comando ALTER TABLE.

Figura 5: Código SQL para criação das tabelas compositor, música e composição apresentadas anteriormente. Figura 6: Exemplos de comandos de inserção

Figura 7: Exemplos de queries usando o comando SELECT Figura 8: Exemplos de utilização dos comandos ALTER, DROP, UPDATE e DELETE.