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

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

Bancos de Dados Abordagens de SGBD

Apresentações semelhantes


Apresentação em tema: "Bancos de Dados Abordagens de SGBD"— Transcrição da apresentação:

1 Bancos de Dados Abordagens de SGBD
Prof. Marcos R. Cardoso

2 Bancos de Dados – Abordagens SGBD Hierárquico
Histórico Não existe documentação original, não há homologação Baseado IMS – Information Management System, mais utilizado ainda hoje Utilizado em ambientes corporativos – Mainframe Manteve-se, durante anos, à frente do modelo relacional pelas características das implementações Prof. Marcos R. Cardoso

3 Bancos de Dados – Abordagens SGBD Hierárquico
Desvantagens Dificuldade na implementação Buscas mais complexas pela necessidade de navegação na estrutura de árvore Prof. Marcos R. Cardoso

4 Bancos de Dados – Abordagens SGBD Hierárquico
Características Dados – representados em registros Registros – estrutura com itens de dados (atributo) Tipos de relacionamento pai-filho, cardinalidade 1:N, onde: o registro do lado “1” é chamado de tipo registro pai o(s) registro(s) do lado “N” chamado(s) tipo registro filho Prof. Marcos R. Cardoso

5 Bancos de Dados – Abordagens SGBD Hierárquico
Exemplo 1 Funcionário CD_FUNC NM_FUNC DS_ENDERECO 10 João Rua XV de Novembro 11 Maria Rua Paraíba 12 Cláudio Rua Itajaí Filho_Funcionario CD_FILHO NM_FILHO CD_FUNC 1 João Júnior 10 2 Gabriela Prof. Marcos R. Cardoso

6 Bancos de Dados – Abordagens SGBD Hierárquico
Exemplo 2 (auto-relacionamento) Funcionário CD_FUNC NM_FUNC DS_ENDERECO CD_CHEFE 10 João Rua XV de Novembro 11 Maria Rua Paraíba 12 Cláudio Rua Itajaí 13 Gabriela Rua 7 de setembro 14 Márcio Rua São João Prof. Marcos R. Cardoso

7 Bancos de Dados – Abordagens SGBD Hierárquico
Produtos IMS MUMPS DMSII FOCUS Prof. Marcos R. Cardoso

8 Bancos de Dados – Abordagens SGBD Rede
Histórico Em 1971, relatório apresentado pelo Database Task Group cria o CODASYL - Conference on Data Sistems Languages Em 1978 e 1981 novos conceitos são incorporados, passa ser conhecido como “Modelo de Rede” Linguagem Cobol como anfitriã (host) Não teve muito sucesso, pois a IBM decidiu manter o modelo hierárquico até a popularização do modelo relacional Prof. Marcos R. Cardoso

9 Bancos de Dados – Abordagens SGBD Rede
Característica Semelhante à abordagem hierárquica, mas ao invés de um registro-filho ter somente um único registro-pai, era permitido que o registro-filho tivesse vários registros-pais. Prof. Marcos R. Cardoso

10 Bancos de Dados – Abordagens SGBD Rede
Vantagens Facilidade de implementação Agilidade nas consultas Prof. Marcos R. Cardoso

11 Bancos de Dados – Abordagens SGBD Rede
Exemplo Funcionario Projeto Pedro Márcio José Antônia Projeto 1 Projeto2 Prof. Marcos R. Cardoso

12 Bancos de Dados – Abordagens SGBD Rede
Produtos TurboIMAGE IDMS RDM Embedded Prof. Marcos R. Cardoso

13 Bancos de Dados – Abordagens SGBD Relacional
Em 1970, Codd idealizou o modelo relacional utilizando-se da Álgebra Relacional (teoria dos conjuntos) Marco na história dos BD Ambiente corporativo Prof. Marcos R. Cardoso

14 Bancos de Dados – Abordagens SGBD Relacional
Resistência Recursos computacionais Tempo de resposta elevado, praticamente inaceitáveis Mudança no paradigma de programação Prof. Marcos R. Cardoso

15 Bancos de Dados – Abordagens SGBD Relacional
Em 1979, a empresa Ashton-Tate apresenta o dBase II Ocorre um crescimento extraordinário Borland compra a Ashton-Tate dBase seria SGBD? Prof. Marcos R. Cardoso

