Gerenciador de Bancos de Dados SQL Server

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

Introdução à Banco de Dados

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

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

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

BANCO DE DADOS. Araújo Lima. Jan / Araújo

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

Banco de Dados. Introdução e Definições

Aula 01 Conceito de Banco de Dados e SGBD

Sistemas da Informação. Banco de Dados I. Edson Thizon

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Conceitos e arquitetura do banco de dados. Andre Noel

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

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Aula 2 BD Introdução. Profa. Elaine Faria UFU

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

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

Banco de Dados I. Prof. Edson Thizon

Sistemas de Banco de Dados

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Banco de Dados 08/08/2010

Introdução a Banco de Dados Prof. Msc Denival A. dos Santos

Introdução a B anco de Dados. INE5206 Introdução à Informática INE/CTC/UFSC Prof. Roberto Willrich

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

Conceitos Básicos de Banco de Dados

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Introdução. O que é um Banco de Dados (BD)?

Banco de Dados e Aplicações em Negócios: Introdução.

1. Conceitos de Bancos de Dados

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Introdução a Banco de Dados

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD)

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSORA RESPONSÁVEL: Roberta Macêdo Marques Gouveia

Prof. Marcelo Machado Cunha

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão

BCD29008 Banco de dados

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

BCD29008 Banco de dados

Curso: Banco de Dados I. Conceitos Iniciais

GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Livro texto: Capítulo 1

Revisando Banco de Dados. Modelo Relacional

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

BANCO DE DADOS I Atualizado em 13 de maio de 2009

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

INE 5423 Banco de Dados I

Modelo Relacional: Entidades e Relacionamentos. Cardinalidade. Normalização. Linguagem SQL: DDL e DML.

Sistema Gestor de Bancos de Dados (SGBD)

Sistemas Gerenciadores de Banco de Dados

Conceitos de Sistemas de Banco de Dados INE 5323

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

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

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

Banco de Dados Unidade I Visão Geral Prof. Francisco Gerson A. de Meneses

INE 5423 Banco de Dados I

Revisão de Bancos de Dados

Aula 01. Introdução aos sistemas de informação Conceitos de banco de dados Modelos de BD Linguagens de Banco de Dados Usuários de um Banco de Dados

Faculdade Ieducare 4º Semestre Sistemas de Informação Professor: Rhyan Ximenes

SUMÁRIO. Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Unidade 1 Introdução

Introdução a Bancos de Dados. - Conceitos - Modelos lógicos e relacional - Álgebra relacional -SQL - Projeto Lógico

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Parte SISTEMAS DE GERÊNCIA DE BANCO DE DADOS 2.1 CARACTERÍSTICAS DE UM BANCO DE DADOS

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

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

Resolução dos exercícios da lista BD01

Adriano Maranhão PROFISSIONAIS E ATIVIDADES ENVOLVIDAS EM UM SGBD

Banco de Dados. Aula 01. Prof. Diemesleno Souza Carvalho

MATA60 BANCO DE DADOS Aula 2- Sistema Gerenciador de Banco de Dados. Prof. Daniela Barreiro Claro

A linguagem SQL

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Prof. Luiz Fernando. Unidade I ADMINISTRAÇÃO

Computação Instrumental

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

Banco de Dados. SGBDs. Professor: Charles Leite

DDL). O resultado da compilação dos parâmetros DDLs é

Modelo Entidade-Relacionamento (E-R)

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

Banco de Dados. Introdução aos Bancos de dados. Prof. Sérgio Portari

2. Conceitos e Arquiteturas de um SGBD

Modelagem Conceitual e o Modelo Entidade-Relacionamento

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha

Unidade 4 Projeto de Banco de Dados

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

Introdução aos Bancos de dados. Francisco Antonio de Sousa

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

Transcrição:

Curso de Especialização: Engenharia e Administração de Sistemas de Banco de Dados Gerenciador de Bancos de Dados SQL Server 1 Conceitos Fundamentais Profa. Dra. Gisele Busichia Baioco gisele@ft.unicamp.br

Conteúdo Banco de Dados BD Sistema de Gerenciamento de Bancos de Dados SGBD Sistema de Bancos de Dados SBD Arquitetura de um SBD Projeto de Bancos de Dados A Linguagem SQL Structured Query Language

