Material. Fornecedor



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

Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática

Definida pelo American National Standard Institute (ANSI) em 1986

Universidade da Beira Interior Cursos: Engenharia Informática, Ensino da Informática, Matemática Aplicada e Matemática /Informática

Bases de Dados 2007/2008. Aula 9

Tarefa Orientada 16 Vistas

Linguagem SQL - Structured Query Language

Linguagem SQL - Structured Query Language

Tarefa Orientada 15 Manipulação de dados

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Bases de Dados 2007/2008. Aula 8

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger

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

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

Tarefa Orientada 19 Triggers

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

Prof.: Clayton Maciel Costa

Sistemas de Ficheiros. Sistemas de Bases de Dados

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Bases de Dados I LEI/2

Tarefa Orientada 18 Procedimentos armazenados

Sistemas de Bases de Dados Relacionais Introdução ao SQL. Interrogações diversas sobre a Base de Dados Northwind

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

Sistemas de Informação

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

Hugo Pedro Proença, 2007

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Bases de Dados. DML Data Manipulation Language Parte 1

A linguagem SQL

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

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

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

DESENVOLVIMENTO DE SOFTWARE

trigger insert, delete, update

Disciplina: Tecnologias de Banco de Dados para SI s

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados Visão Estrutural SGBD: Sistema de Gestão de Bases de Dados

Introdução ao SQL. Aécio Costa

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Bases de Dados 2005/2006. Aula 5

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

SQL: Definição de tabelas, Modificações à Base de Dados

Etapas da Elaboração de um Projeto de Banco de Dados

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE

Softwares Aplicativos Banco de Dados

Gatilhos (Triggers) Prof. Márcio Bueno Elaborado por Maria Lígia B. Perkusich

SQL (Structured Query Language)

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Banco de Dados. Prof. Antonio

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

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

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Bases de Dados 2007/2008. Aula 1. Referências

Um Armazém de Dados para o arquivo e pesquisa de informação sobre uma Universidade. Marco Nunes marco@fe.up.pt Supervisor: Gabriel David gtd@fe.up.

Introdução a Java. Hélder Nunes

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

FUNCTION ) RETURNS INTEGER AS $$ DECLARE


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

Reconhecer alguns dos objectos VBA Automatizar bases de dados recorrendo à programação VBA e scripts SQL

PROGRAMA. Objectivos Gerais :

SQL Procedural. Josino Rodrigues Neto

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

Introdução à Manipulação de Dados

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Principais Comandos SQL Usados no MySql

Introdução a Sistemas de Bancos de Dados

Calmetric B2B de divulgação de imóveis Documento de Processos ISPGaya Seminário

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Sistemas de Banco de Dados

Comandos de Manipulação

Tarefa Orientada 20 Cursores

P redigl o bal Pesquisa de Imóveis D o c u m e n t o d e I m p l e m e n t a ç ã o d e M ó d u l o s

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

O que são Bancos de Dados?

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento

Sub AcessaWeb(url, x) ' recebe uma url para pesquisar e devolve uma planilha ' Solicita a criação da planilha x

Banco de Dados. Conversão para o Banco de Dados SisMoura

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

Structured Query Language (SQL) Aula Prática

SQL. Autor: Renata Viegas

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos

Banco de Dados Avançados Banco de Dados Ativo

CONFIGURAR O OUTLOOK 2003

DESENVOLVIMENTO DE SOFTWARE

Microsoft Access. No Access, existem vários tipos de objectos: Tabelas. Consultas. Formulários Relatórios Macros Módulos

Transcrição:

Para a nossa base de dados, Modelo Hierárquico Um esquema possível: Obra N_obra Nome_obra Data_de_inicio Data_de_fim Orçamento Material N_material Nome_material Unidade_Medida Fornecedor N_fornecedor Nome_fornecedor Morada Fornecimento N_fornecimento Qtd_fornecida Conteúdo da Base de Dados num determinado instante: Obra O1 O2 O3 Material M1 M3 M1 M2 Fornecedor F1 F2 F4 F2 F3 Fornecimento Fr1 Fr2 Fr4 Fr5 Fr3 1

Operação elementar de interrogação do modelo hierárquico: Get [ Next Superior ] <nome do registo 1> [ For This <nome do registo 2> AND This <nome do registo 3>...(*) ] [ Where <condição lógica> ] (*) até ao nível anterior ao registo 1 Entre [ ] significa opcional. I1: Quem forneceu o material M1 para a obra O1? Get Obra Where N_obra = O1 Get Material For This Obra Where N_material = M1 Get Next Fornecedor Do While not end-of-fornecedor Print N_fornecedor, Nome_fornecedor, Morada Get Next Fornecedor 2

I2: Que materiais forneceu o fornecedor F2 e para que obras? Get Next Obra Do While not end-of-obra Get Next Material For This Obra Do While not end-of-material Get Fornecedor Where N_fornecedor = F1 If not end-of-fornecedor Then Print N_obra, Nome_obra, N_material, Nome_material End if Get Next Material For This Obra Get Next Obra Nota: o esquema é o pior possível para esta interrogação 3

