Introdução a Banco de Dados



Documentos relacionados
Softwares Aplicativos Banco de Dados

Introdução a Banco de Dados. Aécio Costa

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Introdução Banco de Dados

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s

Conceitos de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

SISTEMA GERENCIADOR DE BANCO DE DADOS

Bancos de Dados Distribuídos

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Prof. Marcelo Machado Cunha

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Banco de Dados I. Introdução. Fabricio Breve

INTRODUÇÃO. Diferente de Bando de Dados

Revisão de Banco de Dados

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Prof.: Clayton Maciel Costa

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

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Faculdade Lourenço Filho - ENADE

Introdução à Banco de Dados. Definição

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr waltenomartins@yahoo.

Introdução a Banco de Dados. Adão de Melo Neto

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

Persistência e Banco de Dados em Jogos Digitais

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

Conceitos Básicos. Conceitos Básicos. Sistema de Arquivos. Prof. Edilberto Silva - edilms@yahoo.com. Sistemas de Informação Brasília/DF

Modelo de Dados. Modelo para organização dos dados de um BD

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Docente: Éberton da Silva Marinho

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

Modelo de Dados. Modelos Conceituais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

Banco de Dados I. 1. Conceitos de Banco de Dados

Sistemas Gerenciadores de Bancos de Dados

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Bancos de Dados Distribuídos

Arquitetura de Banco de Dados

Disciplina de Banco de Dados Parte V

Fundamentos de Banco de Dados

Integridade dos Dados

Noções de. Microsoft SQL Server. Microsoft SQL Server

Banco de Dados I Introdução

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SGBD. Funções Básicas de um SGBD

1) O QUE NÃO É BANCO DE DADOS?

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Técnicas e Linguagens para Banco de Dados I

Disciplina de Banco de Dados Introdução

Modelos. Comunicação com clientes

Módulo 4: Gerenciamento de Dados

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

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

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Prof. Luiz Fernando. Unidade III ADMINISTRAÇÃO DE

LINGUAGEM DE BANCO DE DADOS

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

AULA SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

Roteiro 2 Conceitos Gerais

MC536 Bancos de Dados: Teoria e Prática

BANCO DE DADOS CONCEITOS BÁSICOS

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

CICLO DE VIDA DE UM BD

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr.

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Sistemas Gerenciadores de Bancos de Dados

Introdução ao SQL. Aécio Costa

Banco de Dados I. Introdução Conceitos

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Comandos de Manipulação

Bancos de Dados Aula #1 - Introdução

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

4.6. SQL - Structured Query Language

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Transcrição:

Introdução a Banco de Dados O modelo relacional Marta Mattoso

Sumário Introdução Motivação Serviços de um SGBD O Modelo Relacional As aplicações não convencionais O Modelo Orientado a Objetos Considerações Finais Introdução a Banco de Dados Marta Mattoso 1

Sumário Introdução Bibliografia Conceitos Básicos Ambiente de um SGBD Motivação Serviços de um SGBD O Modelo Relacional As aplicações não convencionais O Modelo Orientado a Objetos Considerações Finais Introdução a Banco de Dados Marta Mattoso 2

Referências Bibliográficas [Elm 00] Elmasri e Navathe "Fundamentals of Database Systems", Benjamin-Cummings, 3a. edição, 2000. [Kim 95] Kim W. "Modern Database Systems", ACM Press, 1995. [Catt94] Cattell R.G. "Object Data Management", Addison-Wesley, 2a. edição, 1994. [Kosh93] [O2Te95] [Ozsu 99] Koshafian S. "Object-Oriented Database Systems" Morgan Kaufmann, 1993. O2 Technology, "The O2 User's Manual" Version 4.5, março 1995. Ozsu e Valduriez "Principles of Distributed Database Systems", Prentice Hall, 1999. Introdução a Banco de Dados Marta Mattoso 3

Introdução Alguns termos típicos: dados - fatos que podem ser armazenados ex:nomes, telefones, endereços base de dados - coleção de dados interelacionados logicamente, ex: agenda de telefones Sistema de Gerência de Bases de Dados (SGBD) - coleção de programas que permite a criação e gerência de bases de dados ou Sistema de Banco de Dados Introdução a Banco de Dados Marta Mattoso 4

Sistema Gerência de Bases de Dados Usuários SGBD Programas de Aplicação/Consultas SGBD Software Software para processar consultas Software para acessar dados armaz. Meta-Dados Armazenado Base de Dados Armazenada Introdução a Banco de Dados Marta Mattoso 5

