!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

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

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Banco de Dados I. Prof. Edson Thizon

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Exercício. Exercício

Prova de Fundamentos de Bancos de Dados 1 a Prova

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8

Engenharia de Software II

Tipos de Banco de Dados - Apresentação

Modelo Comportamental

Arquitetura de Banco de Dados

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli

Introdução a Banco de Dados. INTRODUÇÃO

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

Um modelo de dados é a colecção de, pelo menos, 3 componentes:

BANCO DE DADOS. Vinícius Pádua

BANCO DE DADOS I Atualizado em 13 de maio de 2009

Disciplina: Unidade III: Prof.: Período:

Programação Orientada a Objetos SANTOS, Rafael

Modelo Relacional Normalização Diagramas E-R e Tabelas Originadas

Inteligência Artificial

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Definida pelo American National Standard Institute (ANSI) em 1986

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

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

Modelo de Dados. Modelos Conceituais

ATuLCo. Manual de Instruções. Gestor de Agência de Viagens. ATuLCo Gestor de Agencia de Viagens. Horário Abreu Nr António Felgueiras Nr.

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Unidade 1: O Computador

Flávia Rodrigues. Silves, 26 de Abril de 2010

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

E-Learning Uma estratégia para a qualidade do ensino/aprendizagem. Ensino a Distância

Experiência 04: Comandos para testes e identificação do computador na rede.

MÓDULO 2 Topologias de Redes

Banco de Dados. Modelo Entidade - Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Fundamentos de Programação. Diagrama de blocos

O que é um banco de dados? Banco de Dados. Banco de dados

Decreto Regulamentar n. º 10/2009, de 29 de Maio

Informática I. Aula Aula 19-20/06/06 1

1 Circuitos Pneumáticos

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

Modelo Entidade-Relacionamento. José Antônio da Cunha CEFET-RN

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I

ENG1000 Introdução à Engenharia

Modelagem De Sistemas

Curso de Engenharia de Produção. Organização do Trabalho na Produção

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Desenvolvimento de Software

MODELO SUGERIDO PARA PROJETO DE PESQUISA

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

Sistemas Distribuídos

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

Arquitecturas de Software Enunciado de Projecto

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

Sistemas de Gestão de Bases de Dados

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma

Banco de Dados I 2007 Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 2) Clodis Boscarioli

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Roteiro. Mapeamento dos Modelos ER e EER. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Cap. II EVENTOS MUTUAMENTE EXCLUSIVOS E EVENTOS NÃO- EXCLUSIVOS

Prova de Fundamentos de Bancos de Dados 2003/2 Prova 1

Bases de Dados 2008/2009

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

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

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

DIRECTRIZ CONTABILÍSTICA Nº 24 EMPREENDIMENTOS CONJUNTOS 1. OBJECTIVO 1 2. DEFINIÇÕES 2 3. TIPOS DE EMPREENDIMENTOS CONJUNTOS 2

O que é uma rede social virtual?

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Redes de Computadores

GUIA PARA O PREENCHIMENTO DOS FORMULÁRIOS ENTIDADE GESTORA SOCIEDADE PONTO VERDE

Processamento e Otimização de Consultas

II Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009

Porquê PADRÕES? - Exemplo

HAVE A SILCA COPY COPY HAVE A SILCA COPY. Duplicadoras Electrónicas HAVE A SILCA COPY HAVE A SILCA COPY HAVE A SILCA COPY HAVE A COPY

REGULAMENTO DO AUTOCARRO E CARRINHA

CONSELHO REGIONAL DE ENFERMAGEM DE SÃO PAULO. Resposta aos questionamentos efetuados pela empresa TOTVS, temos a informar conforme segue:

Á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:

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Modelagem de Dados. Prof. Paulo Cesar F. De Oliveira, BSc, PhD. Álgebra Relacional

DOCUMENTO DE REQUISITO DE SOFTWARE

Banco de Dados I Unidade 3: Projeto de BD Relacional. Cláudio Baptista