Banco de Dados BD Definição Um Banco de Dados ou Base de Dados é uma coleção de dados (fatos conhecidos) logicamente relacionados, com algum significado. Propriedades Associações aleatórias de dados não podem ser chamadas de BD; Um BD é projetado, construído e preenchido com dados para um propósito específico. tem um grupo de usuários e algumas aplicações para atender esses usuários; Um BD representa algum aspecto do mundo real, conhecido como Mini-Mundo ou Universo de Discurso. mudanças no Mini-Mundo provocam mudanças no BD.

Sistema de Gerenciamento de Bancos de Dados SGBD Como armazenar dados em disco? 1. Programa aplicativo com os dados armazenados código executável e dados compõem um único objeto. 2. Sistema de Arquivos Aplicativo 1... Aplicativo n Arquivo programas aplicativos ficam isolados dos dados; procedimentos relacionados a gerência de dados (armazenamento e recuperação) ficam embutidos no código-fonte dos programas. 3. Sistema de Gerenciamento de Bancos de Dados Aplicativo 1... Aplicativo n S G B D Arquivo promove a independência dos programas aplicativos em relação aos dados armazenados.

Sistema de Gerenciamento de Bancos de Dados SGBD Definição Um Sistema de Gerenciamento de Bancos de Dados é um sistema de software de propósito geral que facilita o processo de definir, construir e manipular BDs de diversas aplicações. Capacidades básicas Compartilhamento de Dados controle de concorrência; Restrições de Acesso Multiusuário; Reforço de Restrições de Integridade tipos de dados, relacionamentos; Fornecimento de Backup e Recovery no caso de falhas de hardware e software.

Sistema de Bancos de Dados SBD Sistema de Bancos de Dados: composto pelos BDs e o SGBD. SBD Usuários/Programadores Programas de Aplicação/Consultas SGBD Software para processo (Programas/Consultas) Software para acesso a dados armazenados Definição do Banco de Dados (Meta-Dados) Banco de Dados

Sistema de Bancos de Dados SBD Profissionais envolvidos Administrador do BD (DBA - Database Administrator): autoriza o acesso ao BD, coordena e monitora seu uso; soluciona problemas, tais como, quebra de segurança e baixo desempenho. Projetistas do BD: identifica os dados a serem armazenados no BD; escolhe estruturas apropriadas para representar e armazenar os dados. Usuários Finais: acessam o BD para consultar, modificar dados e gerar relatórios. Analistas de Sistemas e Programadores de Aplicação: os analistas especificam as transações para atender aos requisitos dos usuários finais; os programadores implementam essas especificações produzindo os programas aplicativos.

Arquitetura de um SBD Um SBD é composto por três partes: Interface com o usuário: valida as solicitações dos usuários; inicia operações em uma BD de acordo com as solicitações. Mecanismo de acesso: manutenção das estruturas de dados das BDs; acesso aos dados; manutenção da integridade dos dados. Armazenamento de dados: arquivos que contém os dados em si (BDs). De acordo com essas três partes, duas arquiteturas são possíveis para um SBD: Desktop Cliente-Servidor

Arquitetura de um SBD Arquitetura Desktop Considerando um ambiente de rede (dados armazenados em um servidor na rede e podem ser compartilhados): Aplicativo 1... BD 1... Todos os dados serão trazidos pela rede, inclusive os que não serão utilizados Aplicativo n Interface com o Usuário + Mecanismo de Acesso Usuário BD m Armazenamento de Dados Servidor Aumento do tráfego na rede

Arquitetura de um SBD Arquitetura Cliente-Servidor Considerando um ambiente de rede (dados armazenados em um servidor na rede e podem ser compartilhados): C++ Builder JAVA Delphi Visual Basic, etc Aplicativo 1... Aplicativo n SQL Server Sybase Oracle, etc S G B D BD 1... BD m Retorna apenas os dados resultantes de uma solicitação Interface com o Usuário Usuário Mecanismo de Acesso + Armazenamento de Dados Servidor Redução do tráfego na rede Cliente (front-end) Servidor (back-end)