Passageiros Reservas Nome Telefone Nome Vôo Jose Campos 322-9999 Air France 147 Maria Silva 222-3333 Air France 147 Gabriel Silva 222-3333 Air France 147 Varig 224 Cláudio Silva 222-3333 Varig 224 Vôos Vôo Tarifa Ass Cia Air France 147 1000,00 250 Air France Air France 455 750,00 500 Air France Varig 224 500,00 150 Varig Cia Nome Faturam. Presid. Sede Varig 20000K Pampa Porto Alegre Air France 10000K Etoile Paris Passageiro José Campos Maria Silva Gabriel Silva Gabriel Silva Cláudio Silva Introdução a Banco de Dados Marta Mattoso 6

Sumário Introdução Motivação Sistemas de Arquivos X SGBDs Histórico Quando usar um SGBD? Serviços de um SGBD SGBDs relacionais As aplicações não convencionais O Modelo Orientado a Objetos Considerações Finais Introdução a Banco de Dados Marta Mattoso 7

Motivação Simplificar o desenvolvimento de aplicações caracterizadas por uso intensivo de DADOS COMO? Provendo serviços que diminuem o tempo de desenvolvimento Através de ferramentas o usuário pode: realizar entrada de dados examinar dados manipular dados de acordo com a aplicação Introdução a Banco de Dados Marta Mattoso 8

Motivação Sistema de Banco de Dados X Sistema de Arquivos Antes de SGBDs as aplicações utilizavam sistemas de arquivos do Sistema Operacional. Através de arquivos, as aplicações armazenavam seus dados através das interações com a aplicação. Introdução a Banco de Dados Marta Mattoso 9

Motivação Sistema de Banco de Dados X Sistema de Arquivos Dados e Meta-dados na base Os dados e a descrição correspondente são armazenadas na base e gerenciadas pelo SGBD. Independência de Dados-Programas Modificações como inclusão de um novo campo não afetam os programas. Abstração de Dados Representação conceitual através de um modelo de dados que só usa conceitos lógicos. Múltiplas Visões Introdução a Banco de Dados Marta Mattoso 10

Motivação - histórico - arquivos Funcionalidades oferecidas por Sistemas de Arquivos: 1. Registros tam. fixo com campos de tipos diferentes 2. Possibilidade de memória virtual e persistência 3. Índices: hash, árvore-b 4. Bloqueio de arquivo e registro para concorrência Introdução a Banco de Dados Marta Mattoso 11

Motivação - histórico - SGBD redes Os SGBDs dos anos 70 ofereciam as seguintes funcionalidades adicionais: 5. Identificadores de registros com acesso estruturado através de redes de registros 6. Acesso a vários arquivos indexados simultaneamente compondo uma base de dados única 7. Proteção - restrições de acesso a pessoas ou programas autorizados 8. Transações - reconstrução, concorrência e consistência Introdução a Banco de Dados Marta Mattoso 12

Motivação - histórico - SGBD relacional O SGBD dos anos 80 (Relacional) oferece as seguintes funcionalidades adicionais: 9. Linguagem de Consulta com operações de manipulação de dados e ferramentas para desenvolvimento de aplicações 10. Independência de dados Introdução a Banco de Dados Marta Mattoso 13

Motivação Quando usar um SGBD? quando as 10 funcionalidades são relevantes alguns sistemas oferecem mais recursos para manter consistência e apoiar aplicações Considerar vantagens adicionais: potencial para garantir padronizações flexibilidade redução no tempo de desenvolvimento da aplicação disponibilidade de informação atualizada economia de escala Introdução a Banco de Dados Marta Mattoso 14

Motivação Quando NÃO usar um SGBD? quando essa funcionalidade não é necessária sobrecarga influi no desempenho investimento inicial alto, em geral: hardware extra Analisar o escopo: micro mainframe (OLTP) Considerar situações não favoráveis: a base de dados e as aplicações são simples, bem definidas e sem perspectivas de mudanças requisitos de tempo real não necessita acesso concorrente aos dados Introdução a Banco de Dados Marta Mattoso 15

Sumário Introdução Motivação Serviços de um SGBD Controles Operacionais Usuários Anatomia de um SGBD O Modelo Relacional As aplicações não convencionais O Modelo Orientado a Objetos Considerações Finais Introdução a Banco de Dados Marta Mattoso 16