Operações elementares de actualização do modelo hierárquico:. Insert Into <nome do registo> <lista de valores> [ Linking < chave (!) do 1º nível = valor1, chave do 2º nível = valor2, * ] Nas operações seguintes é necessário em primeiro lugar encontrar o registo (com Get) e só depois apagá-lo ou modificá-lo.. Delete <nome do registo>. Update <nome do registo> Setting <lista de modificações> (*) até ao nível anterior ao do registo A1: Apagar todos os fornecimentos do fornecedor F1 para a obra O1. 4

A1: Apagar todos os fornecimentos do fornecedor F1 para a obra O1. Get Obra Where N_obra = O1 Get Next Material For This Obra Do While not end-of-material Get Fornecedor Where N_fornecedor = F1 If not end-of-fornecedor Then Get Next Fornecimento AND This Fornecedor Do While not end-of-fornecimento Delete Fornecimento Get Next Fornecimento AND This Fornecedor End If Get Next Material For This Obra A2: Juntar à base de dados um novo fornecedor F5. 5

A2: Juntar à base de dados um novo fornecedor F5. Impossível. Não podemos juntar à base de dados um novo fornecedor enquanto ele não efectuar algum fornecimento. Falta a definição do contexto: Qual a obra e qual o material a que seria ligado? Uma solução para este problema consiste em criar uma obra fictícia (por ex. N_obra = 0) e um material fictício para ligar os fornecedores sem fornecimentos. Seria então: Insert Into Fornecedor ( F5, Empresa X, Lisboa) Linking N_obra=0, N_material = 0 A3: Modificar a morada do fornecedor F3 para Covilhã 6

A3: Modificar a morada do fornecedor F3 para Covilhã Get Next Obra Do While not end-of-obra Get Next Material For This Obra Do While not end-of-material Get Fornecedor Where N_fornecedor = F3 If not end-of-fornecedor Then Update Fornecedor Setting Morada = Covilhã End If Get Next Material For This Obra Get Next Obra 7

Modelo em Rede Definido pelo DBTG (Data Base Task Group) da CODASYL (COnference on Data Systems Languages) Esquema da base de dados: Obra Material Fornecedor N_obra Nome_obra Data_de_inicio Data_de_fim Orçamento N_material Nome_material Unidade_Medida N_fornecedor Nome_fornecedor Morada N_fornecimento Qtd_fornecida. Uma obra tem vários fornecimentos.. Um material tem vários fornecimentos. Um fornecedor faz vários fornecimentos. 8

Conteúdo da base de dados: Obra O1 O2 O3 Fornecimento Fr1 Fr2 Fr3 Fr4 Fr5 Material M1 M2 M3 Completar para Fornecedor / Fornecimento... 9

Operação elementar de interrogação do modelo em rede: Get [ Next Superior ] <nome do registo 1> [ For This <nome do registo 2> ] [ Where <condição lógica> ] I1: Quem forneceu o material M1 para a obra O1? Get Material Where N_material = M1 Get Next Fornecimento For This Material DO While not end-of-fornecimento Get Superior Obra For This Fornecimento If N_obra = o1 Then Get Superior Fornecedor For This Fornecimento Print N_fornecedor, nome_fornecedor,morada End IF Get Next Fornecimento For This Material 10

I2: Que materiais forneceu o fornecedor F2 e para que obras? Get Fornecedor Where N_fornecedor = F2 Get Next Fornecimento For This Fornecedor Do While not end-of-fornecimento Get Superior Obra For This Fornecimento Get Superior Material For This Fornecimento Print Nome_obra, Nome_material Get Next Fornecimento For This Fornecedor Operações elementares de actualização do modelo em rede:. Insert Into <nome do registo> <lista de valores> [ Linking < chave do registo superior 1 = valor1,... ] Nas operações seguintes é necessário em primeiro lugar encontrar o registo (com Get) e só depois apagá-lo ou modificá-lo. 11

. Delete <nome do registo>. Update <nome do registo> Setting <lista de modificações> A1: Apagar todos os fornecimentos do fornecedor F1 para a obra O1. Get Obra Where N_obra = O1 Get Next Fornecimento For This Obra Do While not end-of-fornecimento Get Superior Fornecedor For This Fornecimento If N_fornecedor = F1 Delete Fornecimento End If Get Next Fornecimento For This Obra A2: Juntar à base de dados um novo fornecedor F5. Insert Into Fornecedor (F5, Empresa E, Coimbra) A3: Modificar a morada do fornecedor F3 para Covilhã Get Fornecedor Where n_fornecedor = F3 Update Fornecedor Setting morada = Covilhã 12

Nota: As linguagens de manipulação de dados dos modelos hierárquico e rede são ainda linguagens procedimentais nestas linguagens o utilizador indica quais os registos a que quer aceder especificando como aceder a esses registos. Numa linguagem não procedimental (como por exemplo o SQL) o utilizador indica os dados que pretende mas não especifica a forma de obter esses dados. 13