Fases de Projeto de Bancos de Dados: Requisitos de Dados Mini-Mundo Coleta e Análise de Requisitos Requisitos Funcionais Modelagem ME-R/ME-R Estendido Projeto Conceitual Esquema Conceitual de Dados Especificação das Transações Projeto Lógico Independente do SGBD Específico do SGBD Esquema Lógico de Dados Projeto Físico Mapeamento ME-R/ME-R Estendido para o Modelo Relacional Esquema Físico de Dados

Fase de Projeto Conceitual Abstrai a realidade independente do SGBD utilizado na implementação; Gera o esquema conceitual de dados; Modelos Conceituais: Modelo Entidade-Relacionamento ME-R; ME-R Estendido; Modelo de Classes da UML.

Projeto Conceitual ME-R O ME-R possui 4 construtores semânticos: Conjunto de Entidades; Conjunto de Relacionamentos; Atributos de Conjunto de Entidades; Atributos de Conjunto de Relacionamentos.

Projeto Conceitual ME-R Conjunto de Entidades (CE): Entidade representa um objeto sobre o qual deseja-se manter informações. Pode ser: física: pessoa, carro, casa, funcionário, etc. conceitual: departamento de uma empresa, curso de uma universidade, etc Conjunto de Entidades agrupa entidades que possuem propriedades semelhantes. Representação: CE

Projeto Conceitual ME-R Conjunto de Relacionamentos (CR): Relacionamento associação entre entidades. Exemplos: Funcionário...Trabalhar...Departamento Aluno...Matricular...Disciplina Conjunto de Relacionamentos coleção de relacionamentos que possuem propriedades semelhantes. Representação: CR

Projeto Conceitual ME-R Grau de relacionamentos: binários, ternários, etc Exemplos de relacionamento binários: Funcionário trabalha Trabalhar tem Departamento Disciplina é pré-requisito de Prérequisitar pré-requisita

Projeto Conceitual ME-R Grau de relacionamentos: binários, ternários, etc Exemplos de relacionamento ternários: Aluno monitora Monitorar monitorada por Disciplina supervisiona compra Professor Empresa assessora é vendida Promover venda Empresa compra Negociar negociado Produto vende

Projeto Conceitual ME-R Cardinalidade de relacionamentos binários: 1:1 (um para um) A a 1 a 2 a 3 a 4 B b 1 b 2 b 3 b 4 Exemplo: Funcionário 1 1 Gerenciar gerencia gerenciado por Departamento

Projeto Conceitual ME-R Cardinalidade de relacionamentos binários: A B 1:N (um para muitos) N:1 (muitos para um) a 1 a 2 a 3 a 4 b 1 b 2 b 3 b 4 b 5 b 6 Exemplo: Funcionário 1 N Possuir possui depende de Dependente

Projeto Conceitual ME-R Cardinalidade de relacionamentos binários: A B a 1 b 1 N:M (muitos para muitos) a 5 a 6 a 2 a 3 a 4 b 2 b 3 b 4 b 5 b 6 Exemplo: Funcionário N desenvolve Desenvolver M desenvolvido por Projeto

Projeto Conceitual ME-R Cardinalidade de relacionamentos ternários: Possibilidades: 1:1:1 1:1:N 1:N:M N:M:P Exemplo: Aluno N 1 Monitorar 1 Disciplina Professor

Projeto Conceitual ME-R Atributos de CEs e de CRs: Descrevem os CEs e os CRs; Cada entidade do CE e cada relacionamento do CR terão um valor para cada um de seus atributos; Esses valores são os dados armazenados no BD; Os atributos dos CEs são obrigatórios, os dos CRs são opcionais. CE atributo1... atributon CR atributo1... atributon

Projeto Conceitual ME-R Atributos de CEs e de CRs: Chave de um CE: conjunto de atributos cujos valores identifiquem univocamente cada entidade no CE; Outras possíveis chaves não são indicadas no esquema de dados, pois não são contempladas pelo ME-R; Não existe a representação de chave em um CR. CE atributo_chave atributo1... atributon

Projeto Conceitual ME-R Atributos de CEs e de CRs: Exemplos: Aluno N Matricular M Disciplina ra nome nota sigla nome num_creditos Chave composta: Turma sigla periodo sala