Serviços de um SGBD Controles Operacionais: Redundância Controlada Compartilhamento dos Dados Concorrência Reconstrução Acesso controlado Segurança Restrições de Integridade Distribuição Gerência de armazenamento dos dados Introdução a Banco de Dados Marta Mattoso 17

Redundância Controlada Os diversos setores de uma empresa compartilham informações que podem estar replicadas. Por ex.: Nome de Cia Aérea Essa redundância pode levar a um estado inconsistente, além de gastar espaço de armazenamento O SGBD deve oferecer mecanismos para esse controle sem prejudicar as aplicações dos diversos setores Introdução a Banco de Dados Marta Mattoso 18

Compartilhamento dos Dados Um SGBD multi-usuário tem que permitir o acesso simultâneo de vários usuários à base de dados O SGBD deve oferecer um controle de concorrência para garantir que o resultado de várias modificações à base de dados seja correto Exemplo: reserva de vôos Introdução a Banco de Dados Marta Mattoso 19

Controle de Concorrência Limita as leituras e modificações simultâneas disparadas ao mesmo dado por diferentes usuários A técnica mais usada consiste em bloquear os dados envolvidos em determinada operação. Por ex.: Caso um passageiro queira transferir sua reserva de um vôo para outro é necessário que os dois vôos estejam bloqueados. O bloqueio pode ser lógico ou físico. Lógico: linguagem de consulta. Físico: registro, página ou tabela Bloqueio Perpétuo ('deadlock') Introdução a Banco de Dados Marta Mattoso 20

Controle de Transações Transações são unidades lógicas de trabalho numa aplicação. Por ex.: Caso da transferência da reserva de vôo. A base de dados está em um estado consistente antes e depois de uma transação. Um mecanismo de transação garante que toda transação iniciada ou termina com sucesso ou é desfeita. Transações de diferentes usuários que envolvem dados compartilhados são executadas em sequencia. Transações controlam melhor a concorrência e a reconstrução. Introdução a Banco de Dados Marta Mattoso 21

Reconstrução Um mecanismo de reconstrução permite que a base de dados volte a um estado consistente após pane. Backups são a solução mais simples e antiga. A reconstrução associada à transação pode proporcionar soluções de backup incremental através de arquivos tipo log. Introdução a Banco de Dados Marta Mattoso 22

Acesso Controlado Quando vários usuários tem acesso à base de dados, em geral eles tem privilégios diferentes quanto à manipulação dos dados. Dados finaceiros costumam ter acesso restrito e o SGBD deve ter um mecanismo de controle de segurança. O SGBD deve garantir que usuários autorizados realizam operações corretas na base de dados. identificação de usuários e de dados autenticação de usuários manutenção da matriz de autorização Introdução a Banco de Dados Marta Mattoso 23

Segurança Proteção aos dados Cuida para que o conteúdo da base de dados não seja compreendido por usuários não autorizados Critografia/Decriptografia Padrões de criptografia Criptografia através de chaves Introdução a Banco de Dados Marta Mattoso 24

Restrições de Integridade Manutenção da consistência da base de dados através da validação de restrições definidas sobre os dados. Controle de valores que um campo pode ter. Por ex.: O número de assentos de um vôo só pode variar entre 100 e 700. Controle de relacionamento entre dois registros. Por ex.: Um vôo só pode pertencer a uma Cia já cadastrada. O SGBD deve oferecer dois mecanismos: especificação de restrições de integridade validação das restrições de integridade Introdução a Banco de Dados Marta Mattoso 25

Gerência de armazenamento Armazenamento de tabelas Como os registros são armazenados nas páginas dos arquivos em disco Gerência do espaço do arquivo em disco Métodos de Acesso Índices hash Árvores-B Introdução a Banco de Dados Marta Mattoso 26

Gerência de armazenamento Programa de Aplicação Envio de consultas, retorno de registros Processamento de Consultas Índices, ponteiros, operações sobre registros Métodos de Acesso Operações sobre páginas Gerência de Armazenamento Abre e fecha arquivo, leitura e gravação de páginas Sistema de Arquivos Introdução a Banco de Dados Marta Mattoso 27

Distribuição Acesso remoto a bases de dados arquitetura cliente/servidor sistemas heterogêneos Base distribuída fragmentação de dados entre duas ou mais bases de dados desempenho acesso transparente fragmentação horizontal fragmentação vertical Introdução a Banco de Dados Marta Mattoso 28

