Bancos de Dados. Orientados a Objetos

Tamanho: px
Começar a partir da página:

Download "Bancos de Dados. Orientados a Objetos"

Transcrição

1 Bancos de Dados Orientados a Objetos

2 Introdução A tecnologia tradicional de BD tem sido utilizada com sucesso para o desenvolvimento de aplicações comerciais tradicionais. Essa tecnologia, entretanto, não atende adequadamente aplicações mais complexas, tais como aplicações médicas e científicas, geoprocessamento, projetos de engenharia (CAD/CAM), telecomunicações, etc. Essas novas aplicações de bancos de dados são caracterizadas por possuírem: dados de estrutura complexa (ex.: dados multimídia, espaciais, geográficos, etc.); transações de mais longa duração; necessidade de operações específicas.

3 Introdução SGBDs orientados a objetos e relacionais estendidos (objeto-relacionais) foram desenvolvidos para atender esses requisitos SGBDs orientados a objetos permitem definir a estrutura de objetos complexos e as operações que podem ser executadas sobre eles SGBDs objeto-relacionais incorporam facilidades oriundas do paradigma de orientação a objetos (definição de novos tipos e operações) ao modelo de dados relacional SQL3 incorpora várias dessas características

4 Introdução Nova tecnologia é decorrente da popularização do paradigma de orientação a objetos Modelagem (UML) X Codificação (Java, C++, SmallTalk, Delphi) Armazenamento (DB2, Oracle, Informix) Necessidade de padronização ODMG

5 Introdução Encapsulamento Herança Integridade Segurança Controle de Versões Transações Identidade de Objetos Orientação a Objetos Polimorfismo Tecnologia de Bancos de Dados Armazenamento Consultas Recuperação de Falhas Persistência Concorrência

6 Conceitos Básicos Objeto Um objeto tipicamente possui dois componentes: estado (valor) comportamento (operações) Objetos numa linguagem de programação OO existem apenas durante a execução de um programa objetos transientes Objetos em um banco de dados OO podem existir permanentemente (armazenados) objetos persistentes Correspondência entre objetos do mundo real e objetos armazenados no banco de dados identificadores (object identifiers OIds)

7 Conceitos Básicos Identidade dos Objetos Cada objeto armazenado no BD possui um identificador único Object Identifier (OId) Um OId é imutável, ou seja, o OId de um determinado objeto nunca é alterado, indepedentemente do seu estado OIds são gerados internamente pelo sistema Teoricamente, valores também deveriam ser vistos como objetos e, portanto, possuir um OId SGBDs OO, entretanto, permitem a representação de objetos e valores

8 Conceitos Básicos Estrutura de um Objeto Objetos podem ser construídos a partir de outros objetos objetos complexos Um objeto pode ser representado como uma tripla (i, c, v), onde i é um OId, c é um construtor de tipo e v é o valor corrente (estado) do objeto O modelo orientado a objetos inclui vários construtores de tipo

9 Conceitos Básicos Construtores de Tipo Usados para definir a estrutura dos objetos básicos: átomo, tupla, conjunto outros: lista, arranjo, multi-conjunto Objetos complexos são construídos a partir de objetos mais simples através da aplicação sucessiva desses construtores

10 Conceitos Básicos Construtores de Tipo Átomo (atom) usado para representar valores atômicos de um tipo básico (inteiro, booleano, caractere, string, etc) objetos atômicos não possuem OId Tupla (tuple) <a 1 :i 1, a 2 :i 2,..., a n :i n >

11 Conceitos Básicos Construtores de Tipo Conjunto (set) {i 1, i 2,...,i 3 } Outros construtores lista (list) [i 1, i 2,...,i 3 ] multi-conjunto (bag) arranjo (array) Os tipos derivados dos construtores conjunto, lista, multi-conjunto e arranjo são denominados de coleções

