Baixe o app para aproveitar ainda mais
Prévia do material em texto
FACULDADE ANHANGUERA – UNIDADE CAMPINAS I TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO EM BANCO DE DADOS – ETAPA 01 ALUNO RA MÁRCIO DA SILVA BENAGES 7505571270 QUEMUEL SANTOS DE AQUINO 8309737322 ATIVIDADE PRÁTICA SUPERVISIONADA (ATPS) TUTOR: PROF. RICARDO AUGUSTO DA SILVA CAMPINAS, 20 DE AGOSTO DE 2014. SUMÁRIO Introdução .............................................................................................................3 Pesquisa Sobre Consultas SQL e Comandos DML ..................................................3 Efetuando Consultas SQL …...................…............................................................9 Elaborar os Comandos DDL …...............................................................................7 Relatório …...…......................................................................................................8 Referências Bibliográficas …................................................................................11 2 INTRODUÇÃO A empresa de desenvolvimento de software chamada Microsys XYZ S.A. está projetando um novo produto a ser lançado. Este novo software chamado SIG – Sistema Integrado de Gerenciamento 1.0 irá atender a diversas empresas que precisam de um sistema para controlar suas operações de vendas, controle de estoque, funcionários e demais atividades. Nos Passos e Etapas a seguir, estaremos falando um pouco sobre os conceitos de base de dados, comandos para manipular dados e recursos que poderemos utilizar para atender o cliente em questão. PESQUISA SOBRE CONSULTAS SQL E COMANDOS DML Abaixo estaremos falando sobre os conceitos de bancos de dados, seu gerenciamento, consultas, modelos de dados, entre vários outros tópicos importantes que coletamos durante nossa pesquisa. - Conceitos Fundamentais: Como todos sabemos, os Bancos de Dados (BDs) fazem parte de nosso dia-a-dia e são amplamente encontrados em atividades diversas, tais como: Operações bancárias, matrículas nas universidades, reservas em hotéis, controles de estoque e vídeo locadoras, comércio eletrônico, entre vários outros. Segundo Korth, um banco de dados "é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico", ou seja, sempre que for possível agrupar informações que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados. Já um SGBD é um software que possui recursos capazes de manipular as informações do banco de dados e interagir com o usuário. Para entender melhor o que é um SGBD, é necessário saber que um banco de dados é um espaço onde dados ou informações estão alojados de forma organizada. Uma agenda, uma lista telefônica, um dicionário podem perfeitamente ser tratados como um banco de dados 3 pelo fato de que possuem uma quantidade relevante de informações dispostas de maneira “gerenciável”. Na área da informática, esse conceito é utilizado para que as entradas e saídas de um programa possam ser bem aproveitadas, utilizando-se uma estrutura que organize dados e informações que possam ser facilmente recuperados. Existem vários tipos de SGBDs, tais como o Oracle, SQL Server, DB2, PostgreSQL, MySQL, o próprio Access ou Paradox, entre outros. Abaixo falaremos um pouco mais sobre eles. Podemos conceituar um sistema de banco de dados como o conjunto de quatro componentes básicos: dados, hardware, software e usuários. Abaixo ilustramos tais componentes através de uma imagem. Quem nunca trabalhou com Banco de Dados poderá fazer a seguinte pergunta: Se posso organizar minhas informações manualmente, porque devo trabalhar com um SGBD? A resposta é simples: 4 O objetivo de um sistema de banco de dados é o de isolar o usuário dos detalhes internos do banco de dados (promover a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar independente da aplicação, a estratégia de acesso e a forma de armazenamento. Resumindo: O SGBD poderá lhe fornecer maior segurança, facilidade de acesso às informações e deverá te dar vantagens ao extrair informações exatas em curto espaço de tempo. - Principais Vantagens: Existem diversas ferramentas no mercado que permitem administrar uma base de dados de acordo com as necessidades de um modelo de negócio. As mais conhecidas são: Microsoft SQL Server, Oracle, DB2, PostgreSQL, MySQL e o Firebird. Veja abaixo algumas das vantagens em se utilizar um SGBG: - Controle de redundância dos dados; - Controle de acesso (segurança); - Armazenamento persistente dos dados; - Existência de múltiplas interfaces para os usuários; - Representação de relacionamentos complexos entre os dados; - Manutenção de restrições de integridade; - Compartilhamento dos Dados; - Execução e Recuperação de Backups; - Recuperação de falhas. Como já sabemos, cada SGBD tem sua particularidade, mas o MySQL e o Firebird além de serem gratuitos, são multiplataforma, de fácil instalação, seguros, confiáveis e amplamente usados no Brasil. - Definições de SGBD: Podemos definir um Sistema de Gerenciamento de Banco de Dados (SGBD) como um software projetado para auxiliar a criar, manter e atualizar os dados do banco de dados. Eles 5 possuem particularidades distintas que são essenciais para quem efetua administração, tais como: - permitir que o usuário crie novas bases de dados e especifique seu esquema (estrutura lógica dos dados), usando uma linguagem especializada chamada data definition language – DDL. - oferecer ao usuário a capacidade de consultar (query) os dados de uma base de dados e modificá-los, usando uma linguagem apropriada frequentemente chamada de query language ou data manipulation language. - suportar o armazenamento de grande quantidade de dados por longos períodos de tempo, mantendo os dados seguros de acidentes e acesso não autorizado e garantindo acesso eficiente aos dados através de consultas e modificações à base de dados. - controlar os acessos simultâneos aos dados de tal forma a evitar que ações de um usuário afete outros e que haja corrupção acidental dos dados. - Abstração dos dados: O sistema de banco de dados (SBD) deve prover uma visão abstrata de dados para os usuários, isolando detalhes mais internos do BD. A abstração se dá em três níveis: - Nível físico (também chamado de “Esquema interno”), é o nível mais baixo de abstração. Descreve como os dados estão realmente armazenados, englobando estruturas complexas de baixo nível. - Nível conceitual (ou lógico): conhecido também como “Esquema Conceitual”, descreve quais os dados estão armazenados e seus relacionamentos. Neste nível, o BD é descrito através de estruturas relativamente simples, que podem envolver estruturas complexas no nível físico. - Nível de visões do usuário: é o nível externo, descrevendo partes do BD que serão visualizadas pelos usuários de acordo com suas necessidades. Uma visão é um subconjunto de dados do BD, sem que exista a necessidade de estarem armazenados no BD. 6 Para facilitar nosso entendimento, podemos observar a imagem a seguir: A arquitetura de três níveis além de prover a abstração de dados, provê também a independência lógica e física dos dados. Uma independência lógica possui a capacidade de mudar o esquema conceitual sem a necessidade de modificar programas da aplicação e esquemas externos, enquanto que a física tem a capacidade de mudar o esquema interno sem a necessidade de alterar os esquemas conceitual e externo. O acréscimo de uma informação num esquema conceitual é um exemplo de independência lógica e a reorganizaçãofísica dos arquivos e a criação de estruturas de acesso adicionais são exemplos de independência física. Agora que sabemos um pouco sobre os SGBs e a finalidade da base de dados, vamos falar sobre a linguagem SQL e as formas que utilizamos para efetuar pesquisas e operações. - Subconjuntos do SQL: A linguagem SQL é composta por inúmeros comandos, os quais são agrupados da seguinte maneira: - Comandos que definem dados; - Comandos que manipulam dados; - Comandos de controle de dados. Algumas literaturas adicionam outras subdivisões, mas conforme solicitado na documentação vamos nos ater somente as citadas acima. 7 - DML - Data Manipulation Language: Depois que você criou suas tabelas, definiu relacionamentos, índices e etc., é hora de manipular seus dados; os comandos SQL que MANIPULAM dados são os populares SELECT, INSERT, UPDATE e DELETE. Em inglês esses comandos são chamados de Data Manipulation Language o que explica a abreviação DML. Veja alguns exemplos: SELECT - recuperar dados do banco de dados INSERT - inserir dados em uma tabela UPDATE - atualiza os dados existentes em uma tabela DELETE - exclui registros de uma tabela Em algumas literaturas o comando SELECT não é considerado um comando de manipulação de dados, sendo enquadrado na categoria DQL (Data Query Language). - DDL - Data Definition Language: Quando você cria um banco de dados, ele inicialmente está “vazio”; antes de começar a consultar e alterar dados é preciso definir onde e como as informações serão gravadas dentro do novo banco; então você cria diversas tabelas explicitando o tipo de dados de cada campo, as chaves estrangeiras, os índices, as regras e etc. Estes comandos de criação e alteração de estrutura são os comandos de DEFINIÇÃO dos dados, pois definem como os dados serão armazenados; em inglês são chamados de: Data Definition Language (DDL). Logo, quando falamos em comandos do tipo DDL estamos falando de comandos do tipo: CREATE, ALTER ou DROP; comandos que criam, alteram ou excluem objetos como tabelas, procedures, índices, relacionamentos e etc. Veja alguns exemplos: CREATE - para criar objetos no banco de dados ALTER - altera a estrutura da base de dados TRUNCATE - remover todos os registros de uma tabela, incluindo todos os espaços alocados para os registros são removidos COMMENT - adicionar comentários ao dicionário de dados RENAME - para renomear um objeto 8 - DCL - Data Control Language: Com o banco de dados pronto e rodando é importante definir quem poderá acessá-lo, enfim, precisamos definir a segurança do seu banco. Em inglês, os comandos responsáveis pelo controle dos dados são chamados de Data Control Language (DCL). Os comandos GRANT e REVOKE fazem parte deste grupo. GRANT - atribui privilégios de acesso do usuário a objetos do banco de dados REVOKE - remove os privilégios de acesso aos objetos obtidos com o comando GRANT Como pudemos ver acima, a linguagem SQL é constituída de diferentes tipos de comandos e estes comandos são agrupados em três categorias principais, sendo: comandos DDL as instruções que definem estruturas de armazenamento dos dados; DML os comandos que manipulam os dados e DCL os comandos que controlam o acesso aos dados. Durante as atividades a seguir, estaremos trazendo exemplos práticos relacionados a linguagem SQL, facilitando nosso entendimento e praticidade na execução dos mesmos. EFETUANDO CONSULTAS SQL Como a maioria dos sistemas, o nosso também necessita guardar seus dados, e para isso deverá fazer uso de um banco de dados. Então, conforme solicitado na documentação, estaremos criando uma base de dados com as informações solicitadas, efetuando consultas nas mesmas, de forma que possamos cumprir o que foi solicitado. Antes de iniciar nossas atividades, vamos criar a base de dados no Banco de Dados MySQL (conforme imagem a seguir): Com o banco de dados criado, vamos agora iniciar os cadastros de nossas tabelas: 9 - Selecionando Informações da Tabela Clientes: Na documentação foi solicitado para exibir os campos: nome, cidade, UF, idade, gênero. Os registros devem estar ordenados por nome. Filtros da consulta: cidade. Antes de cadastrarmos os registros, vamos criar a tabela Clientes com os campos acima descritos (conforme imagem a seguir): Para inserção de registros na tabela Clientes, vamos executar também na linha de comando várias inserções, como as descritas abaixo: INSERT INTO Clientes (id, nome, cidade, uf, idade, genero) VALUES (1, 'Marcelo Rezende','Valinhos','SP','25','Masculino'); INSERT INTO Clientes (id, nome, cidade, uf, idade, genero) VALUES (2, 'Marta Rocha','Cabreuva','SP','23','Feminino'); INSERT INTO Clientes (id, nome, cidade, uf, idade, genero) VALUES (3, 'Karina Campos','Indaiatuba','SP','12','Feminino'); Após efetuar inserção dos registros acima na base de dados, vamos finalmente executar o select, trazendo no mesmo os registos dos campos nome, cidade, uf, idade e gênero, executando filtro por cidade (conforme imagem a seguir): 10 - Selecionando Informações da Tabela Funcionários: Na documentação foi solicitado para efetuarmos consulta na tabela Funcionarios, exibindo os campos nome, cargo, idade, data de admissão e valor da comissão, sendo os registros ordenados por cargo e filtrados por ativo. Antes de cadastrarmos os registros, vamos criar a tabela Funcionarios com os campos acima descritos (conforme imagem a seguir): Para inserção de registros na tabela Funcionarios, vamos executar também na linha de comando várias inserções, como as descritas abaixo: INSERT INTO Funcionarios(id, nome, cargo, idade, data_admissao, valor_comissao, status) VALUES(1, 'Marcio Campos', 'Vendas', '23', '2003-05-25', '10%', 'ativo'); INSERT INTO Funcionarios(id, nome, cargo, idade, data_admissao, valor_comissao, status) VALUES(2, 'José Joventino', 'Aux. Escritório', '24', '2003-02-15', '10%', 'ativo'); INSERT INTO Funcionarios(id, nome, cargo, idade, data_admissao, valor_comissao, status) VALUES(3, 'Joana Silva', 'Aux. de Conservação', '45', '2003-06-16', '1%', 'ativo'); INSERT INTO Funcionarios(id, nome, cargo, idade, data_admissao, valor_comissao, status) VALUES(4, 'Carla Valente', 'Analista de Sistemas', '25', '2003-02-22', '0%', 'ativo'); INSERT INTO Funcionarios(id, nome, cargo, idade, data_admissao, valor_comissao, status) VALUES(5, 'Amanda Soares', 'Motorista', '54', '2003-01-12', '0%', 'ativo'); INSERT INTO Funcionarios(id, nome, cargo, idade, data_admissao, valor_comissao, status) VALUES(6, 'Stefany Souto', 'Ouvidoria', '34', '2003-05-25', '10%', 'ativo'); Após efetuar inserção dos registros acima na base de dados, vamos finalmente executar o select, exibindo os campos nome, cargo, idade, data de admissão e valor da comissão, sendo os registros ordenados por cargo e filtrados por ativo. 11 FIZ ATÉ AQUI ELABORAR OS COMANDOS DDL ESSE PASSO AINDA NÃO FOI ELABORADO RELATÓRIO ESSE PASSO AINDA NÃO FOI ELABORADO REFERÊNCIAS BIBLIOGRÁFICAS - ELMASRI, Ramez; NAVATHE, Shamkant (orgs.). Sistemas de Banco de Dados. 4a ed. Rio de Janeiro: Pearson - Addison Wesley, 2005. - HEUSER, Carlos Alberto. Projeto de Banco de Dados. 6a ed. Porto Alegre: Bookman, 2009. - DATE, C. J. Introdução a Sistemas de Bancos de Dados. 8a ed. Rio de Janeiro: Campus - Elsevier, 2004. 12 SUMÁRIO
Compartilhar