Distribuição - base unificada Nome Telefone Nome Vôo Jose Campos 322-9999 Air France 147 Maria Silva 222-3333 Air France 147 Gabriel Silva 222-3333 Air France 147 Varig 224 Cláudio Silva 222-3333 Varig 224 Passageiro José Campos Maria Silva Gabriel Silva Gabriel Silva Cláudio Silva Vôo Tarifa Ass Cia Air France 147 1000,00 250 Air France Air France 455 750,00 500 Air France Varig 224 500,00 150 Varig Nome Faturam. Presid. Sede Varig 20000K Pampa Porto Alegre Air France 10000K Etoile Paris Introdução a Banco de Dados Marta Mattoso 29

Distribuição - frag. horizontal, base AF Nome Telefone Jose Campos 322-9999 Maria Silva 222-3333 Gabriel Silva 222-3333 Cláudio Silva 222-3333 Vôo Tarifa Ass Cia Air France 147 1000,00 250 Air France Air France 455 750,00 500 Air France Nome Vôo Air France 147 Air France 147 Air France 147 Passageiro José Campos Maria Silva Gabriel Silva Nome Faturam. Presid. Sede Air France 10000K Etoile Paris Introdução a Banco de Dados Marta Mattoso 30

Distribuição - frag. horizontal, base RG Nome Telefone Jose Campos 322-9999 Maria Silva 222-3333 Gabriel Silva 222-3333 Cláudio Silva 222-3333 Nome Vôo Varig 224 Varig 224 Passageiro Gabriel Silva Cláudio Silva Vôo Tarifa Ass Cia Varig 224 500,00 150 Varig Nome Faturam. Presid. Sede Varig 20000K Pampa Porto Alegre Introdução a Banco de Dados Marta Mattoso 31

Serviços de um SGBD Usuários: Projetistas da Aplicação Administrador do Banco de Dados Projetista da Base de Dados Usuário Final Analistas de Sistemas e Programadores de Aplicação Projetistas do SGBD Projetistas e Implementadores do SGBD Desenvolvedores de Ferramentas Pessoal de Suporte Introdução a Banco de Dados Marta Mattoso 32

Camadas Funcionais de um SGBD Programa de Aplicação Interface com Usuário / Gerência de Visões Controle Semântico / Verificação de Autorização Decomposição da Consulta e Otimização Execução da Consulta Gerência de buffer / Métodos de Acesso Controle de Concorrência / Controle de Reconstrução (logging) Base de Dados Introdução a Banco de Dados Marta Mattoso 33

Sumário Introdução Motivação Serviços de um SGBD O Modelo Relacional Estruturas Operações Restrições As aplicações não convencionais O Modelo Orientado a Objetos Considerações Finais Introdução a Banco de Dados Marta Mattoso 34

Modelo Relacional Estruturas Tabelas (relações) Operações SQL (álgebra relacional) Restrições Tabelas são conjuntos matemáticos : as linhas não possuem ordem nem réplicas Atributos não possuem ordem Valores armazenados nas linhas e colunas são atômicos Introdução a Banco de Dados Marta Mattoso 35

Modelo Relacional - Estruturas relações (tabelas), atributos, tuplas chaves atributos especiais: chave estrangeira relacionamentos normalização Linguagem de definição de dados Introdução a Banco de Dados Marta Mattoso 36

Tabelas (ou relações) Tabela de Vôos Vôo Tarifa Ass Cia AF147 1000,00 250 128 AF455 750,00 500 128 RG224 500,00 150 423 Tabela de Cias Aéreas Código Nome Faturam. Presid. Sede 423 Varig 20000K Pampa Porto Alegre 128 Air France 10000K Etoile Paris Tuplas (ou registros) - são as linhas das tabelas e representam entidades do mundo real Atributos (ou campos) - são as colunas das tabelas e representam propriedades das entidades Introdução a Banco de Dados Marta Mattoso 37

Chaves Tabela de Vôos Vôo Tarifa Ass AF147 1000,00 250 128 Cia AF455 750,00 500 128 RG224 500,00 150 423 Tabela de Cias Aéreas Código Nome Faturam. Presid. Sede 423 Varig 20000K Pampa Porto Alegre 128 Air France 10000K Etoile Paris Chave primária - é um (ou vários) atributo que identifica a entidade. O valor deve ser único para cada linha da tabela. Ex.: Vôo, Código Chave estrangeira - é um atributo (ou vários) usado para referenciar entidades de outras tabelas. Possui valores da chave primária da tabela referenciada. Ex. Cia Introdução a Banco de Dados Marta Mattoso 38

