Escolar Documentos
Profissional Documentos
Cultura Documentos
BD Relacional
BD Relacional
O modelo relacional
Marta Mattoso
Sumrio
Introduo Motivao Servios de um SGBD O Modelo Relacional As aplicaes no convencionais O Modelo Orientado a Objetos Consideraes Finais
Marta Mattoso 1
Sumrio
Introduo Bibliografia Conceitos Bsicos Ambiente de um SGBD Motivao Servios de um SGBD O Modelo Relacional As aplicaes no convencionais O Modelo Orientado a Objetos Consideraes Finais
Marta Mattoso 2
Referncias Bibliogrficas
[Elm 00] [Kim 95] [Catt94] [Kosh93] [O2Te95] [Ozsu 99] Elmasri e Navathe "Fundamentals of Database Systems", Benjamin-Cummings, 3a. edio, 2000. Kim W. "Modern Database Systems", ACM Press, 1995. Cattell R.G. "Object Data Management", Addison-Wesley, 2a. edio, 1994. Koshafian S. "Object-Oriented Database Systems" Morgan Kaufmann, 1993. O2 Technology, "The O2 User's Manual" Version 4.5, maro 1995. Ozsu e Valduriez "Principles of Distributed Database Systems", Prentice Hall, 1999.
Marta Mattoso 3
Introduo
Alguns termos tpicos: dados - fatos que podem ser armazenados ex:nomes, telefones, endereos base de dados - coleo de dados interelacionados logicamente, ex: agenda de telefones Sistema de Gerncia de Bases de Dados (SGBD) - coleo de programas que permite a criao e gerncia de bases de dados ou Sistema de Banco de Dados
Marta Mattoso 4
SGBD
Programas de Aplicao/Consultas
SGBD Software
Meta-Dados Armazenado
Marta Mattoso 5
Passageiros
Nome Jose Campos Maria Silva Gabriel Silva Cludio Silva Telefone 322-9999 222-3333 222-3333 222-3333
Reservas
Nome Vo Air France 147 Air France 147 Air France 147 Varig 224 Varig 224 Passageiro Jos Campos Maria Silva Gabriel Silva Gabriel Silva Cludio Silva
Vos Vo Air France 455 Varig 224 Cia Nome Varig Air France
Tarifa
Ass
Cia
Air France 147 1000,00 250 Air France 750,00 500 Air France 500,00 150 Varig Faturam. 20000K 10000K Presid. Pampa Etoile Sede Porto Alegre Paris Marta Mattoso 6
Sumrio
Introduo Motivao Sistemas de Arquivos X SGBDs Histrico Quando usar um SGBD ? Servios de um SGBD SGBDs relacionais As aplicaes no convencionais O Modelo Orientado a Objetos Consideraes Finais
Marta Mattoso 7
Motivao
Simplificar o desenvolvimento de aplicaes caracterizadas por uso intensivo de DADOS COMO? Provendo servios que diminuem o tempo de desenvolvimento Atravs de ferramentas o usurio pode: realizar entrada de dados examinar dados manipular dados de acordo com a aplicao
Marta Mattoso 8
Motivao
Sistema de Banco de Dados X Sistema de Arquivos Antes de SGBDs as aplicaes utilizavam sistemas de arquivos do Sistema Operacional. Atravs de arquivos, as aplicaes armazenavam seus dados atravs das interaes com a aplicao.
Marta Mattoso 9
Motivao
Sistema de Banco de Dados X Sistema de Arquivos Dados e Meta-dados na base Os dados e a descrio correspondente so armazenadas na base e gerenciadas pelo SGBD. Independncia de Dados-Programas Modificaes como incluso de um novo campo no afetam os programas. Abstrao de Dados Representao conceitual atravs de um modelo de dados que s usa conceitos lgicos. Mltiplas Vises
Introduo a Banco de Dados Marta Mattoso 10
Marta Mattoso
11
Marta Mattoso
12
Marta Mattoso
13
Motivao
Quando usar um SGBD ?
quando as 10 funcionalidades so relevantes alguns sistemas oferecem mais recursos para manter consistncia e apoiar aplicaes Considerar vantagens adicionais: potencial para garantir padronizaes flexibilidade reduo no tempo de desenvolvimento da aplicao disponibilidade de informao atualizada economia de escala
Introduo a Banco de Dados Marta Mattoso 14
Motivao
Quando NO usar um SGBD ?
quando essa funcionalidade no necessria sobrecarga influi no desempenho investimento inicial alto, em geral: hardware extra Analisar o escopo: micro mainframe (OLTP) Considerar situaes no favorveis: a base de dados e as aplicaes so simples, bem definidas e sem perspectivas de mudanas requisitos de tempo real no necessita acesso concorrente aos dados
Introduo a Banco de Dados Marta Mattoso 15
Sumrio
Introduo Motivao Servios de um SGBD Controles Operacionais Usurios Anatomia de um SGBD O Modelo Relacional As aplicaes no convencionais O Modelo Orientado a Objetos Consideraes Finais
Marta Mattoso
16
Servios de um SGBD
Controles Operacionais: Redundncia Controlada Compartilhamento dos Dados Concorrncia Reconstruo Acesso controlado Segurana Restries de Integridade Distribuio Gerncia de armazenamento dos dados
Introduo a Banco de Dados Marta Mattoso 17
Redundncia Controlada
Os diversos setores de uma empresa compartilham informaes que podem estar replicadas. Por ex.: Nome de Cia Area Essa redundncia pode levar a um estado inconsistente, alm de gastar espao de armazenamento O SGBD deve oferecer mecanismos para esse controle sem prejudicar as aplicaes dos diversos setores
Marta Mattoso
18
Marta Mattoso
19
Controle de Concorrncia
Limita as leituras e modificaes simultneas disparadas ao mesmo dado por diferentes usurios A tcnica mais usada consiste em bloquear os dados envolvidos em determinada operao. Por ex.: Caso um passageiro queira transferir sua reserva de um vo para outro necessrio que os dois vos estejam bloqueados. O bloqueio pode ser lgico ou fsico. Lgico: linguagem de consulta. Fsico: registro, pgina ou tabela Bloqueio Perptuo ('deadlock')
Introduo a Banco de Dados Marta Mattoso 20
Controle de Transaes
Transaes so unidades lgicas de trabalho numa aplicao. Por ex.: Caso da transferncia da reserva de vo. A base de dados est em um estado consistente antes e depois de uma transao. Um mecanismo de transao garante que toda transao iniciada ou termina com sucesso ou desfeita. Transaes de diferentes usurios que envolvem dados compartilhados so executadas em sequencia. Transaes controlam melhor a concorrncia e a reconstruo.
Marta Mattoso
21
Reconstruo
Um mecanismo de reconstruo permite que a base de dados volte a um estado consistente aps pane. Backups so a soluo mais simples e antiga. A reconstruo associada transao pode proporcionar solues de backup incremental atravs de arquivos tipo log.
Marta Mattoso
22
Acesso Controlado
Quando vrios usurios tem acesso base de dados, em geral eles tem privilgios diferentes quanto manipulao dos dados. Dados finaceiros costumam ter acesso restrito e o SGBD deve ter um mecanismo de controle de segurana. O SGBD deve garantir que usurios autorizados realizam operaes corretas na base de dados. identificao de usurios e de dados autenticao de usurios manuteno da matriz de autorizao
Marta Mattoso
23
Segurana
Proteo aos dados Cuida para que o contedo da base de dados no seja compreendido por usurios no autorizados Critografia/Decriptografia Padres de criptografia Criptografia atravs de chaves
Marta Mattoso
24
Restries de Integridade
Manuteno da consistncia da base de dados atravs da validao de restries definidas sobre os dados. Controle de valores que um campo pode ter. Por ex.: O nmero de assentos de um vo s pode variar entre 100 e 700. Controle de relacionamento entre dois registros. Por ex.: Um vo s pode pertencer a uma Cia j cadastrada. O SGBD deve oferecer dois mecanismos: especificao de restries de integridade validao das restries de integridade
Introduo a Banco de Dados Marta Mattoso 25
Gerncia de armazenamento
Armazenamento de tabelas Como os registros so armazenados nas pginas dos arquivos em disco Gerncia do espao do arquivo em disco Mtodos de Acesso ndices hash rvores-B
Marta Mattoso
26
Gerncia de armazenamento
Programa de Aplicao Envio de consultas, retorno de registros Processamento de Consultas ndices, ponteiros, operaes sobre registros Mtodos de Acesso Operaes sobre pginas Gerncia de Armazenamento Abre e fecha arquivo, leitura e gravao de pginas Sistema de Arquivos Introduo a Banco de Dados Marta Mattoso 27
Distribuio
Acesso remoto a bases de dados arquitetura cliente/servidor sistemas heterogneos Base distribuda fragmentao de dados entre duas ou mais bases de dados desempenho acesso transparente fragmentao horizontal fragmentao vertical
Marta Mattoso
28
Tarifa
Ass
Cia
Air France 147 1000,00 250 Air France 750,00 500 Air France 500,00 150 Varig Faturam. 20000K 10000K Presid. Pampa Etoile Sede Porto Alegre Paris Marta Mattoso 29
Tarifa
Ass
Cia
Air France 147 1000,00 250 Air France 750,00 500 Air France Presid. Etoile Sede Paris
Faturam. 10000K
Marta Mattoso
30
Tarifa
Ass
Cia
500,00 150 Varig Faturam. 20000K Presid. Pampa Sede Porto Alegre
Marta Mattoso
31
Servios de um SGBD
Usurios: Projetistas da Aplicao Administrador do Banco de Dados Projetista da Base de Dados Usurio Final Analistas de Sistemas e Programadores de Aplicao Projetistas do SGBD Projetistas e Implementadores do SGBD Desenvolvedores de Ferramentas Pessoal de Suporte
Introduo a Banco de Dados Marta Mattoso 32
Execuo da Consulta
Sumrio
Introduo Motivao Servios de um SGBD O Modelo Relacional Estruturas Operaes Restries As aplicaes no convencionais O Modelo Orientado a Objetos Consideraes Finais
Marta Mattoso
34
Modelo Relacional
Estruturas Tabelas (relaes) Operaes SQL (lgebra relacional) Restries Tabelas so conjuntos matemticos : as linhas no possuem ordem nem rplicas Atributos no possuem ordem Valores armazenados nas linhas e colunas so atmicos
Introduo a Banco de Dados Marta Mattoso 35
Marta Mattoso
36
Tuplas (ou registros) - so as linhas das tabelas e representam entidades do mundo real Atributos (ou campos) - so as colunas das tabelas e representam propriedades das entidades Introduo a Banco de Dados Marta Mattoso 37
Chaves
Tabela de Vos Vo AF147 AF455 RG224 Cdigo 423 128 Tarifa Ass Cia 1000,00 250 128 750,00 500 128 500,00 150 423 Nome Varig Air France Faturam. 20000K 10000K Presid. Pampa Etoile Sede Porto Alegre Paris
Chave primria - um (ou vrios) atributo que identifica a entidade. O valor deve ser nico para cada linha da tabela. Ex.: Vo, Cdigo Chave estrangeira - um atributo (ou vrios) usado para referenciar entidades de outras tabelas. Possui valores da chave primria da tabela referenciada. Ex. Cia Introduo a Banco de Dados Marta Mattoso 38
Tabela Passageiros Nome Maria Silva Telefone 222-3333 Jose Campos 322-9999 Gabriel Silva 222-3333 Cludio Silva 222-3333
Marta Mattoso
39
Normalizao
Nome Jose Campos Maria Silva Gabriel Silva Cludio Silva Telefone 322-9999 222-3333 222-3333 222-3333 Vo AF147 AF147 AF147 RG224 RG224 Passageiro Jos Campos Maria Silva Gabriel Silva Gabriel Silva Cludio Silva
No Normalizada - S 1 tabela Vo AF147 AF147 AF147 RG224 RG224 Passageiro Jos Campos Maria Silva Gabriel Silva Gabriel Silva Telefone 322-9999 222-3333 222-3333 222-3333
Normalizao
Nome Jose Campos Maria Silva Gabriel Silva Cludio Silva Telefone 322-9999 222-3333 222-3333 222-3333 Vo AF147 AF147 AF147 RG224 RG224 Passageiro Jos Campos Maria Silva Gabriel Silva Gabriel Silva Cludio Silva
No Normalizada - NF2 Vo AF147 Passageiro Jos Campos Maria Silva Gabriel Silva Telefone 322-9999 222-3333 222-3333
RG224
Tabela de Cias Areas Nome Varig Faturam. 20000K Presid. Pampa Etoile Sede Porto Alegre Paris
Marta Mattoso
42
Marta Mattoso
43
lgebra Relacional
Seleo ( ) Produz um sub-conjunto das linhas da tabela, sendo dada uma condio a ser verificada. Ex.: Selecionar os vos com tarifa < 1000,00
Tabela de Vos Vo AF147 AF455 RG224 Tarifa Ass Cia 128 128 423 1000,00 250 750,00 500 500,00 150 Resultado da Seleo Vo RG224 AF455 Tarifa Ass Cia 423 128 500,00 150 750,00 500
Marta Mattoso
44
lgebra Relacional
Projeo ( ) Produz um sub-conjunto das colunas da tabela, sendo dado os atributos desejados no resultado. Ex.: Projetar a tabela Vos sobre Vo e Tarifa
Tabela de Vos Vo AF147 AF455 RG224 Tarifa Ass Cia 128 128 423 1000,00 250 750,00 500 500,00 150 Resultado da Projeo Vo AF147 AF455 RG224 Tarifa 1000,00 750,00 500,00
Marta Mattoso
45
lgebra Relacional
Juno ( ) Produz uma tabela composta de duas outras que se relacionam. Ex.: Juntar a tabela Vos com a tabela Cia_Areas atravs de Cia e Cd Tabela de Vos Vo AF147 AF455 RG224 Tarifa 1000,00 750,00 500,00 Ass 250 500 150 Cia 128 128 423 Tabela de Cia_Areas Cd 423 128 Nome Varig Fatur 20000K Presid Pampa Etoile Sede Porto Alegre Paris
Tabela Resultado Vo AF147 AF455 RG224 Tarifa 1000,00 750,00 500,00 Ass 250 500 150 Cia 128 128 423 Nome Air France Air France Varig Fatur 10000K 10000K 20000K Presid Etoile Etoile Pampa Sede Paris Paris Porto Alegre Marta Mattoso 46
SQL
Seleo Ex.: Selecionar os vos com tarifa < 1000,00
SELECT VO, TARIFA, ASS FROM VOS WHERE TARIFA < 1000,00
Tabela de Vos Vo AF147 AF455 RG224 Tarifa Ass Cia 128 128 423 1000,00 250 750,00 500 500,00 150
Resultado da Seleo Vo RG224 AF455 Tarifa Ass 500,00 150 750,00 500
Marta Mattoso
47
SQL
Juno/Projeo - Obter para os vos cadastrados o nome da Cia e a Sede
SELECT VO TARIFA, NOME, SEDE WHERE CIA = COD FROM VOS, CIA_AREAS
Tabela de Vos Vo AF147 AF455 RG224 Tarifa 1000,00 750,00 500,00 Ass 250 500 150 Cia 128 128 423
Tabela de Cia_Areas Cd 423 128 Nome Varig Fatur 20000K Presid Pampa Etoile Sede Porto Alegre Paris
Tabela Resultado Vo AF147 AF455 RG224 Tarifa 1000,00 750,00 500,00 Nome Air France Air France Varig Sede Paris Paris Porto Alegre
Marta Mattoso
48
SQL
Juno/Proj/Sel - Obter para os vos cadastrados com tarifa < 1000,00 o nome da Cia e a Sede
SELECT VO TARIFA, NOME, SEDE FROM VOS, CIA_AREAS WHERE CIA = COD AND TARIFA < 1000,00 Tabela de Vos Vo AF147 AF455 RG224 Tarifa 1000,00 750,00 500,00 Ass 250 500 150 Cia 128 128 423 Tabela de Cia_Areas Cd 423 128 Nome Varig Fatur 20000K Presid Pampa Etoile Sede Porto Alegre Paris
Tabela Resultado Vo AF455 RG224 Tarifa 750,00 500,00 Nome Air France Varig Sede Paris Porto Alegre Marta Mattoso 49
Chave nica
(NOME_VO, PASSAGEIRO) UNIQUE IN RESERVAS
Chave Estrangeira
NOME_VO IN RESERVAS REFERENCES VO IN VOS
Marta Mattoso 51
Passageiros
Nome Jose Campos Maria Silva Gabriel Silva Cludio Silva Telefone 322-9999 222-3333 222-3333 222-3333
Reservas
Nome Vo Air France 147 Air France 147 Air France 147 Varig 224 Varig 224 Passageiro Jos Campos Maria Silva Gabriel Silva Gabriel Silva Cludio Silva
Vos Vo Air France 455 Varig 224 Cia Nome Varig Air France
Tarifa
Ass
Cia
Air France 147 1000,00 250 Air France 750,00 500 Air France 500,00 150 Varig Faturam. 20000K 10000K Presid. Pampa Etoile Sede Porto Alegre Paris Marta Mattoso 52
Sumrio
Introduo Motivao Funcionalidades de um SGBD Modelos de Dados O Modelo Relacional SGBDs Relacionais arquitetura em trs nveis (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), definio esq. conceit, interno e externo users (Cattell 3.2.3) e application tools (Cattell 3.10)
Introduo a Banco de Dados Marta Mattoso 53
Sumrio
Introduo Motivao Funcionalidades de um SGBD Modelos de Dados O Modelo Relacional SGBDs Relacionais
Marta Mattoso
54
Marta Mattoso
55