16 Bancos de Dados – Abordagens SGBD Relacional
Aspecto Estrutural Tabelas (linhas e colunas) DEPARTAMENTO CD_DEPTO NM_DEPTO VL_ORCAMENTO 100 Marketing 10.000,00 110 Manutenção 12.000,00 120 Pesquisa 7.000,00 Prof. Marcos R. Cardoso

17 Bancos de Dados – Abordagens SGBD Relacional
Restrição de Integridade DEPARTAMENTO FUNCIONARIO CD_DEPTO NM_DEPTO VL_ORCTO 100 Marketing 10.000,00 110 Manutenção 12.000,00 120 Pesquisa 7.000,00 CD_FUNC NM_FUNC CD_DEPTO 1001 Maria 100 1002 José 1003 Paulo 110 Prof. Marcos R. Cardoso

18 Bancos de Dados – Abordagens SGBD Relacional
Manipulação dos dados Restrição (linha) Projeção (coluna) Junção (mais de uma tabela) DEPARTAMENTO FUNCIONARIO CD_DEPTO NM_DEPTO VL_ORCTO 100 Marketing 10.000,00 110 Manutenção 12.000,00 120 Pesquisa 7.000,00 CD_FUNC NM_FUNC CD_DEPTO 1001 100 Maria 1002 José 1003 110 Paulo Prof. Marcos R. Cardoso

19 Bancos de Dados – Abordagens SGBD Relacional
Exemplos: DB2 Oracle SQL Server MySQL Interbase SyBASE Progress Prof. Marcos R. Cardoso

20 Bancos de Dados – Abordagens SGBD OO
Adição de conceitos de OO a linguagens de banco de dados Utilizar linguagens orientadas a objeto para tratar de bancos de dados que operam com conceitos de objetos persistentes Os dados são objetos dentro do BD, e não linhas dentro de uma tabela Prof. Marcos R. Cardoso

21 Bancos de Dados – Abordagens SGBD OO
Modelo de Dados Estrutura do Objeto Variáveis Mensagens Métodos Classe de Objeto Similaridade nos objetos Instâncias de objetos Herança Similaridade de classes Prof. Marcos R. Cardoso

22 Bancos de Dados – Abordagens SGBD OO
Linguagem persistente Transparência – não há uma conversão explícita entre a OO e o relacional; Operações são realizadas de forma implícita; Trabalham com a SQL embutida; Exemplos: Smalltalk, C++, Java e C# Prof. Marcos R. Cardoso

23 Bancos de Dados – Abordagens SGBD OO
Aplicações Engenharia Aplicações Espaciais Telecomunicações Biologia Molecular Física das Partículas Certas áreas de finanças Prof. Marcos R. Cardoso

24 Bancos de Dados – Abordagens SGBD OO
Vantagens Rapidez (uso de ponteiros para navegar), mas apenas em propósitos específicos Alto nível de abstração Desvantagens Orientado a aplicações específicas Não possui base matemática, como o modelo relacional Prof. Marcos R. Cardoso

25 Bancos de Dados – Abordagens SGBD OO
Produtos Gemstone Gbase Vbase Jasmine ObjectStore O2 Prof. Marcos R. Cardoso

26 Bancos de Dados – Abordagens SGBD OR
Características Novos tipos de dados (complexos) Modelo relacional acrescido de orientação a objetos Linguagem padrão de acesso as estruturas do metadados Linguagem persistente ou extensão para manipulação de objetos Prof. Marcos R. Cardoso

27 Bancos de Dados – Abordagens SGBD OR
Query SGBD Relacional SELECT C.Sobrenome||', '||C.PrimeiroNome FROM Clientes C, Enderecos A WHERE A.cdCidade = C.cdCidade AND A.nmCidade=“São Paulo” Query SGBD OR SELECT Formal(C.Nome) FROM Clientes C WHERE C.endereco.nmCidade = “São Paulo” Prof. Marcos R. Cardoso

28 Bancos de Dados – Abordagens SGBD OR
Exemplo Documentos Título Autores Data (d,m,a) Palavras Chaves Meta de vendas {Carlos, Ana} (18, março, 2003) {Estratégia, vendas} Relatório aos Fornecedores {Manoel} (23, maio, 2002) {Aquisição, compras} Prof. Marcos R. Cardoso

29 Bancos de Dados – Abordagens SGBD OR
Tipo complexo Create type MinhaSequencia char varying; Create type MinhaData ( dia integer, mes char(10), ano integer); Create type Documento ( nome MinhaSequencia, lista_autor setof (MinhaSequencia), lista_palavras_chaves setof (MinhaSequencia), data MinhaData); Create table docs of type Documento; Prof. Marcos R. Cardoso