Tabelas entidade e relacionamento Tabela de Vôos (Entidade) Vôo Tarifa Ass Cia AF147 1000,00 250 128 AF455 750,00 500 128 RG224 500,00 150 423 Tabela Passageiros Nome Telefone Jose Campos 322-9999 Maria Silva 222-3333 Gabriel Silva 222-3333 Cláudio Silva 222-3333 Reservas (Relacionamento) Vôo Passageiro AF147 José Campos AF147 Maria Silva AF147 Gabriel Silva RG224 Gabriel Silva RG224 Cláudio Silva Introdução a Banco de Dados Marta Mattoso 39

Normalização Nome Telefone Jose Campos 322-9999 Maria Silva 222-3333 Gabriel Silva 222-3333 Cláudio Silva 222-3333 Vôo AF147 AF147 AF147 RG224 RG224 Passageiro José Campos Maria Silva Gabriel Silva Gabriel Silva Cláudio Silva Não Normalizada - Só 1 tabela Vôo Passageiro Telefone AF147 José Campos 322-9999 AF147 Maria Silva 222-3333 AF147 Gabriel Silva 222-3333 RG224 Gabriel Silva 222-3333 RG224 Claudio Silva 222-3333 Introdução a Banco de Dados Marta Mattoso 40

Normalização Nome Telefone Jose Campos 322-9999 Maria Silva 222-3333 Gabriel Silva 222-3333 Cláudio Silva 222-3333 Vôo AF147 AF147 AF147 RG224 RG224 Passageiro José Campos Maria Silva Gabriel Silva Gabriel Silva Cláudio Silva Não Normalizada - NF2 Vôo Passageiro Telefone AF147 José Campos 322-9999 Maria Silva 222-3333 Gabriel Silva 222-3333 RG224 Gabriel Silva 222-3333 Claudio Silva 222-3333 Introdução a Banco de Dados Marta Mattoso 41

Linguagem de Definição de Dados (DDL) Em geral faz parte da SQL Ex.: CREATE TABLE CIA_AEREA ( CODIGO INTEGER, NOME CHAR (40), FATURAM REAL, PRESID CHAR (20), SEDE CHAR (50) ), KEY CODIGO; Tabela de Cias Aéreas Código Nome Faturam. Presid. Sede 423 Varig 20000K Pampa Porto Alegre 128 Air France 10000K Etoile Paris Introdução a Banco de Dados Marta Mattoso 42

Modelo Relacional - Operações Álgebra Relacional Seleção Projeção Junção... Linguagem de Consulta - SQL Introdução a Banco de Dados Marta Mattoso 43

Álgebra Relacional Seleção ( σ ) Produz um sub-conjunto das linhas da tabela, sendo dada uma condição a ser verificada. Ex.: Selecionar os vôos com tarifa < 1000,00 Tabela de Vôos Vôo Tarifa Ass Cia AF147 1000,00 250 128 AF455 750,00 500 128 RG224 500,00 150 423 Resultado da Seleção Vôo Tarifa Ass Cia RG224 500,00 150 423 AF455 750,00 500 128 Introdução a Banco de Dados Marta Mattoso 44

Álgebra Relacional Projeção (π ) Produz um sub-conjunto das colunas da tabela, sendo dado os atributos desejados no resultado. Ex.: Projetar a tabela Vôos sobre Vôo e Tarifa Tabela de Vôos Vôo Tarifa Ass Cia AF147 1000,00 250 128 AF455 750,00 500 128 RG224 500,00 150 423 Resultado da Projeção Vôo Tarifa AF147 1000,00 AF455 750,00 RG224 500,00 Introdução a Banco de Dados Marta Mattoso 45

Álgebra Relacional Junção ( ) Produz uma tabela composta de duas outras que se relacionam. Ex.: Juntar a tabela Vôos com a tabela Cia_Aéreas através de Cia e Cód Tabela de Vôos Vôo Tarifa Ass Cia AF147 1000,00 250 128 AF455 750,00 500 128 RG224 500,00 150 423 Tabela de Cia_Aéreas Cód Nome Fatur Presid Sede 423 Varig 20000K Pampa Porto Alegre 128 Air France 10000K Etoile Paris Tabela Resultado Vôo Tarifa Ass Cia Nome Fatur Presid Sede AF147 1000,00 250 128 Air France 10000K Etoile Paris AF455 750,00 500 128 Air France 10000K Etoile Paris RG224 500,00 150 423 Varig 20000K Pampa Porto Alegre Introdução a Banco de Dados Marta Mattoso 46

