Bancos de Dados Orientados a Objetos e Relacionais-Objetos

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

Download "Bancos de Dados Orientados a Objetos e Relacionais-Objetos"

Transcrição

1 Bancos de Dados Orientados a Objetos e Relacionais-Objetos Fernanda Baião fernanda.baiao@uniriotec.br UNIRIO Conteúdo Introdução Orientação a Objetos e Bancos de Dados O Modelo Orientado a Objetos O Padrão ODMG O Modelo Relacional Objeto A linguagem SQL:1999 O SGBDRO Oracle Considerações Finais Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 2 Referências Bibliográficas "The Object Database Standard: ODMG 3.0 R. G. Cattell e D. K. Barry (editores) Morgan Kaufmann Publishers, 2000 "Object Data Management" R. G. Cattell Addison-Wesley, 1994 UML Distilled: Applying the Standard Object Modeling Language M. Fowler e K. Scott Addison Wesley, 2000, 2a edição Database System Concepts A. Silberschatz, H. Korth, e S. Sudarshan Mc-Graw-Hill, 2002, 4a edição Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 3 1

2 Referências Bibliográficas Object-Relational DBMSs: Tracking the Next Great Wave M. Stonebraker, P. Brown, D. Moore Morgan Kaufmann, 1999 Processamento de Consultas Orientadas a Objetos Mattoso, M.L.Q. Ruberg, G. Victor, A. Baião, F. Relatório Tecnico- COPPE ES-547/01 ( The BUCKY Object-Relational Benchmark M.Carey, D. DeWitt, J.Naughton et al. Relatório Tecnico- U.Wisconsin ( Object Databases: An ODMG Approach R. Cooper International Thomson Computer Press (edição eletrônica), 1997 From UML to ODMG: Modeling and Implementing Object Oriented Database Applications Based on Standards, R.C. Mauro, M.L.Q. Mattoso Tutorial XIV SBBD ( Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 4 Orientação a Objetos e Bancos de Dados Motivação Características da Orientação a Objetos Funcionalidades de Banco de Dados Modelagem fácil e intuitiva do mundo real Compartilhamento seguro de informações persistentes UML Evolução dos modelos de gerência e manipulação de dados Sistemas de Bancos de Dados Orientados a Objetos Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 6 2

3 58 Histórico de Evolução dos Modelos 02 e SGBDs Modelo E-R IMS (Hierárquico) TOTAL (Rede limitado) Sistema R (Relacional), DATACOM, ADABAS Modelo Relacional IDMS (Rede) Pré-SGBDs: Estruturas de acesso suportadas pelo SO 86 Protótipos DB2 (Relacional) INGRES, ORACLE (Relacionais) Modelo UML Tamino (XML) 94 SGBDs Universais 90 Modelos OO/OR Ontos, O2, Postgres Adaplex Exodus SDM Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 7 Porque adotar o modelo lógico de dados OO? Modelagem e programação OO cada vez mais utilizadas na prática Padrão UML Naturalidade do modelo OO para persistência Requisitos de novas aplicações Restrições complexas Estruturas de dados complexas Identidade de objetos e referências diretas Código de aplicação interno ao banco de dados Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 8 O Modelo Orientado a Objetos 3

4 Conceitos do modelo de dados OO Objetos Encapsulamento Classes Atributos Métodos Relaciontos Herança Polimorfismo Associação Agregação Identidade de Objetos Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 10 Exemplo: Bucky coursesoffered Course cno credits dno building Sum performpayment() +dept +Course +worksin +major +students +student +hastaken Enrolled grade +students studentid printgrades() +advisee +section CourseSection semester textbook +Sections building room TA semestersalary numberofs() printclassdiary() Person id street state birthdate kidnames picture place Instructor totalcreditssemester() +teacher +teaches +advisor +employees Employee DateHired status Professor AYSalary monthsummer +chair Staff annualsalary Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 11 Relaciontos A UML permite a representação explícita de três tipos de relaciontos entre classes Herança Associação Composição / Agregação Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 12 4

5 Herança e Polimorfismo Employee DateHired status Objetos de de diferentes classes respondem à mesma mensagem de de diferentes maneiras Staff annualsalary Instructor totalcreditssemester() Professor AYSalary monthsummer TA semestersalary Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 13 Propriedade da Substituição Employee e; TA ta; Prof pr; Staff st;... // instanciação das variáveis e = ta; e.; e = pr; e.; e = st; e. ; TA Prof Staff double Salary( ) return apptfrac*2*semestersalary)/9.0; }; double Salary( ) return AYSalary*(9+monthSummer)/9.0; }; double Salary( ) return annualsalary; }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 14 Coleções Polimórficas Employees Prof Staff Prof Staff Staff Prof TA Prof Prof for( int int i = 0; 0; i < Employees.length; i++ i++ ) ) e = Employees[i]; System.out.println( e. ); ); System.out.println( e. ); ); } Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 15 5

6 Associação Simples dno building Sum performpayment() +students +major studentid printgrades() Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 16 Associação Unidirecional dno building Sum performpayment() chair 0..1 Professor AYSalary monthsummer Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 17 Agregação e Composição de Objetos Objetos complexos ou compostos relacionto IS-PART-OF diversos níveis de granularidade Course cno credits +sections 0.. * +course CourseSection semester textbook building room numberofs() printclassdiary() Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 18 6

7 Objetos compostos Objetos podem ser agregados para formar objetos compostos Ex: Capítulos podem ser agrupados para formar um livro Agrupamento pode ocorrer em diversos níveis Ex: Parágrafos formam uma seção, seções formam um capítulo... Possibilidade de prover facilidades para cópia, remoção, armazento contíguo... Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 19 Identidade de Objetos Cada objeto possui uma identidade independente do seu estado O estado pode ser modificado sem mudar a identidade Idênticos e Iguais são dois conceitos diferentes (profundidade) Conceito de chave deve ser preservado Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 20 O Padrão ODMG 7

8 ODMG Object Database Management Group Grupo formado pelos principais fabricantes de banco de dados OO além de um grande número de empresas interessadas num padrão para SGBDOO Sun, NEC, POET, Objectivity, CA, CERN, Versant Trabalho em constante evolução Padrão ODMG-93 (1.0) Padrão ODMG-97 (2.0) Padrão ODMG-2000 (3.0) Java Binding Base para a especificação do Java Data Objects (JDO) Sintonia com outros padrões (OMG, SQL:99) Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 22 Banco de Dados OO Pesquisem... Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 23 Importância do Padrão SQL Independência do SGBD: portabilidade e interoperabilidade entre SGBDs ODMG Independência do SGBD + Harmonia entre o modelo da LP e da LMD Engloba os dados e operações da aplicação Aplicações portáveis Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 24 8

9 ODMG - Arquitetura Tela1 Tela A B C Tela A B C begin end Memória Class X A : integer B : integer C : integer Class X A : integer B : integer Disco C : integer Sistema Tradicional SGBDOO Baião Bancos Orientados a Objetos Fernanda de Dados e Relacional-Objeto 25 ODMG define padrões: Modelo de Objetos Linguagem de Definição de Objetos - ODL Linguagem de Consulta - OQL Ligações com LPOO Metadados Controle de Concorrência Modelo de Transações Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 26 Linguagem de Definição de Objetos - ODL 9

10 Mapeamento de interfaces UML Person Name: string kidnames: list<string ODMG interface Person attribute string ; attribute list<string kidnames; }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 28 Mapeamento de classes UML Course cno credits ODMG class Course (extent courses, key cno) attribute short cno; attribute string ; attribute short credits; }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 29 ODL - Definição de Classes (estrutura) class Course ( extent courses, key cno ) attribute string ; attribute short cno; attribute short credits; } relationship dep inverse ::coursesofferred; relationship list<coursesection section inverse CourseSection::course; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 30 10