30 Bancos de Dados – Abordagens SGBD OR
Herança Create type Pessoa ( nm_pessoa MinhaSequencia, nr_CPF integer); Create type Estudante ( nm_curso MinhaSequencia) under Pessoa; Create type Professor ( nm_departamento MinhaSequencia) under Pessoa; Create type AssintenteDeEnsino under Estudante, Professor; Prof. Marcos R. Cardoso

31 Bancos de Dados – Abordagens SGBD OR
SGBD Oracle /* criação do objeto */ CREATE OR REPLACE TYPE obj_pessoa AS OBJECT ( cd_pessoa NUMBER(3), nm_pessoa VARCHAR2(30), nr_telefone VARCHAR2(12), dt_nascimento DATE, MEMBER FUNCTION obter_idade RETURN NUMBER); /* criação da tabela */ CREATE TABLE clientes OF obj_pessoa; Prof. Marcos R. Cardoso

32 Bancos de Dados – Abordagens SGBD OR
SGBD Oracle /* descrevendo a estrutura */ SQL> DESC obj_pessoa; Nome Nulo? Tipo CD_PESSOA NUMBER(3) NM_PESSOA VARCHAR2(30) NR_TELEFONE VARCHAR2(12) DT_NASCIMENTO DATE METHOD ------ MEMBER FUNCTION OBTER_IDADE RETURNS NUMBER Prof. Marcos R. Cardoso

33 Bancos de Dados – Abordagens SGBD OR
SGBD Oracle /* manipulação de dados */ SQL> INSERT INTO clientes VALUES (1, 'Joao Bento Goncalves', ' ', '01/02/1982'); 1 linha criada. Prof. Marcos R. Cardoso

34 Bancos de Dados – Abordagens SGBD OR
SGBD Oracle /* recuperação dos dados */ SQL> SELECT VALUE(c) 2 FROM clientes c; VALUE(C)(CD_PESSOA, NM_PESSOA, NR_TELEFONE, DT_NASCIMENTO) OBJ_PESSOA(1, 'Joao Bento Goncalves', ' ', '01/02/82') SQL> SELECT c.nm_pessoa, c.obter_idade() 2 FROM clientes c; NM_PESSOA C.OBTER_IDADE() Joao Bento Goncalves Prof. Marcos R. Cardoso

35 Bancos de Dados – Abordagens SGBD OR
SGBD Oracle /* Criação do método */ CREATE OR REPLACE TYPE BODY obj_pessoa AS MEMBER FUNCTION obter_idade RETURN NUMBER AS idade NUMBER; BEGIN SELECT TO_NUMBER(TRUNC(MONTHS_BETWEEN(SYSDATE, dt_nascimento)/12),'999') INTO idade FROM clientes; RETURN idade; END; Prof. Marcos R. Cardoso

36 Bancos de Dados – Abordagens SGBD OR
PostgreSQL CREATE TABLE Pessoa(nome varchar(50), telefone numeric(12), endereco varchar(100)); CREATE TABLE PessoaFisica(idade numeric(3), cpf numeric(11), estado_civil char) inherits(Pessoa); CREATE TABLE PessoaJuridica(cnpj numeric(15), insc_est numeric(12)) Prof. Marcos R. Cardoso

37 Bancos de Dados – Abordagens SGBD OR
PostgreSQL INSERT INTO Pessoa VALUES ('Sou pessoa', , 'Sem endereco'); INSERT INTO PessoaFisica VALUES ('Maria', , 'Rua Progresso, 87', 20, , 'S'); INSERT INTO PessoaJuridica VALUES('Confeitaria BomBom', , 'Av Brasil 1500', , 0); Prof. Marcos R. Cardoso

38 Bancos de Dados – Abordagens SGBD OR
PostgreSQL SELECT nome FROM PessoaFisica; SELECT nome FROM PessoaJuridica; SELECT nome FROM Pessoa; SELECT nome FROM ONLY Pessoa; Prof. Marcos R. Cardoso

39 Bancos de Dados – SGBD Funcionamento
Produtos PostgreSQL Illustra Omniscience / Oracle Lite UniSQL Valentina Versões recentes de DB2, Oracle e SQL Server Prof. Marcos R. Cardoso


Carregar ppt "Bancos de Dados Abordagens de SGBD"

Apresentações semelhantes


Anúncios Google