Baixe o app para aproveitar ainda mais
Prévia do material em texto
MODELAGEM DE DADOS – AULA 2 Prof. Daniel Silos – 7ª Edição dsilos@live.estacio.br 2017 Daniel Silos – dsilos@live.estacio.brUNESA 20172 Arquiteturas Centralizada e Cliente-Servidor • SGBD Centralizado: combina tudo em um único sistema incluindo o software do SGBD, hardware, programas de aplicações e um software de interface com o usuário. Daniel Silos – dsilos@live.estacio.brUNESA 20173 Arquitetura Física Centralizada Arquitetura Física Centralizada Fonte: Sistemas de Banco de Dados – Elmasri / Navathe – Pearson - 8ª Edição Pág. 30 Daniel Silos – dsilos@live.estacio.brUNESA 20174 Mudanças – Arquitetura Cliente-Servidor •Servidores especializados com funções específicas: • Servidores de Arquivos • Servidores de Impressão • Servidores Web • Servidores de E-mail Daniel Silos – dsilos@live.estacio.brUNESA 20175 Clientes: • Fornece interfaces apropriadas e uma versão cliente do sistema para acessar e utiliza os recursos do servidor. • Possíveis combinações: • Máquinas sem discos • PCs ou estações de trabalho com discos com somente softwares de clientes instalados. • Conexão aos servidores por meio de alguma forma de rede (LAN: local area network, wireless network, etc.) Daniel Silos – dsilos@live.estacio.brUNESA 20176 BD– Arquitetura Cliente-Servidor • Componentes lógicos de uma aplicação: – Lógica da Interface – Lógica do Negócio – Lógica dos Dados • Possíveis tipos de implementação: – Cliente Gordo (interface e Negócio) e Servidor Magro (Dados) – Cliente Magro (Interface) e Servidor Gordo (Negócio e Dados) – Solução Mista: Distribuindo o negócio entre o Cliente e Servidor Daniel Silos – dsilos@live.estacio.brUNESA 20177 Arquitetura Cliente-Servidor de duas camadas • Programas de interface de usuário e programas de aplicações rodam do lado do cliente. • Interface chamada ODBC (Open Database Connectivity) que fornece um programa de aplicação de interface (API) permitindo aos programas do lado do cliente chamarem o SGBD. A maioria dos fabricantes de SGBD oferecem drivers ODBC. Daniel Silos – dsilos@live.estacio.brUNESA 20178 Arquitetura Cliente-Servidor de duas camadas • Um programa cliente pode se conectar a diversos SGBDs. • Outras variações de clientes são possíveis, por exemplo: em alguns SGBDs um conjunto maior de funcionalidades é transferido aos clientes, incluindo funções de dicionários de dados, otimização e recuperação através de múltiplos servidores, etc. Em tais situações, o servidor pode ser chamado de Servidor de Dados (Data Server). Daniel Silos – dsilos@live.estacio.brUNESA 20179 Arquitetura Cliente / Servidor lógica em duas camadas. Fonte: Sistemas de Banco de Dados – Elmasri / Navathe – Pearson - 8ª Edição Pág. 30 Daniel Silos – dsilos@live.estacio.brUNESA 201710 Arquitetura Cliente / Servidor física em duas camadas. Fonte: Sistemas de Banco de Dados – Elmasri / Navathe – Pearson - 8ª Edição Pág. 30 Daniel Silos – dsilos@live.estacio.brUNESA 201711 Arquitetura Cliente / Servidor de três ou N camadas • Comum em Aplicações Web (Web Apps) • Camada intermediária chamada Servidor de Aplicações ou Web Server: • armazena o software de conectividade com a web e as regras e lógica de negócios (restrições) parte da aplicação utilizada para acessar a quantidade certa de dados do servidor de banco de dados. • age como um canal para envio de dados parcialmente processados entre o servidor de banco de dados e o cliente. Características adicionais – Segurança: • criptografa os dados no servidor, antes da transmissão • descriptografa dados no cliente. Daniel Silos – dsilos@live.estacio.brUNESA 201712 Arquitetura Cliente / Servidor lógica de três camadas, com algumas nomenclaturas comumente utilizadas. Fonte: Sistemas de Banco de Dados – Elmasri / Navathe – Pearson - 8ª Edição Pág. 32 Daniel Silos – dsilos@live.estacio.brUNESA 201713 Classificação de Banco de Dados • Baseado no modelo de dados utilizado: • Tradicionais: Relacional, Redes, Hierárquico. • Emergentes: Orientado a objetos, Objeto- Relacional. • Outras Classificações: • Monousuário (tipicamente utilizado com microcomputadores) vs. multiusuários (Maioria dos SGBDs). • Centralizado (utiliza um único computador com a base de dados) vs. Distribuído (utiliza múltiplos computadores e múltiplas bases de dados) Daniel Silos – dsilos@live.estacio.brUNESA 201714 Modelos de Dados • Modelo de dados: Um conjunto de conceitos que descrevem a estrutura de um BD e certas restrições que devem ser obedecidas. • Operações em Modelos de Dados: Especificam consultas de BD e atualizações referentes aos conceitos do modelo de dados. – Operações no modelo de dados • Básicas • Definidas pelo usuário Daniel Silos – dsilos@live.estacio.brUNESA 201715 Categorias de modelos de dados Conceitual (alto nível, semântico): Fornece conceitos que são próximos da maneira como muitos usuários percebem os dados. (Também chamado de modelo de entidade ou modelo de objetos) . • Físico (baixo nível, interno): Fornece conceitos que descrevem como os dados são armazenados no computador. • Implementação (representativos): Fornece conceitos que se situam entre os dois acima, equilibrando visões dos usuários com alguns detalhes de armazenamento no computador. Daniel Silos – dsilos@live.estacio.brUNESA 201716 O Modelo de Entidade e Relacionamento • O MER é o modelo conceitual mais difundido. • Neste modelo, o mundo real consiste de uma coleção de objetos básicos chamados entidades e os relacionamentos entre estes objetos. • Uma entidade é um objeto que é distinguível de outros objetos por um nome e conjunto específico de atributos. Daniel Silos – dsilos@live.estacio.brUNESA 201717 O Modelo de Entidade e Relacionamento • Um conjunto de entidades é o conjunto de todas as entidades do mesmo tipo • Um relacionamento é uma associação entre entidades • O conjunto de todas as relações do mesmo tipo é um conjunto de relacionamentos • Uma coisa legal sobre esse modelo é que você pode representar a estrutura lógica de um banco de dados graficamente, usando um diagrama de Entidade e Relacionamento (DER). Daniel Silos – dsilos@live.estacio.brUNESA 201718 Exemplo de Diagrama de Entidade e Relacionamento (DER) Daniel Silos – dsilos@live.estacio.brUNESA 201719 O Modelo de Dados Relacional • Níveis Conceitual, Lógico e Físico • Visão Lógica -> Tabelas e nada mais do que tabelas. • Principal vantagem: Independência de Dados Física e Lógica. • É importante lembrar que no modelo relacional, você visualiza dados como sendo dispostos em tabelas, com linhas e colunas. Cada coluna tem um nome único. Cada linha é um registro. Daniel Silos – dsilos@live.estacio.brUNESA 201720 O Modelo Orientado a Objetos • O modelo OO é um modelo de dados de representação mais fácil de mapear o mundo real (alto nível de abstração). • É semelhante ao MER, baseado em uma coleção de objetos, todavia os objetos são concebidos de forma diferente • O mundo real é composto por uma coleção de objetos chamados de objetos, que armazenam ambos valores de dados e código operando sobre esses valores Daniel Silos – dsilos@live.estacio.brUNESA 201721 O Modelo Orientado a Objetos • O modelo OO é um modelo de dados de representação mais fácil de mapear o mundo real (alto nível de abstração). • É semelhante ao MER, baseado em uma coleção de objetos, todavia os objetos são concebidos de forma diferente • O mundo real é composto por uma coleção de objetos chamados de objetos, que armazenam ambos valores de dados ecódigo operando sobre esses valores Daniel Silos – dsilos@live.estacio.brUNESA 201722 O Modelo Orientado a Objetos • O BD é chamado de BDO - Banco de Dados de Objeto (anteriormente chamado de BDOO) • Os Sistemas de BD são conhecidos como sistemas de gerenciamento de dados de objeto (SGDO) (anteriormente conhecidos como SGBDO ou SGBDOO). Daniel Silos – dsilos@live.estacio.brUNESA 201723 BDO – Banco de Dados de Objeto • Exemplos de áreas em que ele foi utilizado: – Projetos de Engenharia e Manufatura (CAD / CAM e CIM); – Experimentos científicos – Telecomunicações – Sistemas de Informações Geográficas – Multimídia Daniel Silos – dsilos@live.estacio.brUNESA 201724 Sistema de Banco de Dados Objeto-Relacional – SGBD similar a um SGBDR, mas com um modelo de dados orientado a objetos com objetos, classes e heranças diretamente suportados por esquemas de bases de dados e na linguagem de consulta. Objetivo Básico: – Fornecer uma ponte na lacuna existente entre o modelo de dados relacional e as técnicas de modelagem utilizadas pelas linguagens de programação orientadas a objetos (paradigma dominante de mercado) Daniel Silos – dsilos@live.estacio.brUNESA 201725 Evolução da linguagem SQL • Criada por Chamberlin e Boyce em 1974 • Passou por melhorias e padronizações em 1989 e 1992. • Em 1999, inicialmente chamada de SQL3 é conhecida como SQL:99 para as partes da SQL3 que foram aprovadas no padrão. – Incorporação de recursos de banco de dados de objetos ao padrão (Inicialmente SQL/Object, atualmente SQL/Foundations). • SQL:2003 (Inclusão de XML) • SQL:2008 Daniel Silos – dsilos@live.estacio.brUNESA 201726 Outros Modelos Representacionais • A maioria dos modelos representacionais são baseados em armazenamento de registros. Em um modelo de registro, dados são estruturados em registros de formato fixo. • Cada disco tem um número fixo de campos, e cada campo tem geralmente um comprimento fixo. Daniel Silos – dsilos@live.estacio.brUNESA 201727 Outros Modelos Representacionais • Dois modelos antigos baseados em registros, o modelo de rede e o modelo hierárquico, não são mais usados para construir novos sistemas. Eles usam ponteiros, ou ligações hard-coded, para conectar os registros de um BD. Daniel Silos – dsilos@live.estacio.brUNESA 201728 Definições • Esquema de Banco de Dados : A descrição de um BD. Inclui descritores da estrutura do BD e as restrições que devem reger sobre o BD. • Diagrama de Esquema: Uma exposição diagramática de (alguns aspectos de) um esquema de base de dados. • Construtor do esquema: Um componente do esquema ou um objeto dentro de um esquema. Ex: Aluno, Curso, etc. • Instância do BD : o dado real armazenado em um BD em um momento no tempo particular. Também chamado de estado ou instante do BD (ou ocorrências). Daniel Silos – dsilos@live.estacio.brUNESA 201729 Exemplo de diagrama de esquema de um banco de dados. Fonte: Sistemas de Banco de Dados – Elmasri / Navathe – Pearson - 8ª Edição Pág. 21 Daniel Silos – dsilos@live.estacio.brUNESA 201730 Outra forma comum de se apresentar o Esquema de um Banco de Dados: Daniel Silos – dsilos@live.estacio.brUNESA 201731 Mais outra forma comum de se apresentar o Esquema de um Banco de Dados: TipoImovel (CodTipoImovel, NomeTipoImovel) Imovel (Registro, Descricao, Tamanho, NumQuartos, NumBanheiros, NumVagasGaragem, CodTipoImovel) Anuncio (CodAnuncio, DataAnuncio, ValorAnunciado, CodImovel) Cliente (CodCliente, Pnome, Snome, UF, StatusCliente, Tel, Email) Aluguel (CodAluguel, DataAluguel, Periodo, ValorDiaria, CodCliente, CodAnuncio, CodImovel) Daniel Silos – dsilos@live.estacio.brUNESA 201732 Esquema do BD Versus Estado do BD • Estado: Refere-se ao conteúdo de um BD em um momento específico no tempo. • Estado Inicial do BD: Refere-se ao BD quando ele sofre sua carga. • Estado Válido: Um estado que satisfaz a estrutura e restrições do BD. • Distinção • O esquema do BD muda muito infrequentemente. O estado do BD muda cada vez que o BD é atualizado. • Esquema é também chamado de intenção, enquanto estado é chamado de extensão. Daniel Silos – dsilos@live.estacio.brUNESA 201733 Quais são os atuais padrões de mercado? • SGBDR – Ex: MySQL. • SBDOR – Ex: Oracle, DB2, PostgreSQL e SQL Server. Daniel Silos – dsilos@live.estacio.brUNESA 201734 E quando se programa de OO para o desenvolvimento para Web e é necessário utilizar um SGBDR, o que fazer? • Dado os problemas gerados entre o descasamento existente entre os principais SGBDs relacionais e objetos relacionais e os principais métodos de desenvolvimento de sistemas que utilizam o paradigma de orientação a objetos, alguns frameworks vem sendo desenvolvidos para facilitar a vida dos programadores. Daniel Silos – dsilos@live.estacio.brUNESA 201735 Exemplo de Framework – Hibernate • Realiza um mapeamento objeto-relacional. • Isola as linguagens de programação orientadas a objetos, livrando o programador de ter de saber e mexer diretamente no SGBD. • Utiliza uma linguagem baseada em SQL chamada HQL que possui elementos de Orientação a Objetos. – Linguagens suportadas pelo Hibernate • Java • .NET (chamado de Nhibernate) Daniel Silos – dsilos@live.estacio.brUNESA 201736 Exercícios de revisão • Qual a diferença entre Cliente Gordo e Cliente Magro? • Qual a diferença entre Servidor Gordo e Servidor Magro? • O que é um servidor de aplicações? • Qual a diferença entre o modelo de dados relacional e o objeto relacional? • Quais os principais SBDOR? • Para que é utilizado um framewok como o Hibernate? Daniel Silos – dsilos@live.estacio.brUNESA 201737 • Bibliografia – ELMASRI, R.; NAVATHE, S., Sistemas de Banco de Dados. Pearson Education do Brasil, 6ª.Ed 2011, Capítulos 2 e 11.
Compartilhar