11 Atributos Simples Chave Complexos Referência Coleção Derivados class Course : string, cno: integer dept : sections: list[coursesection],......? Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 31 Atributos simples Tipos básicos pré-existentes integer, string... Tipos definidos pelo usuário através da especificação da representação e operações comuns Dependendo da da implementação, os os tipos básicos podem ser ser tratados sintaticamente e semanticamente como objetos. Esta Esta abordagem porém não não é vantajosa quanto a eficiência. Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 32 Atributos complexos Referências (relacionto) Não podem ser corrompidas. A referência é invalidada automaticamente quando o objeto referenciado é apagado. Independente dos valores do objeto referenciado. (Identidade) Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 33 11

12 Atributos complexos Coleções listas conjuntos vetores Primeira forma normal é violada Possibilidade de estabelecer uma ordem entre os elementos Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 34 Atributos complexos Atributos derivados (Procedimento) Preço total = Quantidade * Preço Unitário Atributos virtuais Sintaxe de acesso a atributo e a procedimento devem ser iguais POSTGRES, O 2 Atualização de atributos derivados procedimentos get e set Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 35 Relaciontos Nome Grau (binário, n- Cardinalidade 1 x 1 1 x n n x m Direção uni, bi-direcional ário) Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 36 12

13 Relaciontos Associação (UML) Relacionto (ODMG) Binária Unidirecional atributo de referência Binária bi- direcional relacionto Binária com atributo, N- classe relacionto ária, Classe Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 37 Relaciontos Associação Unidirecional dno building Sum performpayment() +chair 0..1 Professor AYSalary monthsummer class (extent departments, key dno) attribute short dno; attribute string ; attribute Professor chair; }; class Professor (extent professors) attribute short AYSalary; attribute short monthsummer; double }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 38 Relaciontos Associação Bidirecional dno building Sum performpayment() 0.. * +students +major studentid printgrades() Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 39 13