12 Conceitos Básicos Exemplos de Objetos o 1 = (i 1, átomo, Houston ) o 2 = (i 2, átomo, Bellaire ) o 3 = (i 3, átomo, Sugarland ) o 4 = (i 4, átomo, 5) o 5 = (i 5, átomo, Research ) O 6 = (i 6, átomo, ) o 7 = (i 7,conjunto,{i 1, i 2, i 3 }) o 8 = (i 8, tupla, <DNAME:i 5, DNUMBER:i 4, MGR:i 9, LOCATIONS:i 7, EMPLOYEES:i 10, PROJECTS:i 11 >) o 9 = (i 9, tupla, <MANAGER:i 12, MANAGER_SDATE: i 6 >) o 10 = (i 10,conjunto,{i 12, i 13, i 14 })...

13 Conceitos Básicos Exemplos de Objetos o 1 = (i 1,conjunto,{ Bellaire, Houston, Sugarland }) o 2 = (i 2,tupla,<DNAME: Research, DNUMBER:5, MGR:i 3, LOCATIONS:i 1, EMPLOYEES:i 4, PROJECTS:i 5 >)

14 Definição de Tipos de Objeto define type Employee: tuple (fname: string; minit: char; lname: string; ssn: string; date: Date; address: string; sex: char; salary: float; supervisor: Employee; dept: Department); define type Date: tuple (year: integer; month: integer; day: integer)

15 Definição de Tipos de Objeto define type Department: tuple (dname: string; dnumber: integer; mgr: tuple (manager: Employee; startdate: Date); locations: set(string); employees: set(employee); projects: set(project));

16 Encapsulamento Semelhante ao conceito de tipo abstrato de dados em linguagens de programação permite definir o comportamento de um tipo de objeto em função das operações que podem ser aplicadas a objetos daquele tipo Separação de interesses: interface: visível externamente, define o nome e os argumentos de cada operação (assinatura) implementação: escondida internamente, inclui a definição das estruturas de dados e a implementação das operaçãoes (métodos) Implementação especificada através de uma linguagem de programação (flexibilidade) Forma de independência de dados lógica: pode-se alterar a implementação sem que as aplicações (usuários) sejam afetadas

17 Classes O termo classe é geralmente usado para se referir à definição de um tipo de objeto juntamente com a suas operações uma classe define as características (atributos e métodos) de um conjunto de objetos que compartilham o mesmo comportamento Um objeto é uma instância de uma classe Operações típicas: Construtor - criar um novo objeto da classe Destrutor - remover um objeto da classe Outras operações podem ser declaradas para modificar os objetos de uma classe ou recuperar dados sobre eles

18 Definição de Classes define class Employee: type tuple (fname: string; minit: char; lname: string; ssn: string; date: Date; address: string; sex: char; salary: float; supervisor: Employee; dept: Department); operations age: integer; create_emp: Employee; destroy_emp: boolean; end Employee;

19 Definição de Classes define class Department: type tuple (dname: string; dnumber: integer; mgr: tuple (manager: Employee; startdate: Date); locations: set(string); employees: set(employee); projects: set(project)); operations no_of_emps: integer; create_dept: Department; destroy_dept: boolean; assign_emp(e:employee): boolean; remove_emp(e:employee): boolean; end Department;

20 Notação de Ponto (Dot Notation) Operações d.no_of_emps d.destroy_dept Atributos d.dnumber d.mgr.startdate e.dept.dname

21 Hierarquias de Tipos (ou Classes) Permite a definição de novos tipos (classes) a partir de tipos (classes) já existentes Este novo tipo (classe), chamado de sub-tipo (sub-classe), herda todos os atributos e operações do tipo (classe) já existente, chamado super-tipo (ou super-classe) Um sub-tipo pode estender (ou especializar) um supertipo acrescentando novas características (atributos ou operações) Exemplos: PERSON: Name, Address, Birthdate, Age, SSN EMPLOYEE subtype-of PERSON: Salary, HireDate, Seniority STUDENT: subtype-of PERSON: Major, GPA

22 Objetos Complexos Não-estruturados O SGBD não conhece a sua estrutura, apenas a aplicação que os utiliza é capaz de interpretá-los Não fazem parte dos tipos de dados básicos Ex.: imagens, textos longos (BLOBs binary large objects) Operações específicas podem ser definidas usando-se o conceito de tipos abstratos de dados Estruturados Construídos a partir de aplicações sucessivas dos construtores de tipos