7. A importância do aterramento na Qualidade da Energia.

Prof.: Clayton Maciel Costa

Transcrição:

Nuno Melo e Castro

!" # Modelos de dados 1ª geração Modelo Hierárquico Modelo Rede 2ª geração Modelo Relacional 3ª geração Extensões ao modelo relacional Modelo lógico-dedutivo Modelo orientado a objectos

$%& Primeiro modelo de bases de dados Dados estruturados em hierarquias ou árvores, de tal forma que cada registo tem apenas um possuidor Cada registo é o equivalente a uma entidade do modelo entidade-relacionamento Na estrutura da árvore, os registos estão ligados entre si através de ligações que podem ser vistas como formas restritas de relacionamentos do modelo entidade-relacionamento Cada registo é uma colecção de campos (atributos) cada um dos quais contendo apenas um valor O acesso aos dados faz-se percorrendo as hierarquias, desde a raiz da árvore até encontrar o registo (nó) pretendido, numa sequência cima-baixo-esquerda-direita As BD hierárquicas têm bom desempenho no acesso sequencial, mas fraco desempenho no acesso aleatório

$%& Base de dados hierárquica Hierarquia (Árvore) Segmentos (Nós) Cada árvore tem uma raiz, que é um pseudo-nó A raiz tem apenas a função de ser uma origem comum, não contém informação Cada nó é um registo, e não podem existir ciclos entre os nós As ligações formadas na árvore devem ser tais que somente retratem relações 1:1 ou 1:M entre um nós pai e filhos Como consequência, o conteúdo de um registo pode ter de ser replicado em vários locais diferentes, o que significa redundância e possível inconsistência '

$%& Regras de Integridade Um registo filho tem de ter um registo pai Um registo filho pode ser removido independentemente do seu registo pai A remoção de um registo implica a remoção de todos registos descendentes Não pode haver mais do que um registo pai para um registo filho (se houver implica a duplicação do registo filho) Um registo pai pode ter filhos de tipos diferentes A hierarquia pode estender-se por diversos níveis (

$%& Esquema hierárquico Uma instância &'( "#$%! )#!!

$%& Problemas Redundância Possibilidade de inconsistência Fácil obter informação sobre os clientes, mas, se quiser saber o preço a que foi facturado um determinado produto numa determinada factura de um determinado cliente É necessário obter o nó raiz da árvore Percorrer sequencialmente o segmento dos clientes até encontrar o cliente pretendido Para esse cliente, procurar o segmento das facturas até encontrar a factura pretendida Para essa factura, procurar o segmento dos produtos até encontrar o produto pretendido Não é possível criar produtos sem criar facturas A alteração do nome do produto tem de ser feita em todos os nós da árvore

É uma extensão ao modelo hierárquico Os registos estão organizados em grafos Desaparece o conceito de hierarquia, o mesmo registo pode ter diversas associações Só existe um tipo de associação (Set) que define um relacionamento entre dois tipos de registo Set Registo pai Registo filho = Owner = Member Uma BD em rede é um grafo nós arcos = registos = ligações entre registos )

Regras de Integridade Um Set tem de conter um Owner e zero ou mais Member No mesmo tipo de Set, um registo não pode aparecer mais de uma vez como Owner ou como Member Um registo pode ser Owner ou Member de um ou mais Sets, desde que estes sejam de tipos diferentes Nenhum registo pode ser simultaneamente Owner e Member do mesmo tipo de Set *

Esquema em rede Uma instância

Características Surgiu em 1970, por E. F. Codd, tendo por base a teoria dos conjuntos Contribuiu decisivamente para a massificação da utilização da tecnologia de bases de dados A estrutura fundamental é a Relação / Tabela O esquema conceptual é constituído basicamente por um conjunto de relações ou tabelas Os relacionamentos entre tabelas definem-se através de atributos comuns (designadas por chaves) Manipulação dos dados do tipo set-oriented É mais fácil de controlar É mais flexível É mais intuitivo em função da organização dos dados em tabelas que são muito utilizadas A capacidade de ligar tabelas permite o relacionamento dos dados de novas formas, sem se ter que redefinir relações complexas Em virtude das suas vantagens, as organizações utilizam-no para as suas grandes bases de dados (marketing, contabilidade,...)