SQL Seleção Ex.: Selecionar os vôos com tarifa < 1000,00 SELECT VÔO, TARIFA, ASS FROM VÔOS WHERE TARIFA < 1000,00 Tabela de Vôos Vôo Tarifa Ass Cia AF147 1000,00 250 128 AF455 750,00 500 128 RG224 500,00 150 423 Resultado da Seleção Vôo Tarifa Ass RG224 500,00 150 AF455 750,00 500 Introdução a Banco de Dados Marta Mattoso 47

SQL Junção/Projeção - Obter para os vôos cadastrados o nome da Cia e a Sede SELECT VÔO TARIFA, NOME, SEDE FROM VÔOS, CIA_AÉREAS WHERE CIA = COD Tabela de Vôos Vôo Tarifa Ass Cia AF147 1000,00 250 128 AF455 750,00 500 128 RG224 500,00 150 423 Tabela de Cia_Aéreas Cód Nome Fatur Presid Sede 423 Varig 20000K Pampa Porto Alegre 128 Air France 10000K Etoile Paris Tabela Resultado Vôo Tarifa Nome Sede AF147 1000,00 Air France Paris AF455 750,00 Air France Paris RG224 500,00 Varig Porto Alegre Introdução a Banco de Dados Marta Mattoso 48

SQL Junção/Proj/Sel - Obter para os vôos cadastrados com tarifa < 1000,00 o nome da Cia e a Sede SELECT VÔO TARIFA, NOME, SEDE FROM VÔOS, CIA_AÉREAS WHERE CIA = COD AND TARIFA < 1000,00 Tabela de Vôos Vôo Tarifa Ass Cia AF147 1000,00 250 128 AF455 750,00 500 128 RG224 500,00 150 423 Tabela de Cia_Aéreas Cód Nome Fatur Presid Sede 423 Varig 20000K Pampa Porto Alegre 128 Air France 10000K Etoile Paris Tabela Resultado Vôo Tarifa Nome Sede AF455 750,00 Air France Paris RG224 500,00 Varig Porto Alegre Introdução a Banco de Dados Marta Mattoso 49

Modelo Relacional - Restrições Mantém a consistência da base de dados através da verificação de restrições definidas sobre a base de dados. Restrições sobre as estruturas propriedades básicas inerentes ao modelo relacional. Ex.: restrição da chave única Restrições sobre o comportamento comportamento da aplicação e operações relacionais. Ex.: dependência da chave estrangeira Dois Componentes Especificação das restrições de integridade Verificação das restrições de integridade Introdução a Banco de Dados Marta Mattoso 50

Linguagem Especificação de Restrições Atributo não nulo NOME NOT NULL IN CIA Chave única (NOME_VÔO, PASSAGEIRO) UNIQUE IN RESERVAS Chave Estrangeira NOME_VÔO IN RESERVAS REFERENCES VÔO IN VÔOS Introdução a Banco de Dados Marta Mattoso 51

Passageiros Reservas Nome Telefone Nome Vôo Jose Campos 322-9999 Air France 147 Maria Silva 222-3333 Air France 147 Gabriel Silva 222-3333 Air France 147 Varig 224 Cláudio Silva 222-3333 Varig 224 Vôos Vôo Tarifa Ass Cia Air France 147 1000,00 250 Air France Air France 455 750,00 500 Air France Varig 224 500,00 150 Varig Cia Nome Faturam. Presid. Sede Varig 20000K Pampa Porto Alegre Air France 10000K Etoile Paris Passageiro José Campos Maria Silva Gabriel Silva Gabriel Silva Cláudio Silva Introdução a Banco de Dados Marta Mattoso 52

Sumário Introdução Motivação Funcionalidades de um SGBD Modelos de Dados O Modelo Relacional SGBDs Relacionais arquitetura em três níveis (Cattel.p50,51) aspectos de uso ( Imped. mism., ex. PL1-Vald. pag.39) ex. de uso dos 3 niveis (Transp. Ozsu, Cap.2.14 e Cattel 3.4.3), definição esq. conceit, interno e externo users (Cattell 3.2.3) e application tools (Cattell 3.10) Introdução a Banco de Dados Marta Mattoso 53

Sumário Introdução Motivação Funcionalidades de um SGBD Modelos de Dados O Modelo Relacional SGBDs Relacionais Introdução a Banco de Dados Marta Mattoso 54

Introdução a Banco de Dados Marta Mattoso 55