I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.

Slides:



Advertisements
Apresentações semelhantes
Transformação ODMG  Relacional
Advertisements

Object Query Language - OQL
Object Definifion Language - ODL
Princípios da Orientação a Objetos e a Linguagem UML
Estudo de Caso, modelo Oracle 10g
VI- Implementação Objeto-Relacional
Modelo de Objetos ODMG.
Paulo Marques Hernâni Pedroso
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Funcionalidades de um SGBD
Banco de Dados II Prof. Carlos Eduardo Pires
SISTEMAS DE INFORMAÇÃO
Exemplo dos Internamentos
Projeto de Banco de Dados
DIAGRAMA DE CLASSES X DIAGRAMA DE ENTIDADES E RELACIONAMENTOS
Maurício Edgar Stivanello
Análise e Projeto de Sistemas
Sistema Gerenciador de Banco de Dados SGBD
Modelagem Orientada a Objetos
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Mapeamento Objeto Relacional
Bancos de Dados com Objetos
Prof. Carlos H. Marcondes
Introdução a diagrama de classes e UML
Diagrama de Classes.
FORMAS DE REPRESENTAÇÃO QUE SERVEM PARA DESCREVER AS ESTRUTURAS DAS INFORMAÇÕES CONTIDAS EM UM BD. Modelos de Dados.
Diagrama de Classes e Diagrama de Objetos
Curso de extensão em Desenvolvimento Web
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.
Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional Transformação Esquema Objeto Esquema.
Modelo Conceitual Descreve a informação que o sistema vai gerenciar
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Banco de Dados de Objetos
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Projeto de Banco de Dados
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
Introdução a Banco de dados
UML Diagrama de classes.
Aula prática 14 Orientação a Objetos – C++ Parte 2
Banco de Dados Aplicado ao Desenvolvimento de Software
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Generalização e herança Agregação e composição
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
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.
Bruno Inojosa MCP .NET Framework
II- Padrão ODMG Object Definifion Language - ODL.
Bancos de Dados Objeto Relacional Modelos e Linguagens
Projeto de BD Análise de Requisitos Projeto Conceitual Projeto Lógico
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
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
B ANCO DE DADOS Modelo Relacional ABTécnico. M ODELOS DE DADOS Apoiando a estrutura de um BD está o modelo de dados: uma coleção de ferramentas conceituais.
Objetivos do Curso Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar:
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Diagrama de Classes Herança Dependências.
Transformação ODMG  Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto  Esquema Relacional.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Modelagem Entidade-Relacionamento (MER)
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados

Sumário I.1 Um Hiato entre Especificação e Implementação I.2 Especificação: Evolução dos Modelos Conceituais I.3 Implementação: Evolução dos Modelos Lógicos I.4 Projeto de Aplicações de Banco de Dados

I.1 Um Hiato entre Especificação e Implementação

Especificação Implementação

Nível de Abstração Especificação (Modelagem Conceitual) Implementação Lógica) BD II Modelo de Objeto Modelo Objeto- Relacional Modelo de Entidade e Relacionamento BD I Modelo Relacional

I.2 Especificação: Evolução dos Modelos Conceituais

Modelo de Entidade e Relacionamento Idéia Básica: Entidade Atributos atômicos Relacionamento entre entidades Instâncias de Entidade Associações entre instâncias de entidade Modelo Estático Omisso quanto às operações com (instâncias) de entidades

Pontos Negativos Atributos atômicos Modelo estático

Elementos de um Modelo de Objeto Idéia Básica: Objeto Atributos complexos ou estruturados Atributos coleção Conjunto, Bag, Lista, Array Atributo Identidade (OID) Uma instância identifica um objeto Transparente e independente de aplicação Associações entre objetos Se um objeto A está associado a um objeto B, então A deve fazer referência ou apontar para B, ou A contém o OID de B, e/ou vice-versa Operações (Métodos)

Classe de objeto Atributos e associações comuns a um conjunto de objetos Atributo(s) chave Relacionamentos entre classes de objeto Exprimem as associações entre objetos Classe persistente Repositório de objetos da classe

Exemplo de classe de objeto Classe Estudante Atributos Matrícula << chave>> Nome Endereço Rua Número Bairro Cep Prefixo Sufixo Data_nasc Historico_escolar Conjunto Disciplinas_feitas Referência_disciplina, período, media_final, status O atributo OID é transparente

Relacionamentos com outras classes Métodos CRE Sufixo do CEP Emissão do Histórico Escolar ... Relacionamentos com outras classes Matriculado em Disciplina … Repositório: Estudantes Não há necessidade de definir métodos observer e mutator

Multiplicidades de Relacionamento 1:1 1:N M:N

Hierarquia de Classe É possível declarar uma classe S como uma subclasse de outra classe C. Neste caso, S herda todas as propriedades da classe C, isto é, os atributos, os métodos, e os relacionamentos de C

S pode ter seus próprios atributos, suas próprios operações, seus próprios relacionamentos e seu próprio repositório (S é uma extensão de C) Exemplo: a classe Estudante é uma subclasse de Pessoa Relacionamento Subclasse é_um(a) (Sub)Classe Multiplicidade 1:1

