19
Clayton Escouper das Chagas 1 Pós-Graduação em Análise e Projetos de Sistemas Disciplina: Banco de Dados Professor: Clayton Escouper das Chagas 7ª aula

Aula 7 BD POS UGF

Embed Size (px)

DESCRIPTION

Aulas de banco de dados

Citation preview

Page 1: Aula 7 BD POS UGF

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

Page 2: Aula 7 BD POS UGF

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

Page 3: Aula 7 BD POS UGF

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

Page 4: Aula 7 BD POS UGF

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

Page 5: Aula 7 BD POS UGF

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

Page 6: Aula 7 BD POS UGF

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

Page 7: Aula 7 BD POS UGF

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

Page 8: Aula 7 BD POS UGF

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/

Page 9: Aula 7 BD POS UGF

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

Page 10: Aula 7 BD POS UGF

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, ....

Page 11: Aula 7 BD POS UGF

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;

Page 12: Aula 7 BD POS UGF

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

Page 13: Aula 7 BD POS UGF

Clayton Escouper das Chagas13

Trabalho 1: MySQL

Beanchmark da Ziff Davis Media Inc., companhia da PC Magazine e da revista eletrônica eWeek

Page 14: Aula 7 BD POS UGF

Clayton Escouper das Chagas14

Trabalho 1: MySQL

Beanchmark da Ziff Davis Media Inc., companhia da PC Magazine e da revista eletrônica eWeek

Page 15: Aula 7 BD POS UGF

Clayton Escouper das Chagas15

Trabalho 1: MySQL

Arquitetura MySQL

Page 16: Aula 7 BD POS UGF

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?

Page 17: Aula 7 BD POS UGF

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

Page 18: Aula 7 BD POS UGF

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.

Page 19: Aula 7 BD POS UGF

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.