• Nenhum resultado encontrado

DesenvBD 01 introducao

N/A
N/A
Protected

Academic year: 2021

Share "DesenvBD 01 introducao"

Copied!
14
0
0

Texto

(1)Desenv. Banco de Dados: Introdução. Material de apoio – Notas de aula. Desenvolvimento em Banco de Dados Introdução Sistemas de Informação. Uninove Prof. André Luís P. Santos andre.santos@uninove.br 2011 1. Roteiro da apresentação • • • • •. Conteúdo da disciplina: visão geral Arquiteturas e ambientes: sistemas e BD Principais características de um SGBDR Linguagem SQL: histórico Subconjuntos da linguagem SQL. 2. Uninove - Prof. André Santos. 1.

(2) Desenv. Banco de Dados: Introdução. Conteúdo programático – visão geral • Introdução: SGBD Relacionais e Linguagem SQL – Conceitos básicos – Histórico. • Comandos SQL-DDL – tabelas – – – – –. Criação de tabelas Constraints: PK, FK, UK, not null, check Alteração de tabelas Eliminar tabelas Renomear tabelas. 3. Conteúdo programático – visão geral • Comandos SQL-DML – Inserir, atualizar e excluir linhas – Operadores e funções – Consultas • • • • •. Projeção, seleção, ordenação Agrupamentos Consultas aninhadas (sub-queries) Junções (joins) Conjuntos: união, intersecção, subtração. – Controle de transações. 4. Uninove - Prof. André Santos. 2.

(3) Desenv. Banco de Dados: Introdução. Conteúdo programático – visão geral • Comandos SQL-DDL – outros objetos – Visões (views) – Índices – Sequences. • Outros recursos – visão geral – PL/SQL: triggers, stored procedures, etc. – Conexão de aplicações ao SGBD. 5. Arquiteturas e ambientes Ambiente Mainframe MAINFRAME (computador de grande porte). TERMINAIS “BURROS” (monitor de vídeo, teclado e interface de comunicação). PROGRAMAS APLICATIVOS (processamento ). B.D. (arquivos ) 6. Uninove - Prof. André Santos. 3.

(4) Desenv. Banco de Dados: Introdução. Arquiteturas e ambientes Ambiente Mainframe • Vantagens: – Altíssimo poder de processamento, confiabilidade e segurança.. • Desvantagens: – Alto custo (inclusive de infra-estrutura). – Pouca flexibilidade.. 7. Arquiteturas e ambientes Servidor de Arquivos em Rede Local SERVIDOR DE ARQUIVOS na Rede Local (basicamente armazenamento). MICROCOMPUTADORES (estações de trabalho com processamento dos aplicativos) PROGRAMAS APLICATIVOS (processamento ). B.D. (arquivos ). 8. Uninove - Prof. André Santos. 4.

(5) Desenv. Banco de Dados: Introdução. Arquiteturas e ambientes Servidor de Arquivos em Rede Local • Vantagens: – – – –. Baixo custo. Não necessita de infra-estrutura tão cara. Flexibilidade. Facilidade no desenvolvimento de aplicações.. • Desvantagens: – Alto tráfego de rede (problemas de desempenho). – Baixa confiabilidade e pouca tolerância a falhas. – Integridade de dados não garantida pelo servidor: dependente das aplicações do “lado cliente”.. 9. Arquiteturas e ambientes. Arquitetura Cliente/Servidor (2 camadas) SERVIDOR DE BANCO DE DADOS na Rede Local. SGBD (software dedicado ). MICROCOMPUTADORES (estações de trabalho com processamento dos aplicativos) PROGRAMAS APLICATIVOS (processamento ). B.D. (arquivos ) 10. Uninove - Prof. André Santos. 5.

(6) Desenv. Banco de Dados: Introdução. Arquiteturas e ambientes. Arquitetura Cliente/Servidor (2 camadas). • 2 camadas (two tier). • Vantagens: – Redução do tráfego de rede (otimização dos recursos e melhor desempenho). – Grande confiabilidade e tolerância a falhas. – Integridade de dados garantida pelo servidor.. • Desvantagens: – Custo um pouco mais alto, se comparado com o ambiente de aplicações com servidor de arquivos: • Investimento na máquina servidora • Licenças de software (SGBD). – Desenvolvimento de sistemas aplicativos mais sofisticados: necessita de mão-de-obra mais especializada. 11. Arquiteturas e ambientes. Arquitetura Cliente/Servidor (3 camadas). SERVIDOR DE BANCO DE DADOS. SGBD. B.D. (arquivos). SERVIDOR DE APLICAÇÃO (regras de negócio). PROGRAMAS APLICATIVOS (processamento ). MICROCOMPUTADORES (estações de trabalho com pouco processamento) INTERFACE COM USUÁRIO (G.U.I.). COMPONENTES (rotinas centralizadas ). 12. Uninove - Prof. André Santos. 6.

