A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados."— Transcrição da apresentação:

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

2 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

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

4 Especificação Implementação

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

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

7 Modelo de Entidade e Relacionamento
Idéia Básica: Entidade Atributos simples Relacionamento entre entidades Instâncias de Entidade Associações entre instâncias de entidade Modelo Estático Omisso quanto ao comportamento de entidades

8 Elementos de um Modelo de BD OO
Idéia Básica: Objeto Atributos complexos ou estruturados Atributos coleção Exemplo: Conjunto Atributo Identidade (OID) Transparente 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 Comportamento Operações (Métodos) Repositório dos objetos de uma classe persistente

9 Elementos ... (2) Classe de objeto Atributos Métodos
Atributo(s) chave(s) Métodos Relacionamentos entre classes de objeto Repositório de objetos de classes persistentes

10 Elementos ... (3) 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

11 Elementos ... (4) Exemplo (cont.) Classe Estudante Métodos
CRE Sufixo do CEP Emissão do Histórico Escolar ... Relacionamentos Matriculado em Disciplina Repositório: Estudantes

12 Elementos ... (5) Multiplicidades de Relacionamentos 1:1 1:N M:N

13 Elementos ... (6) 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

14 Elementos ... (7) Hierarquia de Classe
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

15 Elementos ... (8) 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.

16 Elementos ... (9) Métodos Assinatura (Interface) Corpo (Código)
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)

17 Elementos ... (10) Métodos 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

18 Elementos ... (11) Métodos 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()

19 Elementos ... (12) 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

20 Elementos ... (13) Agregação/Composição de Classes
Brinquedo é-parte-de Catálogo UML Catálogo * * Brinquedo

21 Elementos ... (14) Agregação/Composição de Classes
Departamento é-parte-estrita-de Centro UML Centro * Depto

22 Elementos ... (15) 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?

23 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

24 Banco de Dados Orientado a Objeto (BD OO)
Esquema Orientado a Objeto (Esquema OO) Um conjunto de classes persistentes, segundo um modelo de esquema Classes concretas (ou com repositório) e/ou classes abstratas (ou sem repositório) BD OO Repositórios com objetos Consultas sobre os repositórios Linguagem declarativa de consulta a objetos Apropriada ao modelo de esquema

25 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, …

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

27 Modelo Relacional Tipos nativos
INTEGER REAL DATE STRING Esquema de Banco de Dados Relacional (BDR) Conjunto de tabelas Regras de integridade BDR Linhas de tabela Linguagem de consulta SQL Operações sobre linhas de tabela Regras de transformação de esquemas de BDOO em esquemas de BDR SGBDR: implementa BDRs

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

29 Modelo OR (2) 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

30 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

31 I.4 Projeto de Banco de Dados

32 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


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

Apresentações semelhantes


Anúncios Google