Prévia do material em texto
Introdução a Banco de Dados (cont.) Prof. Msc Denival A. dos Santos Página ▪ 2 Instâncias e Esquemas ▪ Um banco de dados muda ao longo do tempo por meio de informações que nele são inseridas ou excluídas. ▪ Segundo Silberschatz (2006), os esquemas de dados dizem respeito ao projeto geral do banco de dados e é um aspecto que raramente é modificado. ▪ Uma instância do banco de dados diz respeito à coleção de dados armazenados em um banco de dados em um determinado momento (SILBERSCHATZ, 2006). A instância modifica toda vez que uma alteração no banco de dados é feita. ▪ O SGBD é responsável por garantir que toda instância do banco de dados satisfaça o seu esquema do banco de dados, respeitando sua estrutura e suas restrições. Página ▪ 3 Instâncias e Esquemas ▪ Esquema − Cidade (nome, população, regiao) ▪ Instância − Cidade(‘Parnaíba’, ’250000’, ‘Nordeste’) − Cidade(‘Recife’, ‘500000’, ‘Nordeste’) − Cidade(‘São Paulo’, ‘2000000’, ‘Sudeste’) Página ▪ 4 Modelo de Dados ▪ Um modelo de (banco de) dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados. − Por exemplo: no caso de uma indústria, o modelo de dados poderia informar que o banco de dados armazena informações sobre produtos e que, para cada produto, são armazenados seu código, preço e descrição. ▪ O projeto de banco de dados tem o objetivo de transformar as necessidades de informações no negócio em um banco de dados. ▪ O projeto ocorre em três fases: Modelagem conceitual, Modelo lógico e Modelo físico. Página ▪ 5 Modelo conceitual ▪ Um modelo conceitual é uma descrição do banco de dados de forma independente de implementação em um SGBD. O modelo conceitual registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados a nível de SGBD. ▪ A técnica mais difundida de modelagem conceitual é a abordagem entidade-relacionamento (ER). Nesta técnica, um modelo conceitual é usualmente representado através de um diagrama, chamado diagrama entidade-relacionamento (DER). Página ▪ 6 Modelo lógico ▪ Um modelo lógico é uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Assim, o modelo lógico é dependente do tipo particular de SGBD que está sendo usado. ▪ Os vários modelos que vêm sendo desenvolvidos são classificados em três diferentes grupos: − Modelo lógico com base em objetos; − Modelo lógico com base em registros; − Modelo físico de dados Página ▪ 7 Modelo lógico ▪ Modelo lógico com base em objetos − Os modelos lógicos com base em objetos são usados na descrição de dados no nível lógico e de visões. São caracterizados por dispor de recursos de estruturas bem mais flexíveis e por viabilizar a especificação explicita das restrições de dados. − Alguns dos modelos mais conhecidos nessa categoria são: • Modelo Relacional • Modelo Orientado a objetos Página ▪ 8 Modelo lógico – com base em objetos ▪ Modelo Relacional − É utilizado largamente na prática. − É uma evolução do modelo Entidade-Relacionamento onde as entidades se tornam relações ou tabelas e os atributos se tornam campos destas tabelas com a inserção de tipagens, restrições, entre outras características a mais. − A maioria das aplicações comerciais são implementadas utilizando este modelo. − Exemplo: Página ▪ 9 Modelo lógico – com base em objetos ▪ Modelo Orientado a Objetos − Tem por base um conjunto de objetos e fundamentado no paradigma da programação orientada a objetos (POO). Representado através da UML. − Principais definições: • Classe – uma classe é a estrutura que abstrai um conjunto de objetos com características similares. Uma classe define o comportamento (modelo) de seus objetos através de métodos e os estados possíveis destes objetos através de atributos; em outras palavras, uma classe descreve os serviços providos por seus objetos e quais informações eles podem armazenar. • Objeto – Um objeto passa a existir a partir de um “molde ou modelo”. Este “molde”, definido como classe, define os limites, seus atributos suas funções. • Atributos – POO são os elementos que definem a estrutura de uma classe. Os atributos também são conhecidos como variáveis de classe. • Métodos – determinam o comportamento dos objetos de uma classe e são análogos às funções ou procedimentos da programação estruturada. Página ▪ 10 Modelo lógico – com base em objetos ▪ Observação: Na prática, evolui também para o Modelo Relacional (Modelo lógico baseado em registros), através do mapeamento Objeto- Relacional. Página ▪ 11 Modelo Lógico ▪ Modelo Lógico baseado em Registros − São usados para descrever os dados no nível lógico e de visão. São usados tanto para especificar a estrutura lógica do banco de dados quanto para implementar uma descrição de alto nível. − Possui um nível de abstração menor que os Modelos Lógicos com Base em Objetos. − São assim denominados porque o banco de dados é estruturado por meio de registros de tamanho fixo de todos os tipos (char, int, etc). − O uso de registros fixos simplifica a implementação do banco de dados no nível físico. − Podemos referenciar três modelos de dados com base em registros, são eles: • Modelo Hierárquico; • Modelo de rede e; • Modelo relacional (mais utilizado atualmente). Página ▪ 12 Modelo lógico – com base em registros ▪ Modelo Hierárquico − Trabalha com os dados e relacionamentos como uma coleção de registros relacionados por ligações. As ligações entre os registros pode ser chamadas links. Neste modelo os dados estão agrupados sob a forma de árvore. Cada registro é uma coleção de atributos (campos), cada um dos quais contendo somente uma informação; uma ligação é a associação entre dois registros. − Exemplo: • Em uma dada base de dados comercial, uma encomenda (registro) é de um único cliente. Página ▪ 13 Modelo lógico – com base em registros ▪ Modelo de rede − O modelo de rede representa os dados por coleções de registros e os relacionamentos entre eles são representados por links. Sendo um link uma associação entre exatamente dois registros. Sua organização se assemelha a do hierárquico, porém difere no sentido de que enquanto no hierárquico, cada registro filho pode ter apenas um registro pai, no modelo de rede, um registro filho pode ter vários registros pai, permitindo criar conexões mais complexas. Página ▪ 14 Modelo lógico – com base em registros ▪ Modelo Relacional − No modelo relacional o banco de dados é representado como uma coleção de relações. Pode-se pensa uma tabela como uma coleção de relações, onde cada linha representa um conjunto de dados relacionados entre si. Os dados de uma linha representam fatos do mundo real. Página ▪ 15 Modelo lógico – com base em registros ▪ Modelo Físico − É uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Assim, esse modelo depende do SGBD que esta sendo usado. − Aqui são detalhados os componentes de estrutura física do banco, como tabelas, campos, tipos de valores, índices, etc. − Neste estágio estamos prontos para criar o banco de dados propriamente dito, usando o SGBD preferido. Detalhamento de uma tabela Exemplo de tabelas em um BD Relacional Página ▪ 16 Linguagens de Acesso a um BD Relacionais - SQL ▪ Podemos dividir em duas categorias os tipos de linguagem oferecidas por um SGBD. Uma delas para expressar consultas e atualizações e outra específica para os esquemas do banco de dados. São elas: − Linguagem de definição de dados (DDL) – é um tipo de linguagem especial onde um esquema de dados é especificado por um conjunto de definições. Comandos que criam, alteram ou removem objetos. • CREATE, ALTER, DROP − Linguagem de manipulação de dados (DML) – envolve desde a recuperação de informações armazenadas no banco de dados, a inserção de novas informações, a remoção de informações do banco de dados, etc., tendocomo objetivo proporcionar uma interação eficiente entre usuários e máquina viabilizando o acesso ou a manipulação dos dados de forma compatível ao modelo de dados apropriado. Comandos responsáveis pela manipulação dos dados. • SELECT, DELETE, UPDATE e INSERT. Slide 1 Slide 2: Instâncias e Esquemas Slide 3: Instâncias e Esquemas Slide 4: Modelo de Dados Slide 5: Modelo conceitual Slide 6: Modelo lógico Slide 7: Modelo lógico Slide 8: Modelo lógico – com base em objetos Slide 9: Modelo lógico – com base em objetos Slide 10: Modelo lógico – com base em objetos Slide 11: Modelo Lógico Slide 12: Modelo lógico – com base em registros Slide 13: Modelo lógico – com base em registros Slide 14: Modelo lógico – com base em registros Slide 15: Modelo lógico – com base em registros Slide 16: Linguagens de Acesso a um BD Relacionais - SQL