Projeto Conceitual ME-R Estendido Abstrações em modelos de dados: objeto abstrato detalhar abstrair objeto detalhe Abstrações no ME-R Estendido: Generalização; Agregação.

Projeto Conceitual ME-R Estendido Abstração de Generalização: consiste em abstrair as características comuns contidas em vários CEs e generalizá-las em um único CE genérico (CEg). Genérico CE g especializar generalizar (é-um) Específico Propriedade: Herança CE e1... CE en

Projeto Conceitual ME-R Estendido Abstração de Generalização: Exemplo: Departamento 1 Possuir N código nome data Pessoa RG nome idade Quando usar? 1o. Caso: quando certos atributos podem ser aplicados somente a algumas entidades da superclasse. 2o. Caso: quando algum CR pode estar relacionando apenas algumas entidades da superclasse. Aluno ra N 1 Orientar Professor M Ministrar N Disciplina referência área_pesquisa Funcionário código nome nhoras nfuncional

Projeto Conceitual ME-R Estendido Abstração de Generalização: Representações: Participação Total e Exclusão Mútua CE g Participação Parcial e Exclusão Mútua CE g CE e1... CE en CE e1... CE en Participação Total e Sobreposição CE g Participação Parcial e Sobreposição CE g CE e1... CE en CE e1... CE en

Projeto Conceitual ME-R Estendido Abstração de Agregação: consiste em associar CEs cujas entidades estejam relacionadas através de um CR, gerando um objeto agregado AG, que pode ter atributos próprios. Agregação separar associar (faz parte de) CR AG Parte Propriedade: Identificação

Projeto Conceitual ME-R Estendido Abstração de Agregação: Exemplos: Quando usar? 1o. Caso: quando necessita-se representar relacionamentos entre relacionamentos. Empregado Trabalhar Trabalho Usar Projeto Máquina

Projeto Conceitual ME-R Estendido Abstração de Agregação: Exemplos: Quando usar? 2o. Caso: quando é necessário identificar cada relacionamento de um CR por meio de uma chave. Vendedor Vender Cliente Venda Produto código data valor Chave Própria Vendedor Produto Vendedor Produto Vender Cliente Venda data+ valor Chave Adicional Vender Cliente Venda código data+ valor Chave Própria e Chave adicional

Projeto Lógico Considera o tipo do SGBD a ser utilizado na implementação, mas não o fabricante; Mapeamento do esquema conceitual de dados gerando o esquema lógico de dados; Modelo Lógico: Modelo Relacional.

Projeto Lógico Modelo Relacional O Modelo Relacional possui 2 construtores semânticos: Relações; Atributos. Exemplo: Empregado = {NomeEmp, NumEmp, Salario, Depto} Informalmente: Relação -> Tabela; Atributos -> Colunas; Tuplas -> Linhas ou Registros. Nome da relação Empregado NomeEmp NumEmp Salario Depto Josué 123.456.789 R$ 750.00 21 Silva 375.758.395 R$ 480.00 25 Reis 475.858.595 R$ 680.00 23 atributos tuplas

Projeto Lógico Modelo Relacional Chaves de Relações: Chave: subconjunto dos atributos de uma relação cujos valores são unívocos para cada tupla da relação e do qual não se pode retirar nenhum atributo e ainda preservar-se a propriedade de identificação unívoca; Chave primária: é a chave de uma relação que tem a maior freqüência de acesso. As outras chaves são chamadas de chaves candidatas (ou secundárias). Exemplo: chave primária Pessoa = {Nome, CPF, RG, Idade, Telefone} chave secundária

Projeto Lógico Modelo Relacional Chaves de Relações: Chave estrangeira: faz o vínculo (relacionamento) entre duas relações por meio de valores de atributos dessas relações. Exemplo: Esquema Lógico de Dados: Departamento = {NumDepto, NomeDepto, Ramal} Empregado = {NumEmp, NomeEmp, Salário, Depto} Depto chave estrangeira referenciando Departamento Instâncias das relações: chave estrangeira r(departamento) = {<21, Pessoal, 142>, <23, Financeiro, 144>, <25, Compras, 156>} r(empregado) = {<1234, Josué, 750.00, 23>, <4567, Silva, 480.00, 25>, <8910, Reis, 680.00, 21>, <1112, Santos, 250.00, 25>}