23 Outras Características Polimorfismo Objetos ou operações possuem mais de um comportamento ou significado, dependendo do contexto sobrecarga semântica Exemplo: operador + Herança múltipla e herança seletiva Versões Necessárias em muitas aplicações (ex., engenharia de software, CAD/CAM, etc.) Não é uma característica da tecnologia OO

24 Padrão para SGBDOOs Ausência de modelo de dados comum Grande atividade experimental e de desenvolvimento Inexistência de um padrão para SGBDOOs limitava a sua utilização de forma ampla Pequena portabilidade Baixa interoperabilidade Falta de referência para comparação de produtos

25 ODMG Object Data Management Group Consórcio de desenvolvedores de SGBDOOs Criação de um padrão para SGBDOOs - ODMG 2.0: Modelo de objetos Object Definition Language (ODL) Object Query Language (OQL) Ligações com C++, Java e SMALLTALK

26 Modelo de Objetos Modelo em que se baseiam as linguagens ODL e OQL Provê tipos, construtores de tipos e demais conceitos para especificação de esquemas para BDOO Componentes básicos: Objetos - estado (valor) e identificador (OId) Literais - valor Objetos podem ser: Atômicos Estruturados (struct) Coleções (set, bag, list, array, dictionary)

27 Modelo de Objetos Interface X Classe: Interface - não instanciável especifica o comportamento (operações) dos objetos Classe - instanciável usada para se criar objetos das aplicações Herança de uma única classe (EXTENDS) Herança múltipla apenas no caso de comportamento (operações), portanto só podem ser especificadas a partir de interfaces

28 ODL Object Definition Language Independente de qualquer linguagem de programação usada para se especificar objetos (classes e interfaces) Definições de classes e interfaces podem conter: atributos (attributes) relacionamentos (relationships) operações (assinaturas dos métodos) Herança de classes definida através da palavra-chave extends Herança de interfaces definida via operador : Instâncias de classes definidas através da palavra-chave extent

29 ODL - Object Definition Language Definição de uma Classe class Student extends Person ( extent students key ssn ) { attribute string class;... relationship Department majors_in inverse Department::has_majors; relationship set<grade> completed_sections inverse Grade::student; void change_major(in string dname) raises(dname_not_valid);... };

30 Exemplo de um Esquema ODMG class Employee ( extent employees key ssn ) { attribute struct Name {string fname, string minit, string lname} name; attribute string ssn; attribute enum Gender{M,F} sex; attribute string address; attribute float salary; attribute date birthdate; attribute set<struct Assgmt{Project proj, float hours}> works_on; relationship set<dependent> dependents {order_by birthdate}; relationship Employee supervisor; relationship Department works_for inverse Department::workers; };

31 Exemplo de um Esquema ODMG class Department ( extent departments key number ) { attribute string name; attribute short number; attribute set<string> locations; attribute date manager_start_date; relationship Employee manager; relationship set<employee> workers inverse Employee::works_for; boolean add_worker (in Employee worker) raises (already_works_here); boolean remove_worker (in Employee worker) raises (not_found); boolean change_manager (in Employee manager); };

32 Exemplo de um Esquema ODMG class Project ( extent projects key number ) { attribute string name; attribute short number; attribute string location; relationship Department controlling_department; relationship set<employee> workers; boolean add_worker (in Employee worker) raises (already_works_here); boolean remove_worker (in Employee worker) raises (not_found); };

33 Exemplo de um Esquema ODMG class Dependent ( extent dependents ) { attribute string name; attribute Gender sex; attribute date birthdate; attribute string relationship; }; class Assignment ( extent assignments ) { attribute float hours; relationship Employee employee inverse Employee::works_on; relationship Project project inverse Project::has_workers; };

