Bancos de Dados Objeto Relacional Modelos e Linguagens

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Estudo de Caso, modelo Oracle 10g
Laboratório WEB Professora: Viviane de Oliveira Souza Gerardi.
Banco de Dados Prof. Antonio.
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
SQL Avançado Continuação
Evolução dos SGBD’s (2ª Parte).
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Funcionalidades de um SGBD
Banco de Dados II Prof. Carlos Eduardo Pires
Prof.: Bruno Rafael de Oliveira Rodrigues
MODELAGEM DE SISTEMAS DE INFORMAÇÃO
SISTEMAS DE INFORMAÇÃO
SISTEMAS DE INFORMAÇÃO
Mapeamento ER-Relacional
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Introdução aos Sistemas Gerenciadores de Banco de Dados
Transformando o Modelo E-R no Modelo Relacional
Transformando o Modelo E-R no Modelo Relacional
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Professora: Aline Vasconcelos
Bancos de Dados com Objetos
Material III-Bimestre Wagner Santos C. de Jesus
INSTITUTO FEDERAL FARROUPILHA
Bancos de Dados Orientados a Objeto
Sistemas de Informação
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Banco de dados Profª Kelly Medeiros.
SQL Server 2012 Introdução a Modelagem de Dados
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Autora: Carla DeAngelis Autor: Adilson da Silva Lima
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
ACESSO A BASE DE DADOS.
Especialização em Tecnologia da Informação
Conceitos de SGBD Objeto-Relacional Oracle 10g [1]
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
Desenvolvendo um script SQL
Introdução a Banco de dados
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Banco de dados.
A abordagem de banco de dados para gerenciamento de dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Introdução a Banco de Dados Aula 04
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
TECNOLOGIAS E LINGUAGENS PARA BANCO DE DADOS I
Ricardo Ferreira Schiavo
Banco de dados 1 Modelagem de Dados Utilizando MER
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
Linguagem BD + capacidades OO qVariante da representação OO das encomendas EncomTipo = RECORDOF( e#: int, inclui: SETOF( IQTipo ), cliente: ClienteTipo.
Banco de Dados Relacional Objeto-
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Banco de Dados Universidade do Estado de Santa Catarina
Projeto de Banco de Dados
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
B ANCO DE DADOS Introdução ABTécnico. C ONCEITO É uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Exemplos:
Salário, Sexo, R$200,00, Veículos, Idade, Marco Antônio, Masculino, R$600,00, Funcionário, Marca, 18 anos, Livros, Motoristas, Maria do Carmo, Endereço,
INTELIGÊNCIA EMPRESARIAL Aula 9 - Modelagem de Data Warehouse.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Bancos de Dados Objeto Relacional Modelos e Linguagens Profa. Vânia Maria Ponte Vidal vvidal@lia.ufc.br Universidade Federal do Ceará Departamento de Computação

Programa do Curso Introdução Modelo Objeto Relacional do Oracle 9i Linguagem de Consultas (SQL3) Restrições de Integridade Visões de Objeto Projeto de Banco de Dados OR Banco de Dados Geográficos

Aula 1 - Conteúdo Histórico - A Evolução dos Sistemas de BD Limitações da Representação Relacional Propriedades de BDOO

Histórico Primeira Geração (final dos anos 60 e anos 70) Caracterizada pela separação entre a informação lógica e a informação física Modelos de dados começaram a ser utilizados para descrever estruturas físicas de um ponto de vista lógico (modelos de dados hierárquico e rede)

Histórico Segunda Geração (início dos anos 80) Caracterizada pelos modelos de dados relacionais Reconheceu-se que o uso de banco de dados poderia trazer vantagens para as áreas científica e técnica, bem como para os escritórios Os bancos de dados relacionais começaram a apresentar limitações para aplicações como: CAD, CASE, ...

Histórico Terceira Geração (final dos anos 80 até ...) Desenvolvimento de novas tecnologias: sistemas de bancos de dados orientados a objetos, objeto-relacional e relacional estendido Objetiva uma integração apropriada entre bancos de dados e linguagens de programação

Evolução das Aplicações de Banco de Dados Aplicações que manipulam dados complexos (sistemas de informação geográfica, bibliotecas digitais, ...) estão sendo informatizadas Aplicações “comerciais” estão manipulando dados mais complexos do que os dados tradicionalmente tratados em DB Relacionais

Evolução das Aplicações de Banco de Dados Dados multimídia freqüentemente encontrados na WEB necessitam de suporte para armazenamento e manipulação Novas aplicações distribuídas estão sendo construídas seguindo o paradigma OO e necessitam de bancos de dados compatíveis

Aplicações Avançadas de BD Engenharia mecânica e elétrica (CAD/CAM) Projeto e produção de peças e componentes Sistemas de Informação Geográfica Engenharia de Software Ferramentas CASE Aplicações médicas e científicas Química, genética, geoprocessamento

Alguns Requisitos das Aplicações Avançadas de BD Mecanismos para a definição e manipulação de tipos de dados complexos Facilidades para modelar o comportamento de objetos complexos através da definição de operações Suporte para itens de dados de grandes tamanhos Gerenciamento de versões

Limitações da Representação Relacional Atributos compostos não podem ser representados diretamente Atributos multivalorados devem ser diferenciados através de valores únicos e representados em um outro esquema relacional

Limitações da Representação Relacional Agregações e especializações requerem esquemas de relações individuais equipadas com restrições de integridade especiais A introdução de chaves artificiais será necessária se os atributos não forem suficientes para obter uma identificação única

Limitações da Representação Relacional Um exemplo de aplicação: Especificar um BD para suportar as vendas de uma loja de mercadorias diversas. A cada venda acontece a emissão de um pedido de compra, contendo o código do cliente e a lista dos itens (mercadorias) que formam aquele pedido.

Exemplo Descrição dos atributos que caracterizam as entidades: Clientes comuns têm um código, nome, endereço (rua, cidade, estado, cep) e telefones de contato. Clientes Especiais têm todos os atributos de clientes comuns e um campo de desconto padrão. Clientes VIP têm todos os atributos de clientes Especiais e um campo de pontos de bonificação no programa de incentivo. Mercadorias têm um código, preço e valor de Icms cobrado.

Exemplo Descrição dos atributos que caracterizam as entidades: Pedidos têm um código, a data do pedido, a data de entrega, o endereço de entrega (rua, cidade, estado, cep), o cliente e a lista de itens. Cada item da lista de itens tem um número único, a mercadoria correspondente, a quantidade pedida e o desconto individual obtido.

Exemplo - UML

Representação Relacional Exemplo Representação Relacional CREATE TABLE CLIENTE_REL ( CODCLI NUMBER(15) NOT NULL, NOME VARCHAR2(100) NULL, RUA VARCHAR2(100) NULL, CIDADE VARCHAR2(100) NULL, ESTADO CHAR(2) NULL, CEP CHAR(10) NULL, FONE1 VARCHAR2(20) NULL, FONE2 VARCHAR2(20) NULL, FONE3 VARCHAR2(20) NULL, PRIMARY KEY (CODCLI) );

Representação Relacional Exemplo Representação Relacional CREATE TABLE CLIENTE_VIP ( CODCLI NUMBER(15) NOT NULL, PONTOS_BONIFICACAO INTEGER NULL, DESCONTO_PADRAO NUMBER(5,2) NULL, PRIMARY KEY (CODCLI), FOREIGN KEY (CODCLI) REFERENCES CLIENTE_REL );   CREATE TABLE CLIENTE_ESPECIAL ( DESCONTO_PADRAO NUMBER(5,2) NULL,

Representação Relacional Exemplo Representação Relacional CREATE TABLE MERCADORIA_REL ( CODMER NUMBER(15) NOT NULL, PRECO NUMBER(15,2) NULL, ICMS NUMBER(5,2) NULL, PRIMARY KEY (CODMER) );

Representação Relacional Exemplo Representação Relacional CREATE TABLE PEDIDO_REL ( CODPED NUMBER(20) NOT NULL, DATA_PEDIDO DATE NULL, DATA_ENTREGA DATE NULL, RUA VARCHAR2(100) NULL, CIDADE VARCHAR2(100) NULL, ESTADO CHAR(2) NULL, CEP CHAR(10) NULL, CODCLI NUMBER(15) NOT NULL, PRIMARY KEY (CODPED), FOREIGN KEY (CODCLI) REFERENCES CLIENTE_REL );

Representação Relacional Exemplo Representação Relacional CREATE TABLE ITEM_PEDIDO ( NO_ITEM NUMBER(5) NOT NULL, CODPED NUMBER(20) NOT NULL, QUANTIDADE NUMBER(15,2) NULL, DESCONTO NUMBER(5,2) NULL, CODMER NUMBER(15) NOT NULL, PRIMARY KEY (NO_ITEM, CODPED), FOREIGN KEY (CODMER) REFERENCES MERCADORIA_REL, FOREIGN KEY (CODPED) REFERENCES PEDIDO_REL );

Limitações da Representação Relacional Atributos compostos não podem ser representados diretamente ex: endereço de um cliente ou de entrega do pedido); Atributos multivalorados devem ser diferenciados através de valores únicos e representadas em um outro esquema relacional ex: telefones de contato ;

Limitações da Representação Relacional Agregações e especializações requerem esquemas de relações individuais equipadas com restrições de integridade especiais ex.: Itens do pedido; cliente e cliente VIP A introdução de chaves artificiais será necessária se os atributos não forem suficientes para obter uma identificação única

Limitações da Representação Relacional Exemplo Limitações da Representação Relacional Para todos os pedidos com data de entrega igual 10/08/2004, obtenha o nome e endereço do cliente, código e preço das mercadorias pedidas . SELECT DISTINCT C.NOME, C.RUA, C.CIDADE, C.ESTADO, C.CEP, M.CODMER, M.PRECO FROM PEDIDO P, CLIENTE C, ITEM_PEDIDO I, MERCADORIA M WHERE C.CODCLI = P.CODCLI AND P.CODPED = I.CODPED AND I.CODMER = M.CODMER AND P.DATA_ENTREGA = ’10/08/2004'

Limitações da Representação Relacional Exemplo Limitações da Representação Relacional Obtenha o código e o preço das mercadorias pedidas pelo cliente ‘Ronaldo Silva’ da cidade do ‘Rio de Janeiro’ SELECT DISTINCT M.CODMER, M.PRECO FROM CLIENTE C, PEDIDO P, ITEM_PEDIDO I, MERCADORIA M WHERE C.CODCLI = P.CODCLI AND P.CODPED = I.CODPED AND I.CODMER = M.CODMER AND C.NOME = 'Ronaldo Silva' AND C.CIDADE = 'Rio de Janeiro'

Como superar as limitações do Modelo Relacional ? Em 1989, Manifesto de Banco de Dados Orientado a Objetos BDOO Combina as propriedades do paradigma OO com as propriedades típicas de BD Em 1990, contra manifesto pró Relacional Na década de 90 SGBD relacional SGBD relacionais estendidos SGBD orientados a objetos

Representação Não Relacional Declarações de tipo são tão flexíveis quanto em linguagens de programação; Objetos podem ser unicamente identificados independentemente dos valores de seus atributos. Identificadores de Objetos são fornecidos, permitindo referências entre objetos;

Representação Não Relacional Reuso de informação é possível: Referenciando objetos já existentes. Novos objetos podem ser construídos a partir de objetos existentes (Agregação ou Associação); Definindo especializações entre unidades de informações, permitindo a herança de estrutura e comportamento.

Exemplo - UML

Representação Não Relacional Exemplo Representação Não Relacional Cliente: [ código: inteiro nome: string endereco: Endereço telefones: SetOf(string) ] Endereço: [ rua: string cidade: string estado: string cep: string ] Cliente Especial is-a Cliente: [ Desconto Padrão: double ] Cliente VIP is-a Cliente: [ desconto padrão: double pontos bonificação: inteiro ]

Representação Não Relacional Exemplo Representação Não Relacional Item_Pedido: [ no_item: inteiro quantidade: double desconto: double mercadoria: REF Mercadoria ] Pedido: [ código: inteiro data_pedido: date data_entrega: date endereco_entrega: Endereço itens: SetOf(Item_Pedido) cliente: REF Cliente ] Mercadoria: [ código: inteiro preco: double icms: double ]

Consulta SELECT P.cliente.nome, P.cliente.endereco, Exemplo Consulta Para todos os pedidos com data de entrega igual 10/08/2004, obtenha o nome e endereço do cliente, e código das mercadorias pedidas . SELECT P.cliente.nome, P.cliente.endereco, CURSOR(SELECT M.mercadoria.codigo FROM TABLE (P.itens ) M ) FROM PEDIDOS P WHERE P.DATA_ENTREGA = ’10/08/2004'

Consulta SELECT I.MERCADORIA.CODIGO, I.MERCADORIA.PRECO Exemplo Consulta Obtenha o código e o preço das mercadorias pedidas pelo cliente ‘Ronaldo Silva’ da cidade do ‘Rio de Janeiro’ SELECT I.MERCADORIA.CODIGO, I.MERCADORIA.PRECO FROM PEDIDO P, TABLE(P.ITENS) I WHERE P.CLIENTE.NOME = 'Ronaldo Silva' AND P.CLIENTE.ENDERECO.CIDADE = 'Rio de Janeiro'

O paradigma de OO OO em BD combina conceitos de várias áreas: Linguagens de Programação: tipos de dados abstratos e encapsulamento Tecnologia de Software: extensibilidade e reusabilidade de código e o princípio da modularização

O paradigma de OO OO em BD combina conceitos de várias áreas: Inteligência Artificial: idéias sobre a representação do conhecimento e técnicas de classificação Bancos de dados ou modelagem de dados: relações aninhadas ou generalizações do modelo relacional, juntamente com os modelos de dados semânticos

Propriedades de um BDOO Propriedades de OO Modelos de dados Linguagens Propriedades do BD

Propriedades de OO: Modelagem de dados Capacidade para modelar objetos complexos Suporte a identidade de objetos Distinção entre tipos e classes Definição de hierarquias de classes com herança Capacidade para modelar objetos complexos Objetos atômicos são de tipos base pré-definidos, como: integer, character, string, boolean ou real Objetos complexos originam-se de objetos atômicos ou objetos existentes aplicando-se certos construtores: tuple, set, bag, list e array

Propriedades de OO: Características da Linguagem Encapsulamento Overloading, overwriting e ligação dinâmica Consultas ad hoc Completude computacional Gerenciamento de versões Extensibilidade

Propriedades de BD Persistência Controle de multi-usuários Recuperação Gerenciamento de armazenamento secundário de informações