(7) Desenv. Banco de Dados: Introdução. Arquiteturas e ambientes. Arquitetura Cliente/Servidor (3 camadas) •. Características – 3 camadas (three tier): – Camada de interface com o usuário (apresentação) – Camada de aplicação (regras de negócio) – Camada de dados (persistência) – SGBD.. •. Vantagens: – Em comparação com a arquitetura em 2 camadas, oferece uma melhor organização (e melhor gerenciamento) através da centralização das regras de negócio.. •. Desvantagens: – Custo mais alto: • Investimento em mais máquinas servidoras • Licenças de software (SGBD) e do(s) softwares que dão suporte ao servidor de aplicação. OBS.: Porém, teoricamente, o custo pode ser mais baixo, caso o parque de estações de trabalho seja constituído por microcomputadores de menor valor (thin clients)— já que essa arquitetura não exige grande capacidade de processamento nas máquinas-cliente dos usuários.. – Desenvolvimento de sistemas aplicativos mais sofisticados: necessita de mão-de-obra bem mais especializada. 13. Arquiteturas e ambientes. Arquitetura em “n” camadas (multi-tier). • Variações, normalmente com divisão (especialização) da camada de aplicação: – – – – •. Camada de interface com o usuário (apresentação) Servidor de apresentação – exemplo: servidor Web. Camada de aplicação (regras de negócio) Camada de dados (persistência) – SGBD.. Exemplo: Arquitetura “Java Enterprise” (J2EE), com um servidor de aplicação Java (“EJB container”).. 14. Uninove - Prof. André Santos. 7.

(8) Desenv. Banco de Dados: Introdução. Principais características de um SGBD Relacional • • • • • •. Segurança de acesso Integridade de dados Controle de transações Acesso multi-usuário Tolerância a falhas Suporte a uma linguagem de consulta e manipulação de dados • Independência física e lógica de dados • Dicionário de dados (“metadados”). 15. Principais características de um SGBD Relacional • As “12 Regras de Codd” – O Dr. Edgard F. Codd (1923-2003), criador da teoria de banco de dados relacional (1968), propôs um conjunto de 12 regras (1985), às quais um banco de dados relacional “ideal” deveria atender. – Na prática, mesmo os mais avançados SGBDR’s não chegam a estar 100% em conformidade com todas as 12 regras.. 16. Uninove - Prof. André Santos. 8.

(9) Desenv. Banco de Dados: Introdução. SGBD Relacional: 12 Regras de Codd 1.. Dados em tabelas (“relações” bidimensionais = linhas e colunas): conformidade com o Modelo Relacional ─ incluindo o dicionário de dados do BD.. 2.. Garantia de acesso aos dados através da referência de nome da tabela + valor da chave primária + nomes das colunas.. 3.. Tratamento de valores nulos: “nulos” (isto é, ausência ou indefinição de valor) devem ser suportados, independente dos domínios (tipos de dados) definidos para os atributos.. 4.. Dicionário de dados (“catálogo” do BD), ativo, também disponível em tabelas (modelo relacional): contém os “metadados”.. 5.. Atualização em alto nível: possibilidade de manipular grupos de registros ao mesmo tempo.. 17. SGBD Relacional: 12 Regras de Codd 6.. Linguagem de tratamento de dados, com suporte a: • • • • •. definição de estruturas e manipulação de dados, com possibilidade de utilização em programas aplicativos definição de visões restrições de integridade definições de acesso controle de transações. 7.. Independência física: alterações na forma de armazenamento, ou métodos de acesso, físico dos dados não devem implicar mudanças nas aplicações.. 8.. Independência lógica: alterações nas estruturas do BD (tabelas, campos), que não envolvam remoção de elementos, não devem implicar mudanças nas aplicações.. 9.. Capacidade de atualizar visões, refletindo de forma transparente nas respectivas tabelas. 18. Uninove - Prof. André Santos. 9.

(10) Desenv. Banco de Dados: Introdução. SGBD Relacional: 12 Regras de Codd 10.. Integridade de dados: regras de integridade definidas através de uma linguagem suportada e armazenadas no dicionário de dados ─ e garantidas independente dos programas de aplicação.. 11.. Independência de distribuição: arquiteturas de rede e plataformas e distribuição ou centralização do banco de dados não devem afetar a manipulação de dados e funcionalidade disponíveis às aplicações.. 12.. Segurança e controle de acesso: se o sistema oferecer uma linguagem de mais baixo-nível, não deverá permitir ultrapassar as regras de integridade e mecanismos de segurança.. 19. Linguagem SQL: breve histórico • SQL (Structured Query Language – linguagem de consulta estruturada) • É a linguagem utilizada em praticamente todos os bancos de dados relacionais. • Foi desenvolvida pela IBM em meados dos anos 70. • Contudo o primeiro SGBD, lançado no mercado, com uma implementação da linguagem SQL, em 1979, foi o Oracle (na época a empresa chama-se Relational Software). • Inicialmente era denominada “SEQUEL” (lê-se “sicôl”) (que ainda é uma forma de pronúncia da sigla SQL, em inglês).. 20. Uninove - Prof. André Santos. 10.

