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 (Modelagem Lógica) Modelo de Entidade e Relacionamento Modelo de Objeto Modelo Relacional Modelo Objeto- Relacional BD I BD II

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

7 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

8 Pontos Negativos –Atributos atômicos –Modelo estático

9 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)

10 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

11 Exemplo de classe de objeto –Classe Estudante Atributos –Matrícula > –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

12 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

13 Multiplicidades de Relacionamento –1:1 –1:N –M:N

14 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

15 –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

16 Métodos –Métodos de Instância 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()

17 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)

18 –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

19 –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()

20 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

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

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

23 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?

24 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

25 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

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

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

28 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

29 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

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

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

32 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

33 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

34 I.4 Projeto de Banco de Dados

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


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