Upload
clayton-chagas
View
218
Download
0
Embed Size (px)
DESCRIPTION
Aulas de banco de dados
Citation preview
Clayton Escouper das Chagas1
Pós-Graduação em Análise e Projetos de Sistemas
Disciplina: Banco de DadosProfessor: Clayton Escouper das Chagas
7ª aula
Clayton Escouper das Chagas2
7ª aulaIntrodução sobre SGBD’s de mercado e primeiro
trabalho final:
• Bancos de dados a serem utilizados nos trabalhos:• MySQL 5.0• Oracle 10g
Clayton Escouper das Chagas3
MySQL 5.0:• Qual o problema desse banco que é o mais rápido e leve do mercado?• Plataformas: Windows, MacOS, Linux, Unix, Netware• Porta padrão: 3306
PostgreSQL:• Banco robusto e rico em recursos• Comparável ao Oracle (versão gratuita com quase todas as suas funcionalidades)• Problemas de escalabilidade referente a sua manutenção de índices e dados excluídos (VACUUM)• Porta padrão: 5432
Clayton Escouper das Chagas4
HSQLDB:• Perfeito para ser utilizado com Java• Alta portabilidade e capacidade de ser utilizado embarcado• Não suporta grande escalabilidade de dados• Ótimo para aplicações leves e portáteis em Java
Oracle:• Empresa mais tradicional em banco de dados do mundo• 9 dos 10 maiores bancos de dados do mundo utilizam Oracle• Em franca expansão e sempre acompanhando as tendências tecnológicas, coisa que outras empresas antigas de SGBD’s deixaram para trás• Alto custo corporativo
Clayton Escouper das Chagas5
Trabalhos Finais:
• A turma deve ser dividida em grupos, sendo os mesmos do trabalho de modelagem de dados
• A máquina de cada grupo possui uma pasta com o SGBD, manuais e outros documentos necessários para que possamos instalá-lo, configurá-lo e executarmos o trabalho
• As tarefas serão cumpridas e avaliadas pelo professor uma a uma conforme os grupos forem executando-as
Clayton Escouper das Chagas6
Trabalho 1: MySQL Recursos Básicos e Avançados do MySQL:•Stored procedures•Views•Triggers•XA distributed transactions•Novos data types (BIT, true VARCHAR, ARRAY)•Consistência de tipos•Information schema•Server side cursors – Cursores no servidor•Backup on-line (InnoDB)•Replicação unidirecional e bidirecional•Full text search (máquina textual)•BLOB e outros data types convencionais•Integridade referencial / foreign key constraints (InnoDB, MaxDB e Cluster)•Table space (InnoDB)•Controle de transações (InnoDB e Cluster), multi – versões e transações ACID
Clayton Escouper das Chagas7
Trabalho 1: MySQL Recursos Básicos e Avançados do MySQL:•Vários níveis de isolamento (InnoDB e MaxDB)•UDF (user defined functions) •Controle de acesso por domínio•Clustering + Load balancing = High availability (alta disponibilidade)•Embeddable engine (servidor embutido)•Multiversioning, ACID transactions•Reconfiguração do servidor 'on the fly'•Query cache•Handler (navegação dos dados tipo ISAM)•On-line help no cliente MySQL padrão•Sub-select's•UNICODE•PREPARED STATEMENTS•GIS – open GIS•Conexão segura entre cliente e servidor com SSL
Clayton Escouper das Chagas8
Trabalho 1: MySQL
Características do MySQL:
•Rapidez•Facilidade de instalar, usar e administrar•Confiabilidade•Sistema de aviso e informação através de pacote de suporte – MySQL Network •Licença GPL (General Public License)
Site: http://www.mysql.com/
Clayton Escouper das Chagas9
Trabalho 1: MySQL Por que MySQL ?
•O MySQL se tornou o mais popular banco de dados open source do mundo
•Atualmente é usado em mais de 6 milhões de instalações em todos os continentes ( inclusive na Antártica ), que vão desde instalações em grandes corporações a específicas aplicações embarcadas
•O MySQL se tornou a escolha de uma nova geração de aplicações, que utilizam o modelo LAMP ( Linux, Apache, MySQL, PHP )
•O MySQL funciona em mais de 20 plataformas, incluindo Linux, Windows, HP-UX, AIX, Netware
Clayton Escouper das Chagas10
Trabalho 1: MySQL Linguagens de acesso ao MySQL:
•C, C++, Java•PHP, Python, Perl•Ruby•.NET, Oracle Forms, Microsoft ASP•Delphi, Kylix•LISP, Lasso, Pike, TCL, Guile, Rexx, Dylan, ....
Clayton Escouper das Chagas11
Trabalho 1: MySQL
Plataformas MySQL:
Threads Nativas:Windows (95, 98, 2000, XP)Linux (x86, PPC, SPARC)NetwareSun Solaris 2.5+, 32 e 64Apple MacOS XDEC True64 UnixBSDI 3+IBM OS/2SCO Unixware 7Silicon Graphics Irix 6.xHPUX 11+IBM AIX 4+QNXFreeBSD 3+OpenBSD, NetBSD;
Clayton Escouper das Chagas12
Trabalho 1: MySQL
Plataformas MySQL:
Threads Emuladas:
BSDI 2.xFreeBSD 2.xHP-UX 10NetBSD Intel e AlphaOpenBSD 2.xSun SunOS 4SCO OpenServerAmiga
* O MySQL foi desenvolvido desde o principio, em 2000, já com suporte a arquitetura 64 bits.* A arquitetura 64 bits é recomendada para quem possui mais de 4GB RAM
Clayton Escouper das Chagas13
Trabalho 1: MySQL
Beanchmark da Ziff Davis Media Inc., companhia da PC Magazine e da revista eletrônica eWeek
Clayton Escouper das Chagas14
Trabalho 1: MySQL
Beanchmark da Ziff Davis Media Inc., companhia da PC Magazine e da revista eletrônica eWeek
Clayton Escouper das Chagas15
Trabalho 1: MySQL
Arquitetura MySQL
Clayton Escouper das Chagas16
Trabalho 1 – MySQL:Tarefa 1 (DDL):• Crie as seguintes tabelas em seu bd, definindo as condições descritas abaixo: Fornecedor(Fcod, Fnome, Status, Cidade)Peca(Pcod, Pnome, Cor, Peso, Cidade)Projeto(Prcod, Icod, Prnome, Cidade)Fornecimento(Fcod, Pcod, Prcod, Quantidade)Instituicao(Icod, Inome)
• Nomes para restrições de chaves primárias e estrangeiras• Valor default para o atributo Status de Fornecedor• Todos os atributos de Peca não podem ser nulos• Ação de CASCADE em Fornecimento se Projeto for excluída• Qual tabela deve ser criada por último? Por que?
Clayton Escouper das Chagas17
Tarefa 2 (DDL):• Altere as tabelas anteriores conforme o esquema abaixo:Fornecedor(Fcod, Fnome, Status, Ccod, Fone)Cidade(Ccod, Cnome, uf)Peca(Pcod, Pnome, Cor, Peso, Ccod)Projeto(Prcod, Prnome, Ccod)Fornecimento(Fcod, Pcod, Prcod, Quantidade)
• Alterar o tamanho da coluna Fnome em Fornecedor• Apagar o valor default da coluna Status• Observe que a tabela Instituicao não existe mais
Clayton Escouper das Chagas18
Tarefa 3 - Consultas SQL (DML)1) Obter o número total de projetos fornecidos pelo fornecedor F1.
2) Obter a quantidade total de peças P1 fornecidas pelo fornecedor F1.
3) Obter o número de peça, o número de projeto e a quantidade total correspondente de todas as peças que são fornecidas para um projeto.
4) Obter o número de peças fornecidas a determinado projeto numa quantidade média superior a 320.
5) Obter quantos fornecedores fornecem a peça P2.
6) Obter o código, o nome e a cor das peças mais pesadas.
Clayton Escouper das Chagas19
Tarefa 3 - Consultas SQL (DML)7) Obter o código, o nome e a cidade das peças mais leves.
8) Usando a cláusula IN, obter os projetos que possuem fornecimento de peças de cor branca.
9) Usando a cláusula IN, obter os nomes de fornecedores com fornecimento de peças de código P14.