34 Exemplo de um Esquema ODMG Com a classe Assignment definida, os seguintes relacionamentos devem inseridos nas classes Employee e Project: class Employee ( extent employees key ssn ) {... relationship set<assignment> works_on inverse Assignment::employee; } class Project ( extent projects key number ) {... relationship set<assignment> has_workers inverse Assignment::project; }

35 OQL Object Query Language Sintaxe semelhante a SQL select... from... where select e.name.lname from e in employees where e.works_for.dname = Research Consultas requerem pontos de entrada (entry points) objetos persistentes employees (extensão da classe Employee) rsdepartment (nome dado a um objeto do tipo Department) variáveis de interação e in employeees Expressões de caminho especificam um caminho (path) para objetos e atributos e.name e.works_for.dname rsdepartment.manager.salary

36 Resultado das Consultas em OQL select d.dname from d in departments where d.college = Engineering ; retorna um resultado do tipo bag<string> departments; retorna um resultado do tipo set<department> csdepartment.chair; retorna um resultado do tipo Faculty csdepartment.chair.rank; retorna como resultado um string

37 Exemplos de Consulta em OQL Posição (rank) dos professores do departamento de computação select f.rank from f in csdepartment.has_faculty; select distinct f.rank from f in csdepartment.has_faculty; select f.rank from f in faculty where f.works_in.dname = Computer Science ;

38 Exemplos de Consultas OQL Nome e respectivos títulos dos estudantes de pósgraduação orientados pelo chefe do departamento de computação select struct (name:struct (last_name: s.name.lname, first_name: s.name.fname), degrees(select struct (deg: d.degree, yr: d.year, from d in s.degrees)) college: d.college) from s in csdepartment.chair.advises; from s in grad_student where s.advisor in select d.chair from d in departments where d.dname = Computer Science ;

39 Exemplos de Consultas OQL Nome dos estudantes seniores do curso de computação com seus respectivos coeficientes de aproveitamento acadêmico select struct (last_name: s.name.lname, from s in students first_name: s.name.fname), gpa: s.gpa) where s.majors_in.dname = Computer Science and s.class = senior order by gpa desc, last_name asc, first_name asc; operação relacionamento

40 Outras Facilidades OQL Consultas parametrizadas (similares ao conceito de visão no modelo relacional) define has_minors(deptname) select s from s in students where s.minors_in.dname = deptname; has_minors( Computer Science ); Funções de agregação count (s in has_minors( Computer Science )); avg (select s.gpa from s in students where s.majors_in.dname = Computer Science and s.class = senior );

41 Outras Facilidades OQL Expressões de pertinência e quantificação select s.name.lname, s.name.fname from s in students where Database Systems I in (select c.cname from c in s.completed_sections.of_courses); for all g in (select s from s in grad_students where s.majors_in.dname = Computer Science ) : g.advisor in csdepartment.has_faculty; Exists g in (select s from s in grad_students where s.majors_in.dname = Computer Science ) : g.gpa = 4;

42 Ligações (Bindings) para o Padrão ODMG 2.0 Descrevem como as construções do modelo de objetos ODMG são mapeadas para construções das linguagens de programação requer ainda uma linguagem específica para manipulação de objetos (OML Object Manipulation Language) Propostas para três linguagens: C++ Java Smalltalk

43 SGBDOOs Concordantes com o Padrão ODMG 2.0 O2 (Java e C++) ObjectStore (Java, C++ e ActiveX) Objectivity (Java, C++ e SmallTalk) Poet Object Store (Java e C++) Versant (Java e C++)

44 Referências Elsmari, R. & Navathe, S.B. Fundamentals of Database Systems. 3ª Ed., Addison Wesley, Reading, MA, (Cap. 11 e 12) Cattel, R. (ed.) The Object Database Standard - ODMG 2.0. Morgan Kaufmann, San Francisco, CA, 1997.

BANCO DE DADOS ORIENTADO A OBJETOS

BANCO DE DADOS ORIENTADO A OBJETOS UNIDADEB BANCO DE DADOS ORIENTADO A OBJETOS 1. Introdução Um Banco de Dados Orientado a Objetos (BDOO) é um banco de dados em que, no modelo lógico, as informações são armazenadas na forma de objetos,