Métodos Métodos de Instância Métodos de Classe Aplicáveis a um único objeto Exemplo: est.disciplinas_em_curso(), aplicável a um objeto da classe Estudante (est é um objeto da classe Estudante) Parâmetro de entrada implícito: objeto self ou this Métodos de Classe Não podem fazer referência a objeto self ou this Exemplo: Estudante.número_estudantes() Diferentemente de um método de instância, um método de classe não tem parâmetro implícito, e o objeto SELF (ou THIS) não pode ser empregado em seu código.

Assinatura (Interface) Uma assinatura de um método (ou interface) compreende: O nome Os parâmetros O tipo do valor de retorno (opcional) Comentários sobre a lógica do método Corpo (Código)

Sobrecarga (“Overloading”) Métodos de uma classe com o mesmo nome, porém com pelo menos um argumento diferente imprime_histórico_escolar ( ) imprime_histórico_escolar (formato: string) Vantagem: Coesão

Polimorfismo Dois métodos, de classes diferentes, são polimorfos se têm a mesma assinatura O conceito de polimorfismo é extremamente útil em hierarquias de classes, mas não é restrito a elas Aluno_especial é_um Aluno Aluno_especial.histórico_escolar() Aluno.histórico_escolar()

Agregação/Composição de Classes Relacionamentos especiais É_PARTE_DE Agregação Compartilhamento Exemplo: um objeto da classe Brinquedo é parte de vários objetos da classe Catálogo Composição Não compartilhamento Exemplo: um objeto da classe Departamento é parte de um único objeto da classe Centro Dependência existencial

Agregação/Composição de Classes Brinquedo é-parte-de Catálogo UML Catálogo * * Brinquedo

Agregação/Composição de Classes Departamento é-parte-estrita-de Centro UML Centro * Depto

Uma linguagem de consulta a objetos Estilo SQL! Exercite-se (mire-se no exemplo de motivação) Qual o histórico escolar do estudante com matrícula 1234? Qual o CRE do estudante 1234? Quais as disciplinas em que o estudante 1234 está matriculado?

BD OO e UML Pergunta: o que falta à linguagem UML para ela se tornar um completo padrão de BDOO? Linguagem de consulta a objetos Descrição textual completa de classes

Banco de Dados Orientado a Objeto (BD OO) Esquema Orientado a Objeto (Esquema OO) Um conjunto de classes persistentes e transitórias, segundo um modelo de esquema OO Classes persistentes (concretas) Com repositório Classes transitórias (abstratas) Sem repositório BD OO Um conjunto de repositórios Pelo menos um não é vazio Consultas sobre os repositórios Linguagem declarativa de consulta a objetos Apropriada ao modelo de esquema

BD OO: Exemplo de Esquema Classes Estudante, Disciplina, Curso, … Repositórios Estudantes: João, Maria, José, … Disciplinas: BD I, BD II, … Cursos: Bacharelado em CC, …

I.3 Implementação: Evolução dos Modelos Lógicos

Modelo Relacional Tipos nativos INTEGER REAL DATE STRING Esquema de Banco de Dados Relacional (BDR) Conjunto de tabelas Regras de integridade (consistência do conteúdo das tabelas) BDR Linhas de tabela Pelo menos uma linha não vazia

Padrão SQL: esquema e consulta Linguagem de consulta Operações sobre tabelas Padrão SQL: esquema e consulta Regras de transformação de esquemas de BDOO em esquemas de BDR SGBDR: implementa BDRs

Pontos negativos Pobreza de tipos Não oferece encapsulação (operações)

Modelo Objeto-Relacional (OR) Tipos nativos INTEGER REAL DATE STRING COLEÇÃO ARRAY (padrão SQL99) Oracle 10g VARRAY NESTED TABLE APONTADOR (REFERENCE)

Tipos Definidos pelo Usuário (Extensibilidade) Tipos de Objeto Atributos stricto sensu Atributos apontadores, ou referências Métodos Funções Procedures Hierarquias de tipos de objeto Repositórios de tipos de objeto Typed Table (SQL99, IBM) Object Table (Oracle) Linguagem de consulta SQLOR Extensão-objeto da linguagem SQL

Banco de Dados Objeto-Relacional (BD OR) Esquema de BDOR Conjunto de tipos persistentes de objeto Instanciáveis e/ou não-instanciáveis BDOR Conjunto de Object(Typed) Tables e/ou conjunto de tabelas puramente relacionais Um BDOR estende stricto sensu um BDR Linguagem SQLOR Operações sobre objetos de object(typed) table e/ou sobre linhas de tabela relacional Regras de transformação de esquemas de BDOO em esquemas de BDOR SGBDOR: implementa BDORs

I.4 Projeto de Banco de Dados

Requisitos UML / ODL + OQL (Padrão ODMG p/ BD OO) Esq. Conceitual OO Esq. Lógico R, OR Oracle 10g; SQL Server; ... Esq. Físico