Número_Aluno Nome_Aluno Morada Curso 20060001 António Silva Maia Engª Informática 20060002 Júlio Pinto Matosinhos Engª Química 20060003 20060004 20060005 Vanda Coelho Zacarias Trindade Eva Stuart Porto Vila do Conde Porto Engª Mecânica Engª Informática Engª Civil

+ 1. Numa base de dados relacional, todos os dados, incluindo o próprio dicionário de dados, são representados de uma só forma, em tabelas bidimensionais. 2. Cada elemento de dados fica bem determinado pela combinação do nome da tabela onde está armazenado, do valor da chave primária e respectiva coluna (atributo). 3. Valores nulos (nulls) são suportados para representar informação não disponível ou não aplicável, independentemente do domínio dos respectivos atributos. 4. Os metadados são representados e acedidos da mesma forma que os próprios dados. 5. Apesar de um sistema relacional poder suportar várias linguagens, deverá existir pelo menos uma linguagem com as seguintes características: Manipulação de dados, interactiva ou em programas; Definição de dados; Definição de views; Definição de restrições de integridade; Definição de acessos (autorizações); Manipulação de transacções (commit, rollback, ) 6. Numa view, todos os dados actualizáveis que forem modificados, devem ver essas modificações traduzidas nas tabelas da base. 7. Capacidade de tratar uma tabela (base ou virtual) como se fosse um simples operando (ou seja, utilização de uma linguagem set-oriented ), tanto em operações de consulta como de actualização. 8. Alterações na organização física dos ficheiros da base de dados ou nos métodos de acesso a esses ficheiros (nível interno) não devem afectar o nível conceptual - independência física. 9. Alterações no esquema da base de dados (nível conceptual), que não envolvam remoção de elementos, não devem afectar o nível externo independência lógica. 10. As restrições de integridade devem poder ser especificadas numa linguagem relacional, independentemente dos programas de aplicação, e armazenadas no dicionário de dados. 11. O facto de uma base de dados estar centralizada numa máquina, ou distribuída por várias máquinas, não deve repercutir-se ao nível da manipulação dos dados. 12. Se existir no sistema uma linguagem de mais baixo nível (tipo record-oriented ), ela não deverá permitir ultrapassar as restrições de integridade e segurança.

% Linguagens de manipulação de dados (DML) Comandos para consulta de informação Comandos para manipulação de informação São set-oriented, ou seja actuam sobre conjuntos e devolvem como resultado conjuntos Álgebra relacional Linguagem procedimental Tem o mesmo poder de expressão que o Cálculo relacional Variantes da Álgebra relacional são usadas internamente pelos SGBDs relacionais durante a optimização de consultas SQL Originária do cálculo relacional Interface padrão dos SGBDs relacionais '

Álgebra relacional Operações mapeiam uma ou mais relações em uma nova relação Algumas operações impõem restrições nas relações de entrada Operações Básicas Teoria dos conjuntos: Produto cartesiano, União e Diferença Específicas relações: Adicionais Teoria dos conjuntos: Intersecção Específicas relações: Selecção, Projecção e Renomeação Divisão e Junção (

+% Cálculo Relacional Cálculo relacional de tuplos Cálculo relacional de domínios Linguagem declarativa, com que se define o que se pretende obter e não como se pode obter, set-oriented Além dos operadores lógicos e dos operadores condicionais, tem os operadores: Quantificador existencial Quantificador universal

% A Álgebra relacional e o Cálculo relacional não se utilizam na manipulação efectiva dos dados em sistemas relacionais; O seu interesse advém do facto de terem servido como base para o desenvolvimento das diferentes linguagens hoje utilizadas na manipulação dos dados em sistemas relacionais; São abstracções de interfaces ideais próximas das especificações do modelo relacional teórico.