Projeto Lógico Modelo Relacional Restrições de Integridade: regras a respeito dos valores que podem ser armazenados nas relações. São três: Restrições de Integridade de Chave: os valores das chaves de uma relação devem ser únicos para todas as tuplas da relação; Restrições de Integridade de Entidade: a chave primária de uma relação não pode ser nula em nenhuma tupla dessa relação; Restrições de Integridade Referencial: garantia do conceito de chave estrangeira.

Projeto Lógico Modelo Relacional Exemplos de violações de Restrições de Integridade: Esquema Lógico de Dados: Departamento = {NumDepto, NomeDepto, Ramal} Empregado = {NumEmp, NomeEmp, Salário, Depto} Depto chave estrangeira referenciando Departamento Instâncias das relações: Violação de Integridade de Entidade Violação de Integridade de Chave r(departamento) = {<null, Pessoal, 142>, r(empregado) = {<1234, Josué, 750.00, 23>, <23, Financeiro, 144>, <4567, Silva, 480.00, null>, <25, Compras, 156>} <1234, Reis, 680.00, 21>, <1112, Santos, 250.00, 23>} Violação de Integridade Referencial

Projeto Lógico Modelo Relacional compra = {codcompra, data, comissão, login_comprador, codobra} Mapeamento: ME-R/ME-R Estendido -> Modelo Relacional Exemplo: cliente = {login, senha, nome, rg, endereço} obras_literárias = {codobra, nome, editora, preço, tipo, login_vendedor, data} login_vendedor chave estrangeira referenciando cliente livro = {codobra, ISBN, autor} codobra chave estrangeira referenciando obras_literárias periódico = {codobra, número, volume} codobra chave estrangeira referenciando obras_literárias login_comprador chave estrangeira referenciando cliente codobra chave estrangeira referenciando obras_literárias Cliente login senha nome rg endereço 1 N Vender data 1 N Comprar Obras Literárias codobra nome editora preço Compra codcompra data comissão Livro ISBN autor Periódico número volume

Projeto Físico Implementa as definições do esquema lógico de dados, escolhendo estruturas de armazenamento e acesso específicas do SGBD a ser utilizado na implementação; Gera o esquema físico de dados; Usa a DDL (Data Definition Language) do SGBD específico da implementação.

A Linguagem SQL Structured Query Language Linguagem padrão dos SGBDs Relacionais; Padronizada inicialmente pela ANSI (American National Standards Institute) e posteriormente também pela ISO (International Standards Organization): Em 1986 primeiro padrão ANSI SQL-86 (posteriormente adotado também pela ISO em 1987); SQL-89 e SQL-92 atualizações da SQL-86; Em 1999 SQL:1999 ou SQL3 padrão para os BDs Objeto-Relacionais; Em 2003 SQL:2003 introduz características relacionadas a linguagem XML (extensible Markup Language); Em 2006 SQL:2006 define meios de utilização de SQL em conjunto com XML; mais recente versão SQL:2008.

A Linguagem SQL Structured Query Language Divide-se em três componentes principais: Linguagem de Definição de Dados (Data Definition Language DDL): permite a definição da estrutura do BD e a criação, alteração e eliminação dos objetos do BD (tabelas, índices, visões, regras, stored procedures, triggers); Linguagem de Manipulação de Dados (Data Manipulation Language DML): suporta a manipulação dos dados armazenados nas tabelas do BD inserção, consulta, eliminação e alteração; Linguagem de Controle de Dados (Data Control Language DCL): envolve comandos para o controle de privilégios de acesso aos dados, segurança e administração do BD (cadastramento de usuários/grupos, atribuição de permissões, backup e recovery, configurações, etc).

Bibliografia ELMASRI, R.; NAVATHE, S. B., Sistemas de banco de dados. 4 ed., Prentice-Hall, 2005. SILBERSCHATZ, A. KORTH, H. F. e SUDARSHAN, S.; Sistema de banco de dados. 5 ed., Campus - Elsevier, 2006. DATE, C. J., Introdução a sistemas de bancos de dados. 8 ed., Campus - Elsevier, 2005.