14 Relaciontos Associação Bidirecional Atributo Inverso class (extent departments, key dno) attribute short dno; attribute string ; attribute string building; attribute string ; relationship set <students inverse ::major; double sum; void performpayment(); }; class (extent students, key studentid) attribute short studentid; relationship < major inverse ::students; void printgrades(); }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 40 Relaciontos Associação Binária N x M CourseSection studentid printgrades() +hastaken +students semester textbook building room numberofs() printclassdiary() Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 41 Relaciontos Associação Binária N x M Atributo Inverso class (extent students, key studentid) attribute short studentid; relationship set <CourseSection hastaken inverse CourseSection::students;...}; class CourseSection (extent coursesections) attribute short semester; attribute string textbook; attribute string building; attribute short roomno; attribute short nos; relationship set < students inverse ::hastaken;...}; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 42 14

15 Relaciontos Associação Binária N x M studentid printgrades() +hastaken +student Enrolled +section grade +students CourseSection semester textbook building room numberofs() printclassdiary() Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 43 Relaciontos Associação Binária com Atributo... class (extent students, key studentid) attribute short studentid; relationship set <Enrolled hastaken inverse Enrolled::students; void printgrades(); }; class CourseSection (extent coursesections) attribute short semester; attribute string textbook; attribute string building; attribute short roomno; attribute short nos; relationship set <Enrolled students inverse Enrolled::section; }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 44 Relaciontos Associação Binária com Atributo (cont.) class Enrolled (extent enrolleds) attribute real grade; relationship < student inverse ::hastaken; relationship <CourseSection section inverse CourseSection ::students; }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 45 15

16 Relaciontos Associação Binária com Atributo (ex. O2 ODMG) class CourseSection (extent coursesections) attribute short semester; attribute string textbook; attribute string building; attribute short roomno; attribute short nos; relationship set < students inverse ::section; }; class (extent students, key studentid) attribute short studentid; relationship set struct ( <CourseSection hastaken, real grade ) section inverse CourseSection::students; void printgrades(); }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 46 Relaciontos Relacionto não binário Há necessidade de criação de uma classe específica para expressar o relacionto Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 47 Relaciontos Course course * students CourseSection semester textbook Associação Ternária teacher Instructor class Course... } ; class... } ; class Instructor... } ; class CourseSection (extent coursesections, key(course,students,teacher)) relationship Course course; relationship set<students; relationship Instructor teacher; attribute integer semester; attribute string textbook; }; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 48 16

17 Herança Simples Person id street state birthdate kidnames picture place studentid class Person ( extent people, key id ) attribute int id; attribute string ;... } class extends Person ( extent students, key studentid ) attribute int studentid; } printgrades() Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 49 Herança simples com Interface Employee DateHired status Sa la ry() interface Employee attribute date DateHired; attribute short status; double Salary (); }; Staff annualsalary class Staff : Employee attribute date DateHired; attribute short status; attribute double annualsalary; double Salary (); } Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 50 Herança Múltipla class TA extends, Instructor attribute date DateHired; attribute string status; attribute double semestersalary; Employee DateHired status relationship... Instru ctor } double ; studentid printgrades() totalcreditssemester() TA semestersalary S ala ry() Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 51 17