Leia mais

ODMG - Object Database Management Group

ODMG - Object Database Management Group ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo integração e padronização de funcionalidades de BD a uma LPOO Componentes do padrão modelo de

Leia mais

Banco de Dados Orientado a Objetos

Banco de Dados Orientado a Objetos Banco de Dados Orientado a Objetos Jerônimo Teles, Paulo César Gonçalves, Pedro Prado, Rutemberg Araujo Ciência da Computação Universidade Federal da Bahia (UFBA) Salvador BA Brasil {jeronimoteles,pauloc062,

Leia mais

Sumário. BD Orientado a Objetos

Sumário. BD Orientado a Objetos Sumário 1. BD Orientado a Objetos (BDOO) 2. BD Objeto-Relacional (BDOR) 3. BD Temporal (BDT) 4. BD Geográfico (BDG) 5. Tecnologia XML e BD com suporte à gerência de dados XML BD Orientado a Objetos BDOO:

Leia mais

Banco de Dados I Módulo VIII: Banco de Dados Orientado a Objetos e Relacional-Objeto. (Aula 1) Clodis Boscarioli

Banco de Dados I Módulo VIII: Banco de Dados Orientado a Objetos e Relacional-Objeto. (Aula 1) Clodis Boscarioli Banco de Dados I 2007 Módulo VIII: Banco de Dados Orientado a Objetos e Relacional-Objeto (Aula 1) Clodis Boscarioli Agenda: Banco de Dados Orientado a Objetos Introdução e Motivações; Conceitos principais;

Leia mais

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges BANCO DE DADOS II SQL Básico COTEMIG Gerson Borges [email protected] Definição de Banco de Dados [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Representando algum

Leia mais

Linguagem de Programação I Apresentação da Disciplina

Linguagem de Programação I Apresentação da Disciplina Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico

Leia mais

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade. Banco de Dados Aula 1.4 - Sistemas de Banco de Dados Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz [email protected] 1/25 Arquitetura dos SBDs 2/25 Objetivos dos SGBDs

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Modelo Relacional. Alberto Sardinha 2012 IST

Sistemas de Informação e Bases de Dados 2012/2013. Modelo Relacional. Alberto Sardinha 2012 IST Sistemas de Informação e Bases de Dados 2012/2013 Modelo Relacional Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 1 Sumário Modelo Relacional Conversão Modelo EA

Leia mais

Conceitos de Sistemas de Banco de Dados INE 5323

Conceitos de Sistemas de Banco de Dados INE 5323 Conceitos de Sistemas de Banco de Dados INE 5323 Prof. Mario Dantas Introdução Por quê Sistemas de Banco de Dados Visão dos Dados Modelos de Dados Linguagem de Definição de Dados (DDL) Linguagem de Manipulação

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento Processo de Projeto de Bancos de Dados Mini-Mundo Análise de Requisitos Requisitos Funcionais Requisitos do BD Análise Funcional Projeto Conceitual Especificação das Transações

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Modelo do Mundo Real. Abstração. Interpretação

Modelo do Mundo Real. Abstração. Interpretação Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema

Leia mais

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas

Leia mais

Cap. 1 Arquitectura de Sistemas de Bases de Dados

Cap. 1 Arquitectura de Sistemas de Bases de Dados Cap. 1 Arquitectura de Sistemas de Bases de Dados Abel J.P. Gomes Bibliografia usada: T. Connoly e C. Begg. Database Systems: a pratical approach to design,implementation, and management. Addison-Wesley,

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: [email protected] 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

Introdução. O que é um Banco de Dados (BD)?

Introdução. O que é um Banco de Dados (BD)? O que é um Banco de Dados (BD)? É uma coleção de dados relacionados e armazenados em algum dispositivo Associações aleatórias de dados não podem ser chamadas de base de dados Conceito de dados Valor de

Leia mais

MAPEAMENTO OBJETO RELACIONAL

MAPEAMENTO OBJETO RELACIONAL UNIDADEE Projeto de Banco de Dados Orientado a Objetos Unidade E 1. Introdução Ao concluir o estudo sobre BDOOs, você precisa ser capaz de implementar bancos de dados relacionais para aplicações que utilizam

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática

Leia mais

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão UNIDADE 1 Visão Geral Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático 1.1 Visão geral: Banco de dados 1.2 Dados versus informação 1.3 Classificando os bancos de dados 1.4 Sistemas

Leia mais

Comparativo entre Banco de Dados Orientado a Objetos (BDOO) e Bancos de Dados Objeto Relacional (BDOR)

Comparativo entre Banco de Dados Orientado a Objetos (BDOO) e Bancos de Dados Objeto Relacional (BDOR) Comparativo entre Banco de Dados Orientado a Objetos (BDOO) e Bancos de Dados Objeto Relacional (BDOR) Daniel Ramon Silva Pinheiro, Danilo Santos Souza, Rafael Oliveira Vasconcelos, Fábio Soares Silva

Leia mais

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Disciplina: Banco de Dados Prof: Márcio Palheta,

Leia mais

BD Objeto-Relacional - Motivação

BD Objeto-Relacional - Motivação BD Objeto-Relacional - Motivação SGBDs Relacionais (SGBDRs) sistemas já consolidados no mercado boa performance muitos anos de pesquisa e aprimoramento eficiência: otimização de consultas, gerenciamento

Leia mais

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional Banco de Dados Banco de Dados II Conceitos Básicos Coleção logicamente coerente de dados relacionados com algum significado inerente; Exemplos de bancos de dados: Agenda de endereços (papel ou computador)

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação

Leia mais

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de Introdução O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language). O padrão SQL define precisamente uma interface SQL para a

Leia mais

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural

Leia mais

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD Disciplina: Banco de Dados Prof: Márcio Palheta, Esp

Leia mais

Introdução a Bancos de Dados

Introdução a Bancos de Dados Introdução a Bancos de Dados - Conceitos - Modelos lógicos e relacional - Álgebra relacional - SQL - Projeto Lógico INPE - Divisão de Processamento de Imagens INPE 1 Sistemas de Banco de Dados Definição:

Leia mais

A linguagem SQL

A linguagem SQL SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão recebeu o nome de

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Aula 2 BD Introdução. Profa. Elaine Faria UFU Aula 2 BD Introdução Profa. Elaine Faria UFU - 2017 Motivação A quantidade de informação disponível está crescendo exponencialmente Os dados e as informações tem um papel importante para as organizações

Leia mais

Modelo Entidade-Associação (EA)

Modelo Entidade-Associação (EA) Sistemas de Informação e Bases de Dados 2012/2013 Modelo Entidade-Associação (EA) Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 2 1 Sumário Modelo Entidade-Associação

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC) Banco de Dados - Conceitos Baseado no material da Profa. Vania Bogorny (UFSC) 1 Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel compra de passagens

