Você está na página 1de 56

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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.

Introduo a Banco de Dados

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

Introduo a Banco de Dados

Marta Mattoso 4

Sistema Gerncia de Bases de Dados


Usurios

SGBD
Programas de Aplicao/Consultas

SGBD Software

Software para processar consultas

Software para acessar dados armaz.

Meta-Dados Armazenado

Base de Dados Armazenada

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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.

Introduo a Banco de Dados

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

Motivao - histrico - arquivos


Funcionalidades oferecidas por Sistemas de Arquivos: 1. Registros tam. fixo com campos de tipos diferentes 2. Possibilidade de memria virtual e persistncia 3. ndices: hash, rvore-B 4. Bloqueio de arquivo e registro para concorrncia

Introduo a Banco de Dados

Marta Mattoso

11

Motivao - histrico - SGBD redes


Os SGBDs dos anos 70 ofereciam as seguintes funcionalidades adicionais: 5. Identificadores de registros com acesso estruturado atravs de redes de registros 6. Acesso a vrios arquivos indexados simultaneamente compondo uma base de dados nica 7. Proteo - restries de acesso a pessoas ou programas autorizados 8. Transaes - reconstruo, concorrncia e consistncia

Introduo a Banco de Dados

Marta Mattoso

12

Motivao - histrico - SGBD relacional


O SGBD dos anos 80 (Relacional) oferece as seguintes funcionalidades adicionais: 9. Linguagem de Consulta com operaes de manipulao de dados e ferramentas para desenvolvimento de aplicaes 10. Independncia de dados

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

Marta Mattoso

18

Compartilhamento dos Dados


Um SGBD multi-usurio tem que permitir o acesso simultneo de vrios usurios base de dados O SGBD deve oferecer um controle de concorrncia para garantir que o resultado de vrias modificaes base de dados seja correto Exemplo: reserva de vos

Introduo a Banco de Dados

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.

Introduo a Banco de Dados

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.

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

Marta Mattoso

28

Distribuio - base unificada


Nome Jose Campos Maria Silva Gabriel Silva Cludio Silva Telefone 322-9999 222-3333 222-3333 222-3333 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

Vo Air France 455 Varig 224 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 29

Introduo a Banco de Dados

Distribuio - frag. horizontal, base AF


Nome Jose Campos Maria Silva Gabriel Silva Cludio Silva Telefone 322-9999 222-3333 222-3333 222-3333 Nome Vo Air France 147 Air France 147 Air France 147 Passageiro Jos Campos Maria Silva Gabriel Silva

Vo Air France 455 Nome Air France

Tarifa

Ass

Cia

Air France 147 1000,00 250 Air France 750,00 500 Air France Presid. Etoile Sede Paris

Faturam. 10000K

Introduo a Banco de Dados

Marta Mattoso

30

Distribuio - frag. horizontal, base RG


Nome Jose Campos Maria Silva Gabriel Silva Cludio Silva Telefone 322-9999 222-3333 222-3333 222-3333 Nome Vo Varig 224 Varig 224 Passageiro Gabriel Silva Cludio Silva

Vo Varig 224 Nome Varig

Tarifa

Ass

Cia

500,00 150 Varig Faturam. 20000K Presid. Pampa Sede Porto Alegre

Introduo a Banco de Dados

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

Camadas Funcionais de um SGBD


Programa de Aplicao Interface com Usurio / Gerncia de Vises

Controle Semntico / Verificao de Autorizao

Decomposio da Consulta e Otimizao

Execuo da Consulta

Gerncia de buffer / Mtodos de Acesso

Controle de Concorrncia / Controle de Reconstruo (logging)

Base de Dados Introduo a Banco de Dados Marta Mattoso 33

Sumrio
Introduo Motivao Servios de um SGBD O Modelo Relacional Estruturas Operaes Restries As aplicaes no convencionais O Modelo Orientado a Objetos Consideraes Finais

Introduo a Banco de Dados

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

Modelo Relacional - Estruturas


relaes (tabelas), atributos, tuplas chaves atributos especiais: chave estrangeira relacionamentos normalizao Linguagem de definio de dados

Introduo a Banco de Dados

Marta Mattoso

36

Tabelas (ou relaes)


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

Tabela de Cias Areas

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

Tabela de Cias Areas

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

Tabelas entidade e relacionamento


Tabela de Vos (Entidade) Vo AF147 AF455 RG224 Tarifa Ass Cia 128 128 423 Reservas (Relacionamento) Vo AF147 AF147 AF147 RG224 RG224 Passageiro Jos Campos Maria Silva Gabriel Silva Gabriel Silva Cludio Silva 1000,00 250 750,00 500 500,00 150

Tabela Passageiros Nome Maria Silva Telefone 222-3333 Jose Campos 322-9999 Gabriel Silva 222-3333 Cludio Silva 222-3333

Introduo a Banco de Dados

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

Claudio Silva 222-3333 Marta Mattoso 40

Introduo a Banco de Dados

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

Gabriel Silva 222-3333 Claudio Silva 222-3333 Marta Mattoso 41

Introduo a Banco de Dados

Linguagem de Definio de Dados (DDL)


Em geral faz parte da SQL Ex.:
CREATE TABLE CODIGO NOME FATURAM PRESID SEDE KEY CODIGO; Cdigo 423 128 CIA_AEREA ( INTEGER, CHAR (40), REAL, CHAR (20), CHAR (50) ),

Tabela de Cias Areas Nome Varig Faturam. 20000K Presid. Pampa Etoile Sede Porto Alegre Paris

Air France 10000K

Introduo a Banco de Dados

Marta Mattoso

42

Modelo Relacional - Operaes


lgebra Relacional Seleo Projeo Juno ... Linguagem de Consulta - SQL

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Air France 10000K

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Air France 10000K

Tabela Resultado Vo AF147 AF455 RG224 Tarifa 1000,00 750,00 500,00 Nome Air France Air France Varig Sede Paris Paris Porto Alegre

Introduo a Banco de Dados

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

Air France 10000K

Tabela Resultado Vo AF455 RG224 Tarifa 750,00 500,00 Nome Air France Varig Sede Paris Porto Alegre Marta Mattoso 49

Introduo a Banco de Dados

Modelo Relacional - Restries


Mantm a consistncia da base de dados atravs da verificao de restries definidas sobre a base de dados. Restries sobre as estruturas propriedades bsicas inerentes ao modelo relacional. Ex.: restrio da chave nica Restries sobre o comportamento comportamento da aplicao e operaes relacionais. Ex.: dependncia da chave estrangeira Dois Componentes Especificao das restries de integridade Verificao das restries de integridade
Introduo a Banco de Dados Marta Mattoso 50

Linguagem Especificao de Restries


Atributo no nulo
NOME NOT NULL IN CIA

Chave nica
(NOME_VO, PASSAGEIRO) UNIQUE IN RESERVAS

Chave Estrangeira
NOME_VO IN RESERVAS REFERENCES VO IN VOS

Introduo a Banco de Dados

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

Introduo a Banco de Dados

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

Introduo a Banco de Dados

Marta Mattoso

54

Introduo a Banco de Dados

Marta Mattoso

55

Você também pode gostar