18 ODL - Definição de Classes (operações) class Professor extends Instructor (extent professors) attribute short AYSalary; attribute short monthsummer; double return AYSalary*(9+monthSummer)/9.0; } } ; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 52 Linguagem de Definição de Objetos - ODL OQL, O-R SQL : Definição de Consultas acesso associativo expressões de caminho herança métodos polimorfismo pertinência de conjuntos select resultado from operando [where predicado] Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 54 18

19 OQL, O-R SQL : Sintaxe select c from courses c Resultado Operando where c.dept.chair.state = RS ; Predicado Resultado: objetos, literais Operando: coleções (extent) Predicado: expressões de caminho Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 55 OQL, O-R SQL : Consultas select resultado from operando [where predicado] resultado representa uma das variáveis (ou combinação) presentes em operando e identifica a origem da lista de objetos/valores que será fornecida como resultado da consulta operando da consulta consiste de expressões do tipo coleção v,onde v representa os objetos em coleção predicado é o conjunto de cláusulas que representam as condições que devem ser satisfeitas pelas variáveis de lista de variáveis Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 56 Expressões de Caminho courses c c.dept.chair. c.dept.chair.advisees c.dept.students Course cno credits +dept +major studentno +advisor printgrades() dno building +coursesoffered Sum performpayment() +students +chair 0..1 Professor +advisees AYSalary monthsummer Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 57 19

20 OQL Expressões de Caminho select c. from from courses c where where c.dept.chair.state = RS ; RS ; Course cno credits +dept +major studentno +advisor printgrades() SQL select c. from from Course c, c, d, d, Professor p where where c.dept = d.dno d.dno and and d.chair = p.id p.id and and p.state = RS ; RS ; dno +coursesoffered building Sum performpayment() +students +chair 0..1 Professor +advisees AYSalary monthsummer Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 58 Expressões de Caminho OQL SQL select c select c.* c.* from from courses c, c, from from Course c, c, c.dept.students s d, d, s where where s.city = Gramado ; where where c.dept = d.dno d.dno and and d.dno d.dno = s.majors and and s.city = Gramado ; dno Course building cno +dept +coursesoffered credits Sum performpayment() +students +chair +major 0..1 Professor studentno printgrades() +advisor +advisees AYSalary monthsummer Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 59 OQL Expressões de Caminho select struct (dept:d, std:s.) from from departments d, d, d.chair.advisees s where where d.chair. = Heuser ; Course cno credits +dept +major studentno +advisor printgrades() +coursesoffered SQL select d.*, d.*, s. from from d, d, Professor p, p, s where where d.chair = p.id p.id and and s.advisor = p.id p.id and and p. = Heuser ; dno building Sum performpayment() +students +chair 0..1 Professor +advisees AYSalary monthsummer Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 60 20

21 Expressão de Caminho no resultado select struct(dept: s.majors., course: c.section.course.) from from students s, s, s.hastaken c where where count count (s.hastaken) 8; 8; OQL +chair +coursesoffered +employees dno building Sum performpayment() +dept Course cno credits +sections +students +major +hastaken studentid printgrades() +teaches +student Enrolled grade TA semestersalary +section +students CourseSection semester textbook +teacher +course building room numberofs() printclassdiary() +advisor Person id street state birthdate kidnames picture place Instructor totalcreditssemester() +advisee Employee DateHired status Professor AYSalary monthsummer worksin Staff annualsalary Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 61 Herança OQL select e., e.street, e.zip e.zip from from employees e SQL where where e.datehired 2000; 2000; select e., e.street, e.zip e.zip from from Staff Staff e, e, Employee where where e.datehired 2000; 2000; DateHired UNION status UNION ALL ALL select e., e.street, e.zip e.zip from from Professors e where where e.datehired 2000; 2000; UNION UNION ALL ALL Staff Instructor select annualsalary e., e.street, e.zip e.zip from totalcreditssemester() from TA TA e where where e.datehired 2000; 2000; Professor AYSalary monthsummer TA semestersalary Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 62 Herança e associação OQL SQL select select e., e., e.street, e.street, e.zip e.zip from select select e., e., e.street, e.street, e.zip from employees employees e e e.zip where from from Staff Staff e, e, d where e.datehired e.datehired d and where where e.datehired e.datehired 2000 and e.worksin. e.worksin. 10k; 10k; 2000 and and d. d. 10k 10k and and e.worksin e.worksin = = d.deptno; d.deptno; Employee UNION DateHired UNION ALL ALL status select select e., e., e.street, e.street, e.zip e.zip from from Staff Staff e, e, d d where where e.datehired e.datehired and and d. d. 10k 10k and and e.worksin e.worksin = = d.deptno; d.deptno; Staff Instructor UNION UNION ALL ALL annualsalary select select e., e., e.street, e.street, e.zip e.zip totalcreditssemester() from from Staff Staff e, e, d d where where e.datehired e.datehired and and d. d. 10k 10k Professor TA and and e.worksin e.worksin = = d.deptno; d.deptno; AYSalary semestersalary monthsummer Fernanda Baião Bancos de Orientados a Objetos e Relacional-Objeto Dados 63 21

