Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Introdução Nossas vidas são gerenciadas por enormes bases de dados. Quando vamos, por exemplo, realizarmos um saque no caixa eletrônico de um banco, o sistema do equipamento tem que acessar as informações de agencia, numero da conta, senha e saldo disponível. Estas informações, na realidade dados, necessitam de gerenciamento eficiente e confiável que permita sua rápida recuperação e atualização. É exatamente este o grande objetivo dos Sistemas de Banco de dados. Desenvolvimento de sistemas informatizados O desenvolvimento de Sistemas informatizados de uso comercial ao longo do tempo: SISTEMAS TRADICIONAIS SISTEMAS DE BANCO DE DADOS Nos Sistemas Tradicionais os dados são armazenados em arquivos que estão fisicamente armazenados, separados uns dos outros. O acesso é feito pelos programas de aplicação, utilizando o nome externo dos arquivos e definindo todo o registro, independente da utilização dos campos. Nos Sistemas de Banco de Dados os dados são definidos para o Sistema Gerenciador de Banco de Dados (SGBD), através da DDL (linguagem de definição de dados). Fisicamente estão armazenados em um único local, e o acesso só se realiza através do SGBD. Nos programas de aplicação, é necessário apenas definir os campos a serem utilizados pelo programa. Sistemas tradicionais A abordagem de bancos de dados ao gerenciamento de dados surgiu devido a problemas associados com a abordagem tradicional do gerenciamento de dados como: redundância, dificuldades de acesso, integridade e problemas de segurança. Um banco de dados é uma coleção de dados organizados de tal forma que possam ser acessados e utilizados por muitas aplicações diferentes. Ou seja, em vez de armazenar dados em arquivos separados para utilização, os dados são armazenados e organizados em um só local permitindo compartilhamento e inter-relacionamento por múltiplos usuários. A fim de usar a abordagem de banco de dados para o gerenciamento de dados, foi necessário um software adicional – um sistema de gerenciamento de banco de dados (SGBD). O SGBD consiste em um grupo de programas que pode ser usado como uma interface entre o banco de dados e um usuário ou um banco de dados e um programa aplicativo. Com o passar do tempo, essas aplicações e arquivos independentes podem proliferar a ponto de os recursos de informações da empresa ficarem fora de controle. Isso muitas vezes resulta em: Trata-se da duplicação dos mesmos dados em dois ou mais arquivos. O problema com a redundância é que as mudanças ao serem feitas no arquivo de uma aplicação não são automaticamente realizadas nos arquivos das outras aplicações, gerando a falta de integridade dos dados. Os aplicativos tradicionais de banco de dados de arquivos são caracterizados pela dependência entre programas e dados, isto é, programas e dados desenvolvidos e organizados para uma aplicação são incompatíveis com os programas e dados organizados diferentemente para um outro aplicativo. 2 Resultam da criação, documentação e acompanhamento de muitos arquivos e aplicações diferentes 3 4 5 Esquemas e instancias Em qualquer modelo de dados utilizado, é importante distinguir a “descrição” do banco de dados do “banco de dados” por si próprio. A descrição de um banco de dados é chamada de “esquema de um banco de dados” e é especificada durante o projeto do banco de dados. Geralmente, poucas mudanças ocorrem no esquema do banco de dados. Os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de “instância do banco de dados”. A instância altera 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 ao esquema do banco de dados, respeitando sua estrutura e suas restrições. Modelos de dados Visando facilitar o desenvolvimento de sistemas e realçar as vantagens da utilização de Sistemas de Banco de Dados foi criada a Arquitetura Três Esquemas, cuja principal meta é separar as aplicações do usuário do banco de dados físico. Os esquemas podem ser definidos como: 6 7 Modelo relacional 8 9 Você pode visitar sites de SGBD como: Oracle. SqlServer. Postgresql. MySql. 10 Além disso você pode pesquisar na internet sites, vídeos e artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os recursos disponíveis no ambiente de aprendizagem. Aula 03: Sql Parte 1 – Create Table e DML Instalação e configuração do SGBD Oracle 10G Express Visando tornar nossas aulas de SQL as mais práticas possíveis, utilizaremos o Oracle 10G Express. Para isso, é importante que você faça o download do SGBD e realize sua instalação no computador que irá utilizar para seu estudo. A parte inicial de nossa aula será, então, dedicada a essa tarefa. Mãos a obra. O Oracle é o SGBD líder de mercado. A Versão 10G Express é free, podendo ser utilizada tanto para estudo quanto para desenvolvimento de aplicativos. Suas limitações são: - Utilizar no máximo 1GB de memória. - Não dar suporte a multprocessamento - Limitar o tamanho dos arquivos de dados a 4 GB. Apesar de já estar disponível a versão 11G Express, optamos pela 10G, devido a algumas instabilidades relatadas em fórum no release 11G , quando instalado no Win7. 11 12 13 14 Preparando o SGBD Oracle 10G Express. Uma vez instalado o Oracle, vamos agora aprender a acessá-lo e criar um usuário para o nosso curso. Para acessar a interface de Administração do Oracle 10G, temos dois caminhos: Digitar http://localhost:8080/apex em um browser como o Internet Explorer ou Firefox, ou Selecionar Ir para Home Page de Banco de Dados no menu de programas (ver figura). 15 Será aberta no browser, então, a interface de administração de SGBD. Preencha no Nome do Usuário System e na senha, aquela que foi definida por você na instalação do banco, no caso do nosso exemplo Manager. A seguir, clique em login. Teremos acesso, então, à página inicial de administração. Clique, então, em administração. 16 Na próxima tela, clique em Usuários do BD. Estamos, agora ,na tela da administração de Usuário. Clique, agora, em Criar. 17 Iremos, agora, criar o usuário que utilizaremos em nossas aulas. Em nome do usuário, escreva AULABD Em senha, coloque uma senha de sua escolha. Como exemplo, iremos utilizar Estácio. A seguir, mantenha selecionado CONNECT e RESOURCE e selecione, ainda, CREATE SEQUENCE e CREATE VIEW. Finalmente, clique em Criar. Retornamos, então, à tela de administração de usuários. Note que o usuário AULABD foi criado. Clique, então, em logout, para sair. 18 Agora você está desconectado. Se desejar fazer um novo login, basta clicar no link destacado na figura. Agora que já instalamos e criamos o usuário AULABD, vamos começar nosso estudo da Linguagem SQL. SQL quer dizer Structured Query Language e é o padrão mundial de acesso às bases de dados relacionais. Partes da SQL DDL Create, Alter, Drop, Rename, Truncate Permitem a criação e definição de objetos como tabelas, views e outros objetos no banco de dados. DRL Select É o comando mais comum do SQL. Utilizado amplamente para recuperação dos dados de uma base. DML Insert, Delete, Update Comandos de manipulaçãodos dados. Usados nas aplicações que mantêm a base de informações com inserções, atualizações e deleções de dados. DCL 19 Grant, Revoke São utilizados para atribuir ou remover direitos de acesso a objetos do banco de dados e suas estruturas. CONTROLE DE TRANSAÇÕES Commit, Rollback, Savepoint Faz parte do padrão SQL a efetivação total, parcial ou o abandono de uma transação através da utilização destes comandos. CRIAÇÃO DE TABELAS Iniciaremos nosso Estudo pelo Comando de Criação de Tabelas A tabela é a forma básica de armazenamento de informações em um sistema gerenciador de banco de dados relacional e, por isso, deve conter um conjunto de elementos, alguns opcionais, na sua composição e que são: 20 Acrescentando Colunas em Tabelas 21 22 Mais Constraints Até agora utilizamos apenas as constraints NOT NULL e PRIMARY KEY, vejamos agora as Constraints UNIQUE e FOREIGN KEY. CAMPOS UNICOS Esta constraint determina que uma coluna não pode ter valor repetido; não significando, entretanto, que deva possuir valor, ou seja, que tenho preenchimento obrigatório. Isso significa que podemos ter mais uma linha nula em uma coluna única. Para estabelecer essa restrição, estabelecemos UNIQUE como restrição da coluna, por exemplo: CPF char(11) UNIQUE, 23 Vejamos um exemplo de criação de Tabela utilizando estas restrições. Observe o comando, de sua análise podemos observar que: • A coluna ID é sua chave primaria; • As colunas ULT_NOME e PRIM_NOME são de preenchimento obrigatório; • A coluna CPF é única; • A coluna ID_DEPTO é uma chave estrangeira para a tabela departamento; • A coluna ID_GERENTE é uma chave estrangeira para a própria tabela empregado, que se originou de uma autorelacionamento na modelagem conceitual. 24 Execute o comando no ORACLE. Observe a mensagem de tabela criada. Vamos conferir como ficou a estrutura da tabela. De o comando DESCRIBE EMPREGADO. 25 Renomeando tabelas É possível trocar o nome de uma tabela através do comando RENAME. Sua sintaxe é bem simples, conforme mostrada abaixo: Renomeando a Tabela TURMAS. RENAME TURMAS TO NOVATURMA. Execute o comando no ORACLE. Observe a mensagem de INSTRUÇÃO PROCESSADA. 26 27 Exercícios de fixação Faremos agora alguns exercícios de fixação dos camandos de Tabelas. A mecânica do exercício será a seguinte: Será apresentada para você a solicitação da tarefa. No local apropriado, você deverá escrever o comando que atende. A seguir, clique em solução e compare o seu comando com a solução apresentada. A seguir, clique em próximo e passe para o exercício seguinte. Prontos? Mãos a obra. 28 29 30 31 32 33 34 35 Você pode visitar sites,como: http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt onde encontrará a especificação da SQL2 http://www.oracle.com/pls/db10g/portal.portal_demo3?selected=1 onde encontrará a documentação completa do SGBD Oracle 10g. Além disso, você pode pesquisar na internet sites, vídeos e artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor on line, utilizando os recursos disponíveis no ambiente de aprendizagem. Aula 04: Sql Parte 2 - SELECT uma tabela Modelo de Dados Visando tornar as aulas o mais prática possível daremos todos os exemplos utilizando o banco de dados de um empresa que é composto de 3 tabelas: Empregado. Cliente. Departamento. 36 Para criar o banco de dados que utilizaremos em nossas aulas iremos executar o script AULAIMPBD disponível na biblioteca da disciplina. É importante que você executado o script antes de iniciar aula, pois desta forma poderá acompanhar os exemplos e executar os exercícios de fixação. Pretendemos, desta forma, tornar a aula o mais interativa possível, recomendamos fortemente, portanto, que ao realizarem esta aula estejam conectados ao ORACLE e executem os comandos para ver o resultado Como precisamos criar o banco e executar o script iremos agora aprender a fazer esta atividade. Existem pelos menos duas formas diferentes de executar um script no Oracle 10G Express, pela interface gráfica (via browser) ou pela linha de comando. Como a interface gráfica, dependendo da configuração do Windows pode dar algum problema optamos, nesta disciplina, por utilizar a interface de linha de comando. 37 Para acionar esta interface entre no menu de programas e selecione Executar Linha de Comandos SQL. 38 A clausula SELECT Lista as colunas que serão recuperadas. Se utilizarmos o artifício do * (asterisco) na cláusula SELECT, estaremos definindo que todas as colunas serão recuperadas. A clausula FROM Define a tabela que será recuperada. 39 40 41 42 43 44 45 46 47 48 49 50 51 52 Clique aqui e baixe o script AULAIMPBD. http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt onde encontrará a especificação da SQL2 http://www.oracle.com/pls/db10g/portal.portal_demo3?SELECTed=1 onde encontrará a documentação completa do SGBD Oracle 10g. Além disso você pode pesquisar na internet sites, vídeos e artigos relacionados ao conteúdo visto. Se ainda tiver alguma dúvida, fale com seu professor online utilizando os recursos disponíveis no ambiente de aprendizagem. Aula 05: Sql Parte 3 – FUNÇÕES DE GRUPO E ORDENAÇÃO 53 54 55 56 57 Funções de grupos Funções de grupo operam sobre conjuntos de linhas. Elas retornam resultados baseados sobre um grupo de linhas, antes que um resultado por linha tenha retornado como uma função de linha única. Como padrão todas as linhas de um tabela são trilhadas como um grupo. A clausula GROUP BY da declaração do SELECT é usada para agrupar as linhas em menores grupos. Na linguagem sql possuímos as seguintes funções de grupo: AVG (x) Retorna o valor médio da coluna x. Exemplo: AVG (salario) Ignora os valores nulos. MAX (x) Retorna o valor máximo da coluna x. Exemplo: MAX (salario) Ignora os valores nulos. MIN (x) Retorna o valor mínimo da coluna x. Exemplo: MIN (salario) Ignora os valores nulos. SUM (x) Retorna a soma da coluna x. Exemplo: SUM (salario) Ignora os valores nulos. COUNT (x) Retorna o número de valores não nulos da coluna x. Exemplo: COUNT (perc_comissao) COUNT (* ) Retorna o número de linhas de uma tabela. Exemplo: COUNT (*) Considera os valores nulos. 58 59 60 Aqrupando os resultados da Querv Outro recurso do comando SELECT é a possibilidade de agruparmos nossos dados, utilizando a cláusula GROUP BY. Sintaxe: SELECT nome da coluna [ , nome da coluna] FROM nome da tabela WHERE condição GROUP BY expressão Onde: expressão especifica as colunas cujos valores determinam a base para o grupo de linhas; group by produzuma linha sumarizada para cada grupo de linhas selecionado. Após utilizarmos a cláusula GROUP BY para dividir as linhas de uma tabela em um grupo menor. Funções de grupo devem ser usadas para resumir informações por cada grupo. Por exemplo se desejamos saber a quantidade de empregados, a média salarial e o valor da folha salarial de cada departamento da empresa qual seria o comando? 61 62 63 64
Compartilhar