Leia mais

4. BD Objeto-Relacional (BDOR)

4. BD Objeto-Relacional (BDOR) Sumário 1. Introdução a Aplicações Não-Convencionais 2. Revisão de Modelagem Conceitual 3. BD Orientado a Objetos (BDOO) 4. BD Objeto-Relacional (BDOR) 5. BD Temporal (BDT) 6. BD Geográfico (BDG) 7. BD

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo [email protected] 1 Plano de Ensino Objetivo

Leia mais

Introdução ao Banco de Dados. Banco de Dados

Introdução ao Banco de Dados. Banco de Dados Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Bancos (Bases) de Dados

Bancos (Bases) de Dados Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem

Leia mais

Sistema Gestor de Bancos de Dados (SGBD)

Sistema Gestor de Bancos de Dados (SGBD) Sistema Gestor de Bancos de Dados (SGBD) Conceitos Gerais Prof. Guilherme Tomaschewski Netto [email protected] Roteiro! Contextualização! Apresentação, um pouco de história Legendas! Nesta apresentação

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José [email protected] http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores

Leia mais

A linguagem SQL

A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato [email protected] Programação Procedimental x Orientada a Objetos Objetivos e Benefícios

Leia mais

1 Introdução e Conceitos básicos

1 Introdução e Conceitos básicos 1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2