22 Polimorfismo OQL select x., x.salary from employees x where x.salary = 96000; SQL select x., x.salary from Staff x where x.annualsalary = union all select x., x.salary from Professor x where (x.salary*(9+x.monthsummer)/9.0) = union all select x., x.salary from TA x where (apptfraction*(2*x.salary)) = Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 64 Pertinência de conjuntos OQL select x., x.salary from staffs x where Maria IN x.kidnames; SQL select x., x.salary from Staff x, Kids k where x.id = k.id and k.kidname = Maria Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 65 Estratégias de Processamento Modelo de objetos possibilita novas estratégias Direção descendente x ascendente (atributos inversos) Operador junção x referência (ponteiros) Grande aumento de desempenho Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 66 22

23 Estratégias de Processamento select c from courses c, c.dept.students s where s.city = Gramado ; courses departments students Descendente/Referência naive pointer Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 67 Estratégias de Processamento select c from courses c, c.dept.students s where s.city = Gramado ; courses departments students Ascendente/Referência naive pointer Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 68 O Modelo de dados Relacional Objeto 23

24 Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 70 Modelo Relacional Objeto Relacional + Objeto Extensão do modelo relacional tradicional Utilização da tecnologia e otimizações existentes Suporte à SQL, gerência de transações, processamento e otimização de consultas, etc... Migração gradual e transparente de sistemas legados Sistema de tipos mais rico - Tipos de dados complexos Manipulação de objetos pelo usuário Extensão da linguagem SQL SQL:1999, SQL:200n... Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 71 Modelo Relacional Objeto Resposta dos Bancos de Dados Relacionais à Orientação a Objetos Objetivo é prover migração transparente Incorpora novas funcionalidades e capacidade de modelagem para tratar dados complexos (objetos) sobre estruturas físicas relacionais (tabelas) Representações distintas em memória e no disco Gap semântico Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 72 24

25 Elementos do Modelo Relacional Objeto Relações Aninhadas Tipos Complexos Coleções e Objetos longos (Large Objects LOBs) Tipos Estruturados Herança Tipos, Tabelas Tipo Referência Consultas Expressões de caminho Funções e Procedimentos Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 73 Relações Aninhadas Atributos atômicos (tradicional) ou relações Modelagem mais natural das aplicações Coleções, tipos estruturados Modelagem mais fácil de entender Relações dentro de relações Fisicamente, ainda são tabelas distintas Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 74 Relações Aninhadas cityname Sum performpayment() +students +major kidnames birthdate picture cvitae s Atributos multivalorados (coleções) Computer Science Biology Mathematics cityname New York San Diego New York students David Dewitt, Eddie Smith} Susan Smith} Jonh Walsh, George Gold}... Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 75 25

26 Relações Aninhadas cityname Sum performpayment() +students +major kidnames birthdate picture cvitae s David Dewitt Susan Smith Jonh Walsh Atributos multivalorados (coleções) kidnames David, Mary, John} Carol, Steve} Emily, Mary} major Tipos Estruturados (Computer Science, New York) (Biology, San Diego) (Mathematics, New York)... Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 76 Tipos Complexos Coleções Conjuntos (sets), vetores (arrays) e multiconjuntos (multisets) Apenas vetores no padrão SQL:1999 Representação direta de atributos multivalorados presentes na modelagem da aplicação create table table s( kidnames varchar(20) array[10] ) Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 77 Tipos Complexos Objetos Longos Fotografias, imagens médicas de alta resolução, vídeos Representação direta de objetos da aplicação, armazenados na base de dados não em arquivos soltos no disco tipos de dados para objetos longos no padrão SQL:1999 Clob (caracteres), blob (binários) create table table s( cvitae clob(10kb) picture blob(10mb) ) Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 78 26