(11) Desenv. Banco de Dados: Introdução. Linguagem SQL: breve histórico • Em 1986, o American National Standards Institute (ANSI) definiu um padrão para a linguagem SQL, homologando-a para trabalhar com bancos de dados relacionais. – Sendo depois também aceito pelo International Standards Organization (ISO).. •. Em 1992 foi publicado o ANSI SQL-92, também conhecido como SQL2, um dos padrões mais difundidos.. • A SQL-99 (SQL3), de 1999, que entre outras coisas, define o tratamento de objetos complexos. • Em 2003, o padrão (SQL:2003) incorporou o tratamento de XML.. 21. Linguagem SQL: breve histórico •. Embora seja um padrão de fato, há diferenças nas implementações dessa linguagem nos vários SGBD’s no mercado.. •. Ou seja, cada fabricante de software cria extensões (com sintaxes, funções, recursos, etc.) específicos de seus sistemas, formando diferentes “dialetos” e “versões” da linguagem.. •. É possível escrever aplicações utilizando apenas o SQL padrão ANSI (com os comandos comuns à maioria dos SGBD’s).. •. Porém, na prática, muitas vezes faz-se uso das sintaxes proprietárias para aproveitar recursos específicos ou conseguir um melhor desempenho.. 22. Uninove - Prof. André Santos. 11.

(12) Desenv. Banco de Dados: Introdução. Linguagem SQL: características básicas • As queries (consultas) da SQL têm uma semelhante à linguagem natural (em inglês).. estrutura. • As instruções de manipulação de dados sempre trabalham com tabelas e/ou retornam resultados em forma de tabelas (com linhas e colunas). • É uma linguagem não-procedural, isto é, as sentenças em SQL declaram a tarefa a ser realizada (“o que”) sem a necessidade de especificar os procedimentos passo-a-passo que o sistema deve seguir para executá-la (“como”). • Independência física dos dados e dispositivos: não especifica o método de acesso aos dados e nem como estão armazenados (os SGBD’s possuem um “otimizador” que se encarrega de a maneira de recuperar os dados). 23. Subconjuntos da linguagem SQL. Os comandos da linguagem SQL podem ser divididos em grupos: • DML (Data Manipulation Language) – manipulação de dados (conteúdo das tabelas).. • DDL (Data Definition Language) – definição de estruturas e objetos.. • DCL (Data Control Language) – para controle da base de dados. 24. Uninove - Prof. André Santos. 12.

(13) Desenv. Banco de Dados: Introdução. Subconjuntos da linguagem SQL: DML. • DML (data manipulation language) – Englobam os comandos que correspondem às quatro funções essenciais de manipulação de dados: • Inclusão: inserir linhas em tabelas – comando INSERT • Atualização: de dados em tabelas – comando UPDATE • Exclusão: de linhas das tabelas – comando DELETE • Recuperação (consulta): retornar dados – comando SELECT. – Inclui também comandos para controle de transação: • Comandos COMMIT e ROLLBACK, entre outros.. 25. Subconjuntos da linguagem SQL: DDL. • DDL (data definition language) – Para definição de estruturas e objetos do banco de dados. – Principais comandos: • Criação – comando CREATE • Alteração – comando ALTER • Eliminação – comando DROP. 26. Uninove - Prof. André Santos. 13.

(14) Desenv. Banco de Dados: Introdução. Subconjuntos da linguagem SQL: DDL. • DCL (data control language) – Para controle da base de dados: basicamente controle de acesso e direitos de usuários. – Principais comandos: • Conceder privilégios – comando GRANT • Revogar privilégios – comando REVOKE. 27. Subconjuntos da linguagem SQL Visão geral dos principais comandos, conforme a categoria:. DDL CREATE ALTER DROP. DML INSERT UPDATE DELETE. RENAME. SELECT. TRUNCATE. COMMIT ROLLBACK. DCL GRANT REVOKE. 28. Uninove - Prof. André Santos. 14.

(15)

Referências

Documentos relacionados

As principais indicações para a realização foram a suspeita de tuberculose (458 pacientes) e uso de imunobiológicos (380 pacientes).. A maior prevalência de resultado positivo

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

Changes in the gut microbiota appears to be a key element in the pathogenesis of hepatic and gastrointestinal disorders, including non-alcoholic fatty liver disease, alcoholic

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Resumo: O presente trabalho corresponde a um estudo empírico descritivo e exploratório que aborda comportamentos e falas de atores políticos que participaram do processo legislativo

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de