Leia mais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011 Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

Projeto Banco de Dados

Projeto Banco de Dados Projeto Banco de Dados Principais Fases do Processo Projeto Conceitual Projeto Lógico Projeto Físico 32 Projeto Banco de Dados Projeto Conceitual Modelagem de dados em alto nível Foco no domínio do problema

Leia mais

Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática Bases de Dados Relacional/Objeto e NoSQL Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SGBDs Principais tarefas Gerir grandes volumes de dados Suportar acessos eficientes Garantir

Leia mais

BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas;

BANCO DE DADOS. SQL Select. Engenharia da Computação. Aula 20. Vamos considerar a tabela EMP para os exemplos a seguir. SELECT colunas FROM tabelas; Engenharia da Computação BANCO DE DADOS Aula SQL Select SELECT - recupera informação do Banco de Dados. Formato mais simples: SELECT colunas FROM tabelas; Vamos considerar a tabela EMP para os exemplos

Leia mais

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Introdução. Bases de Dados (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto (CC2005) Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Eduardo R. B. Marques DCC/FCUP parcialmente adaptado de slides por Fernando Silva e Ricardo Rocha Alguns

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton [email protected] Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo

Leia mais

Aplicação de banco de dados orientado a objetos na modelagem multidimensional

Aplicação de banco de dados orientado a objetos na modelagem multidimensional Aplicação de banco de dados orientado a objetos na modelagem multidimensional Sueli de Fatima Poppi Borba 1, Aran Bey Tcholakian Morales 2 1 Universidade Paranaense Unipar. Instituto Superior de Ciências

Leia mais

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas

Leia mais

INE 5423 Banco de Dados I

INE 5423 Banco de Dados I UFSC-CTC-INE Curso de Ciencias da Computação INE 5423 Banco de Dados I 2010/2 http://www.inf.ufsc.br/~ronaldo/ine5423 Programa da Disciplina Objetivo Conteúdo Avaliação Bibliografia Cronograma (Previsto)

Leia mais

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Matéria Introdutória Banco de Dados Motivação Necessidade de armazenar grandes quantidades de dados Necessidade de acessar as informações de maneira eficiente e segura Evolução histórica: desenvolvimento

Leia mais

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju Banco de Dados Professor: Marcelo Machado Cunha IFS Campus Aracaju Definição Banco de Dados Conjunto de dados interrelacionados que objetivam atender as necessidades de um conjunto de usuários. Inglês:

Leia mais

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos Prof. Daniela Barreiro Claro Agenda Modelo de Dados MER 2 de X; X=37 Modelo de Dados O Modelo de Dados é a principal ferramenta que fornece

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início

Leia mais

BANCO DE DADOS PARA NINJAS

BANCO DE DADOS PARA NINJAS BANCO DE DADOS PARA NINJAS PARANGABA RONNISON REGES VIDAL Ceará, 25 de Outubro de 2016 ROTEIRO l Conhecimento Pra que usar? Ferramentas SGBD's Consultas (Jutsu) Linguagem de Consulta PRA QUE USAR? PRA

Leia mais

Emulação de um Gerenciador de Dados Orientado a Objetos através de uma Interface de Programação de Aplicativos sobre um Gerenciador Relacional 1

Emulação de um Gerenciador de Dados Orientado a Objetos através de uma Interface de Programação de Aplicativos sobre um Gerenciador Relacional 1 Emulação de um Gerenciador de Dados Orientado a Objetos através de uma Interface de Programação de Aplicativos sobre um Gerenciador Relacional 1 Elaine Parros Machado de Sousa Orientação: Prof. Dr. Caetano

Leia mais

Introdução à Orientação a Objetos

Introdução à Orientação a Objetos Introdução à Orientação a Objetos Paradigmas de programação Objetos Classes Paradigma não é só uma palavra bonita! Lógico - tudo é assertiva lógica: Prolog, Mercury; Funcional tudo são listas e funções:

Leia mais