27 Tipos Complexos Tipos Estruturados Atributos atômicos Atributos compostos create type type as( as( varchar(20), cityname varchar(20)) create type type as( as( varchar(20), kidnames varchar(20) array[10] birthdate date, date, major major ) create table table s of of Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 79 Tipos Complexos Tipos Estruturados Métodos corpo definido separadamente create type type Professor as( as( varchar(20), AYsalary integer ) method giveraise(percent integer) create method giveraise(percent integer) for for Professor begin begin set set self.aysalary = self.aysalary + (self.aysalary * percent)/100; end end Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 80 Tipos Complexos Tipos Estruturados Valores de tipos estruturados são criados através de funções construtoras métodos construtores da OO, que criam objetos create function ( n varchar(20), b varchar(20)) returns begin begin set set = n; n; set set cityname = b; b; end end insert into into s values ( Sarah, array[ Dave, Linda ], 17-oct-1970, ( computer Science, San San Diego )) Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 81 27

28 Herança - de Tipos Relacionto supertipo/subtipo Atributos e métodos herdados dos supertipos Polimorfismo Apenas herança simples (múltipla não é suportada) degree studentid Person birthdate Professor AYsalary create type type Person( varchar(20), birthdate date) date) create type type under under Person( degree varchar(20), studentid varchar(20)) create type type Professor under under Person( AYsalary integer) Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 82 Herança - de Tabelas Especialização/generalização do modelo E-R Tipos das tabelas filhas devem ser sub-tipos da tabela pai Todas as tuplas das tabelas filhas estão implicitamente presentes na tabela pai Consultas à tabela People (do tipo Person) retornam tuplas das tabelas People, s e Professors only People permite consultas apenas à tabela People create table table People of of Person create table table s of of under under People create table table Professors of of Professors under under Person Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 83 Tipo Referência É um ponteiro lógico para um objeto de um tipo Modela relaciontos de associação entre objetos evitando o uso de chaves estrangeiras create type type ( varchar(20), cityname varchar(20), chair chair ref(professor) scope scope Professors) create table table s of of insert into into s values ( Geology, San San Diego, null) null) update s set set chair chair = ( select ref(p) from from Professors as as p where where = John ) where where = Geology Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 84 28

29 Consultas Expressões de caminho (EC) desreferenciando atributos do tipo referência Provêm um fácil e intuitivo mecanismo de navegação entre os objetos simplificam consultas escondem do usuário as operações de junção Algoritmos de processamento de EC, em geral, permanecem os mesmos do modelo relacional Junções baseadas em valor select chair- from from s select c from from courses c where where cdeptchair.state = SC ; SC ; Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 85 Funções, Procedimentos e Métodos Padrão SQL:1999 permite manipulação de código de programa em 3 tipos: Funções Procedimentos Métodos Funções associadas a tipos, variável self Linguagem de programação Bindings para Java, C, C++ PL/SQL (Oracle), TransactSQL (MS SQL Server) Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 86 Funções, Procedimentos e Métodos create function deptscountincity(d varchar(20)) returns integer begin begin declare num num integer; select count(d) into into num num from from s where where d. = d; return num; num; end end create method giveraise(percent integer) for for Professor begin begin set set self.aysalary = self.aysalary + (self.aysalary * percent)/100; end end Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 87 29

30 Considerações Finais Alguns produtos disponíveis Oracle 9i, IBM Informix Dynamic Server,... Suporte ao modelo de objetos no SGBDRO ainda é restrito Gap semântico ainda persiste Armazento dos dados em tabelas Estratégias de processamento de consultas limitadas Fernanda Baião Bancos de Dados Orientados a Objetos e Relacional-Objeto 88 30

Bancos de Dados Orientados a Objetos e Relacionais- Objetos

Bancos de Dados Orientados a Objetos e Relacionais- Objetos Bancos de Dados Orientados a Objetos e Relacionais- Objetos Marta Mattoso marta@cos.ufrj.br COPPE/UFRJ Fernanda Baião baiao@cos.ufrj.br Conteúdo! Introdução! Orientação a Objetos e Bancos de Dados! O Modelo

Leia mais

Bancos de Dados Orientados a Objetos e Relacionais-Objetos

Bancos de Dados Orientados a Objetos e Relacionais-Objetos Bancos de Dados Orientados a Objetos e Relacionais-Objetos Marta Mattoso marta@cos.ufrj.br Fernanda Baião baiao@cos.ufrj.br Conteúdo Introdução Orientação a Objetos e Bancos de Dados O Modelo Orientado

Leia mais

Banco de Dados Objeto Relacional

Banco de Dados Objeto Relacional Banco de Dados Objeto Relacional características Banco de Dados Objeto- Relacional (BDOR) Banco de dados relacional com extensões para manipulação de objetos e outras fatores de banco de dados orientado

Leia mais

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Capítulo 8: BDs Objecto-Relacional Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Objectos e Referência

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

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. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

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

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s

Projeto de Banco de Dados Distribuído Proj o e j to t o de d B a B nc n o o d e d Da D do d s o D i D str t ibu b í u do d s Projeto de Alcides Pamplona alcides.pamplona@gmail.com Conteúdo Revisão de Conceitos Arquitetura Distribuída Fragmentação Horizontal Fragmentação Vertical 1 Definição de Banco de Dados Distribuído Um Banco

Leia mais

Introdução a Sistemas de Bancos de Dados

Introdução a Sistemas de Bancos de Dados Introdução a Sistemas de Bancos de Dados Prof. UFES - Universidade Federal do Espírito Santo rapchan@inf.ufes.br http://www.inf.ufes.br/~rapchan Roteiro da Apresentação Introdução Características de um

Leia mais

CMP 151 Modelos Avançados CMP 151. ados de Banco de Dados. Renata de Matos Galante Mirella Moura Moro CMP 151. CMP 151 Modelos Avançados de BD

CMP 151 Modelos Avançados CMP 151. ados de Banco de Dados. Renata de Matos Galante Mirella Moura Moro CMP 151. CMP 151 Modelos Avançados de BD CMP 151 CMP 151 Modelos Avançados ados de Banco de Dados Renata de Matos Galante Mirella Moura Moro CMP 151 Modelos Avançados de BD Terças e Quintas 10:30 até 12:10 Sala 102 prédio 43.425 www.inf.ufrgs.br/~galante

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

A IMPLEMENTAÇÃO OBJETO-RELACIONAL ORACLE

A IMPLEMENTAÇÃO OBJETO-RELACIONAL ORACLE A IMPLEMENTAÇÃO OBJETO-RELACIONAL ORACLE A maior parte dos sistemas gerenciadores de bancos de dados (SGBDs) utilizados nos últimos anos, é baseada no modelo relacional. No entanto, SGBDs baseados em outros

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

SGBD. Funções Básicas de um SGBD

SGBD. Funções Básicas de um SGBD Definição Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco dados. Funções básicas Métodos acesso Integrida Semântica Segurança Concorrência

Leia mais

2008.1. A linguagem SQL

2008.1. 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

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Bancos de Dados Objeto-Relacionais

Bancos de Dados Objeto-Relacionais CEFET-PI Pós-graduação Lato Sensu Especialização em Banco de Dados Bancos de Dados Objeto-Relacionais Prof. Ricardo Ramos BDOR Abril 2008 1 Evolução dos SGBDs Sistemas de Arquivos SGBD Hierárquico (1ª

Leia mais

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Capítulo 8: BDs Objecto-Relacional Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Objectos e Referência

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt INTRODUÇÃO E CONCEITOS BÁSICOS Prof. Ronaldo R. Goldschmidt Hierarquia Dado - Informação - Conhecimento: Dados são fatos com significado implícito. Podem ser armazenados. Dados Processamento Informação

Leia mais

Introdução à Banco de Dados. Definição

Introdução à Banco de Dados. Definição Universidade Federal da Bahia Departamento de Ciência da Computação (DCC) Disciplina: Banco de Dados Profª. Daniela Barreiro Claro Introdução à Banco de Dados Definição Um banco de dados é uma coleção

Leia mais

Banco de Dados I. Introdução Conceitos

Banco de Dados I. Introdução Conceitos Banco de Dados I Introdução Conceitos Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Conceitos Fundamentais de Banco de Dados; Características

Leia mais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Fundamentos dos Sistemas de Informação Organização de Dados e Informações Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas 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

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

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

Leia mais

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

Leia mais

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada. Conceitos básicos Angélica Toffano Seidel Calazans E-mail: angelica_toffano@yahoo.com.br Conceitos introdutórios de Modelagem de dados Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Everson Santos Araujo everson@por.com.br Conceitos Dado - Um fato que pode ser armazenado Banco de dados (BD) - Coleção de dados interrelacionados Sistema Gerenciador de Banco

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento 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 Araújo Ciência da Computação Universidade Federal da Bahia (UFBA) Salvador BA Brasil jeronimoteles,pauloc062,

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados O modelo relacional Marta Mattoso Sumário Introdução Motivação Serviços de um SGBD O Modelo Relacional As aplicações não convencionais O Modelo Orientado a Objetos Considerações

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

Leia mais

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação e isolamento de dados (ilhas de informações)

Leia mais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

Leia mais

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

Leia mais

Resolvendo objeto-relacional impedance mismatch com hibernate

Resolvendo objeto-relacional impedance mismatch com hibernate Resolvendo objeto-relacional impedance mismatch com hibernate August 7, 2013 Sumário I 1 Introdução 2 3 4 Sumário II 5 Contexto Mapeamento Objeto-Relacional (ORM) é uma técnica de programação para converter

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

Gerenciamento de um Sistema de

Gerenciamento de um Sistema de SBD Gerenciamento de um Sistema de Banco de Dados Prof. Michel Nobre Muza ua michel.muza@ifsc.edu.br Prof. Marcos Antonio Viana Nascimento Por que é importante: Motivação Participar na organização e no

Leia mais

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais

A Linguagem SQL. Introdução a Banco de Dados DCC 011

A Linguagem SQL. Introdução a Banco de Dados DCC 011 A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br Bancos de Dados Fernando Albuquerque 061-2733589 fernando@cic.unb.br Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por

Leia mais

Bancos de Dados não Convencionais

Bancos de Dados não Convencionais Bancos de Dados não Convencionais Profa. Valéria Gonçalves Soares DI/UFPB Conteúdo 1. Introdução Integração de BDs com outras áreas Visão dos sistemas Visão das aplicações Limitações dos BDs Relacionais

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

Linguagem SQL (Parte I)

Linguagem SQL (Parte I) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte I) Introdução

Leia mais

CICLO DE VIDA DE UM BD

CICLO DE VIDA DE UM BD BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br CICLO DE VIDA DE UM

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO BANCO DE DADOS ORIENTADO A OBJETOS COMO FERRAMENTA PARA ARMAZENAMENTO E RECUPERAÇÃO DE DADOS

Leia mais

Sistemas de Informação

Sistemas de Informação 5º semestre Licenciatura de EI 2011/2012 msantos@ispgaya.pt cramos@ispgaya.pt / Carlos Ramos 1 Objectivos da Disciplina de Sistemas de Informação da Licenciatura de EI Complementar a formação em bases

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian Banco de Dados Aula 02 Colégio Estadual Padre Carmelo Perrone Profº: Willian Conceitos básicos Dado: Valor do campo quando é armazenado dento do BD; Tabela Lógica: Representa a estrutura de armazenamento

Leia mais

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Modelo Relacional Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas Esquema da Relação Descreve as colunas da tabela Especifica

Leia mais

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Faculdade INED Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan 1 Unidade 2 Imagem: BARBIERI, Carlos. 2

Leia mais

Licenciatura de EI 2010/2011. msantos@ispgaya.pt. Mário Santos / Carlos Ramos

Licenciatura de EI 2010/2011. msantos@ispgaya.pt. Mário Santos / Carlos Ramos 5º semestre Licenciatura de EI 2010/2011 msantos@ispgaya.pt cramos@ispgaya.ptpt / Carlos Ramos 1 Objectivos da Disciplina de Sistemas de Informação da Licenciatura de EI Complementar a formação em bases

Leia mais

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 NA AULA PASSADA... 1. Apresentamos a proposta de ementa para a disciplina; 2. Discutimos quais as ferramentas computacionais

Leia mais

MODELO RELACIONAL - UFMA

MODELO RELACIONAL - UFMA MODELO RELACIONAL Universidade Federal do Maranhão - UFMA Departamento de Informática Projeto de Banco de Dados Profª.MSc Simara Rocha simararocha@gmail.com/simara@deinf.ufma.br www.deinf.ufma.br/~simara

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

Banco de Dados Orientados a Objeto

Banco de Dados Orientados a Objeto Banco de Dados Orientados a Objeto Agenda Revisão de Modelagem Noções de OO SGBD OO ODMG UML Modelo OR SGBD OR Oracle OR PostGreSql OR SQL 1999 Referências Bibliográficas "The Object Database Standard:

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

Leia mais