15 Conceitos de Bancos de Dados com o LibreOffice Base - PDF
Download "15 Conceitos de Bancos de Dados com o LibreOffice Base"
Marina da Costa Padilha
1 Introdução a Informática - 1º semestre AULA 14 Prof. André Moraes Objetivos desta aula: Explorar as propriedades na criação de bancos de dados no LibreOffice Base; Criar e explorar tabelas; Criar e explorar formulários; Importar informações de planilhas de dados; 15 Conceitos de Bancos de Dados com o LibreOffice Base O Base é um software da família dos SGBDR (Sistemas Gerenciadores de Banco de dados Relacionais), e é o atual concorrente do Microsoft Access, da Microsoft. A medida que as informações de uma empresa crescem, a tendência da administração começar a se dividir em departamentos e setores. Cada departamento deve gerenciar as informações pertinentes a sua área e pode acontecer o que podemos chamar de redundância (repetição) de arquivos. O mais comum de se começar a utilizar um banco de dados é através do armazenamento de cadastros ou de um controle de estoque. Normalmente estes tipos de arquivos costumam ser gerenciados por aplicativos comuns como o Calc e o Excel. Uma tarefa comum de se realizar é a importação destes dados para que sejam convertidos para um banco de dados e utilizados dentro do gerenciador COMPONENTES DE UM BANCO DE DADOS Os dados são vistos como grandes tabelas de dados. No Calc, por exemplo, são manipulados como se fossem tabelas com linhas e colunas. A diferença é que para cada grupo de informações teremos uma tabela diferente, ou seja, caso desejarmos armazenar informações de uma loja de locação de filmes, por exemplo, teremos: Cadastro de Filmes Pág 138
2 Um cadastro como este é um tanto pequeno, mas à medida que os dados são inseridos os dados tornam-se difíceis de serem controlados. Daí passa a ser interessante o uso de um Sistema Gerenciador de Banco de dados, onde o gerenciamento das informações é muito mais dinâmico para quando temos uma quantidade maior de informações. Vejamos os principais aspectos de um banco de dados: COMPONENTES DE UM BANCO DE DADOS Componente Tabela Campos Registros Chave Primária Descrição Matriz bidimensional onde as colunas são os campos e as linhas são os registros. Representa o nome da respectiva coluna onde serão armazenadas as informações. Representam cada linha armazenada na tabela contendo todas as suas colunas. Normalmente consiste em cada informação sobre o assunto o qual a tabela estiver armazenando. Consiste em um campo onde é inserida uma informação individual para um registro, normalmente é utilizada alguma informação como um código, um CPF, etc. Vejamos os seguintes passos para a elaboração de um banco de dados básico: PASSO 1: Criando o primeiro Banco de Dados Base Logo ao acessar o LibreOffice Base, será solicitado ao usuário da criação do banco de dados. Algumas opções estarão disponíveis como abrir um arquivo de banco de dados existente ou criar um novo banco de dados. Outras opções estarão disponíveis, porém para a criação de um banco de dados novo é necessário começar criando o banco de dados e em seguida a criação das tabelas. Escolhemos criar novo, Pág 139
3 Em seguida é visualizada a tela inicial do Base: PASSO 2: Criando a primeira tabela no modo assistente A criação de tabelas é a principal tarefa na construção de um banco de dados robusto. Normalmente é feito um planejamento inicial antes de realizar tal tarefa. Para a abordagem feita pela unidade curricular não será necessário nenhum projeto para esta construção, abordaremos apenas os procedimentos de criação e manipulação dos dados. Pág 140
4 A primeira forma explorada de criar uma tabela é acessando o assistente de tabelas, o qual nos ajudará a realizar tal tarefa: Note que temos os passos a serem seguidos localizados na parte esquerda da tela, os mesmos serão seguidos a cada vez que clicarmos em avançar. Nesta etapa, escolheremos quais campos (colunas) irão compor a tabela que estamos criando. O Base tenta sugerir campos comuns a qualquer tabela, neste caso escolheremos a categoria Pessoal /DVDColecao: Note que é possível selecionar quais campos irão compor a tabela a ser criada, os campos podem ser selecionados e movidos para a coluna da direita, tentaremos reproduzir o arquivo Calc que foi criado anteriormente e clicaremos avançar. Pág 141
5 No próximo passo, como os campos irão armazenar informações, escolheremos o tipo de dado que irão armazenar e também algumas outras configurações que são importantes para campos de banco de dados. Em seguida, definimos a chave primária que irá compor a tabela. Escolheremos um campo existente na tabela, pois escolhemos um campo IDcolecao para desempenhar a tarefa de ser a chave primária: Marcamos também a caixa de verificação Valor automático, em seguida clicamos Avançar: Pág 142
6 Após a criação da tabela, veremos na tela principal a tabela que foi criada imediatamente. Se deixarmos os campos e as opções como estão, veremos que a tabela será aberta para a inserção de informações. Este modo não é muito amigável ao usuário, pois não é feito para inserir dados diretamente, mas será muito semelhante ao modo de inserção de dados do Calc. Pág 143
7 PASSO 4: Inserindo informações na tabela no modo de inserção. Este modo é apenas para a inserção informal de informações, visto que não é normalmente utilizado pelo usuário. Uma maneira de interagir com a inserção de dados é através da criação de formulários CRIANDO UM FORMULÁRIO Formulários são uma maneira eficiente de apresentar ao usuário uma interface amigável para a inserção e/ou modificação dos dados existentes nas tabelas. A principal funcionalidade de um formulário é oferecer ao usuário botões, caixas, listagens visuais, enfim, tudo o que puder ser apresentado visualmente ao usuário com uma interface amigável. Criaremos um formulário a partir da tabela tabela_filmes para o exemplo apresentado: PASSO 3: Criando o primeiro formulário para interação com as informações da tabela_filmes: Na primeira etapa é necessário selecionar os campos integrantes no formulário. Pág 144
8 Este procedimento normalmente é realizado com base no assistente de criação, visto que não é viável uma criação manual de formulários simples de dados em um banco com várias tabelas. Nesta etapa, é disponibilizada a opção de configurar um sub-formulário. Normalmente utilizado para inserir informações que sejam cruzadas entre as tabelas do banco, passaremos direto por esta etapa sem alterações. Neste passo faremos a orientação visual das caixas que irão compor o formulário, escolha um layout e o Base fará a disposição dos dados diretamente no formulário. Pág 145
9 Aqui podemos definir se o formulário irá permitir o acesso a todas as informações da referida tabela: Nesta etapa é escolhida a interface visual do formulário: Pág 146
10 Por fim, inserimos o nome do formulário e encerramos a criação. Chamaremos o formulário de form_filmes. A criação de formulários é útil para que seja possível interagir com as informações do banco de dados. Muitas funcionalidades podem ser incluídas além de simplesmente inserir informações na tabela referente. Pág 147
11 15.3 GERANDO RELATÓRIOS Relatórios são utilizados para apresentar listagens de informações contidas nas tabelas de dados do banco de dados. Os relatórios permitem que os dados possam ser organizados em ordem alfabética, agrupados por tipos de informações e com o acréscimo de detalhes que tornam a visualização das informações mais interessante para uma melhor análise dos dados. PASSO 4: Criando o primeiro relatórios para a listagem das informações da tabela_filmes: Geraremos um relatório para teste em nossa base de dados: O relatório será gerado através do assistente: Inicialmente é apresentado a opção da escolha da origem das informações a serem listadas, escolheremos a tabela que criamos anteriormente. Pág 148
12 Em seguida é apresentada a opção para a personalização dos rótulos dos campos que aparecem na listagem do relatório, normalmente os nomes originais dos campos não são interessantes de manter, o mais comum é alterar os nomes que são apresentados para nomes mais amigáveis ao usuário. Aqui mostramos os nomes escolhidos para os campos. Em seguida são apresentadas opções para agrupamento de informações, por exemplo, poderíamos agrupar os filmes por gênero para serem listados como exemplo filmes de terror, suspense, etc. Pág 149
13 Escolheremos agrupar por gênero para deixar uma listagem mais real. Em seguida, é possibilitada a escolha de alguma ordenação além da ordenação obrigatória já existente no agrupamento que fizemos anteriormente: Em seguida, é apresentada a opção da escolha do visual das informações, onde escolhemos a maneira que os dados são vistos pelo usuário: Pág 150
14 Desta vez, escolhemos o modelo Esboço-Moderno para ser apresentado. Por fim, escolheremos o nome do relatório e concluímos a sua criação: Visualizando as informações: Pág 151
15 Note que os dados estão agora organizados pelo seu gênero e também em ordem alfabética de nome. Pág 152
16 Introdução a Informática - 1º semestre AULA 16 Prof. André Moraes Objetivos desta aula: Explorar as propriedades na criação de bancos de dados no LibreOffice Base; Criar e explorar relatórios de tabelas únicas e de tabelas vinculadas; 15.4 UTILIZANDO CONSULTAS NO LIBREOFFICE BASE Consultas são um dos recursos mais importantes na utilização de um banco de dados, elas permitem que seja possível que o software gerenciador de banco de dados (SGBD) possa interagir com as informações das tabelas e recuperar as informações disponíveis relacionadas em tabelas que foram criadas em cada base. No estudo das funcionalidades do broffice Base, temos 3 formas de realizar a criação de consultas: A partir do editor: onde é utilizada a grade QBE para a geração dos campos e condições da consulta; A partir do assistente: onde é utilizado um assistente auxiliando a seleção de tabelas e a criação das condições; A partir do editor SQL: onde é aberto um editor livre permitindo utilizar a Structured Qurery Language (SQL). Para os exemplos deste material, foi criado um banco de dados loja, contendo inicialmente a tabela com o nome de funcionário, com os seguintes campos e informações: Tabela funcionário com os seus campos: Pág 153
17 CONSULTAS VIA ASSISTENTE Para criar uma consulta com base no assistente, é possível adotar uma quantidade razoável de funcionalidades em consultas, limitada às opções disponíveis do SGBD. A seguir é detalhada a criação de uma consulta com uso do assistente. Exemplo 1: Criando uma nova consulta com base no assistente: O assistente facilita bastante a criação de consultas, neste exemplo faremos uma listagem do nome e da cidade de todos os funcionários oriundos da tabela funcionário. Passo 1: crie uma nova consulta utilizando o assistente; Passo 2: Selecione a tabela a ser consultada e os campos nome e cidade; Passo 3: selecione a classificação e também a ordem em que as informações ficarão na listagem; Passo 4: Em condições de pesquisa, não utilizaremos nenhuma alteração e nem Alias, e passamos diretamente ao resumo da consulta e finalizaremos a mesma, salve a consulta como consulta_funcionario_assistente_1: Pág 154
18 E teremos a consulta gerada da forma solicitada. Passaremos a sugerir algumas alterações: Agora testaremos algumas funcionalidades: Alteração 1: Crie outra consulta no assistente listando apenas o nome e a cidade dos funcionários da cidade de pelotas. Alteração 2: Crie outra consulta no assistente listando nome, endereço e cidade, classificando por cidade e onde a cidade não é pelotas. OBSERVAÇÕES: Podemos perceber que o assistente de consultas é bastante ágil dentro das opções existentes e permite realizar diversas maneiras de consultas, inclusive com parâmetros de busca ou filtro. Pág 155
19 CRIANDO CONSULTAS COM USO DO EDITOR Além do assistente, outra forma de criaremos consultas é através do editor. O editor utiliza um sistema de consulta no sistema Query By Example (QBE), detalhado a seguir: Query-By-Example é o nome tanto da linguagem de manipulação de dados quanto do sistema de banco de dados que a contém. O sistema de banco de dados QBE foi desenvolvido pela IBM, no Centro de Pesquisa T.J. Watson, no início de A linguagem de manipulação de dados QBE foi usada mais tarde na Query Management Facility (QMF, da IBM). Atualmente, alguns sistemas de banco de dados para computadores pessoais dão suporte a variantes da linguagem QBE, que possui alguns características: Ao contrário da maioria das linguagens de programação por consulta, a QBE tem uma sintaxe bidimensional: as consultas parecem tabelas. Uma consulta em uma linguagem unidimensional, como o SQL, pode ser escrita em uma linha. Uma linguagem bidimensional exige duas dimensões para sua expressão. Consultas em QBE são expressas por exemplo. Em vez de determinar um procedimento para obtenção de uma resposta desejada, o usuário dá um exemplo do que é desejado. O sistema generaliza o exemplo para o processamento da resposta da consulta, por exemplo a tela a seguir: Figura 4 - Grade QBE no BrOffice Base No Libreoffice, a grade mostrada anteriormente é um exemplo de uma consulta desenvolvida no modo editor. O Base permite o modelo QBE para a realização de consultas, caso o usuário desejar. Caso quiséssemos realizar a mesma consulta feita para funcionários realizada anteriormente, podemos montar no seguinte formato: Exemplo 1: Listando o nome e a cidade dos funcionários da cidade de pelotas: Passo 1: abrimos uma nova consulta no editor: Passo 2: selecionamos a tabela e os campos desejados na consulta e posicionamos na grade: Pág 156
20 Passo 3: execute a consulta, observando o ícone (versões BrOffice e LibreOffice): Visualizando a consulta referida. OBSERVAÇÕES: Neste modo, é possibilitado editar consultas após terem sido criadas, adicionando novos campos, novas tabelas, etc. O modo editor é o mais utilizado em relação ao assistente pela clareza nas informações utilizadas, este também permite o uso de funções e demais funcionalidades. O editor pode alternar a qualquer momento para a edição em linguagem SQL, permitindo visualizar o código gerado. Para interagir com o modo de edição SQL é necessário conhecer a notação SQL para a criação de consultas, que está fora do escopo de nosso estudo atualmente. Pág 157
21 UTILIZANDO RELACIONAMENTOS Na criação de bancos de dados, uma das regras primordiais é que as tabelas não são criadas para trabalharem de forma isolada. Na realidade as tabelas trabalham relacionando-se umas com as outras e sendo consultadas simultaneamente quando é necessário retornar uma informação. A regra básica utilizada em bancos de dados é a álgebra relacional, uma linguagem de consulta formal, porém procedimental, onde é possível darmos instruções ao sistema para que sejam realizadas uma sequência de operações calculando o resultado desejado. Por ora, precisamos apenas saber que a relação entre duas tabelas dá-se com a criação de um campo identificador que se relacionará com outro campo identificador de outra tabela. Um exemplo prático para esta situação seria o seguinte: Se observarmos, a tabela funcionário criada anteriormente possui um campo cidade, onde é escrito o nome da cidade correspondente; Sabemos que desta forma, é muito provável que algumas cidades com nomes maiores poderão ser escritas de forma diferente umas das outras, causando erros quando precisarmos listar funcionários por meio de alguma cidade específica; Uma forma de solucionar isto e também aplicar a regra de relação básica entre tabelas é criar um campo identificador contendo o id da cidade na tabela funcionário e criar uma tabela cidade contendo o id, o nome e demais informações possíveis de cada cidade, no formato: Naturalmente, o campo anterior que descrevia o nome da cidade na tabela funcionário poderá ser excluído, mas será mantido para questões de comparação em nossas consultas. Pág 158
22 Em seguida, existe uma forma de vincularmos o campo identificador da id_cidade da tabela cidade ao campo cidade da tabela funcionário, o nome que damos a isto é o relacionamento, e fazemos da seguinte forma: o Vá ao menu ferramentas / relações e clique duas vezes nas tabelas que serão utilizadas. Para criar a relação, dizemos que o campo não original de cidade, neste caso o id_cidade da tabela funcionário, será referenciado por algum campo original, neste caso o campo id_cidade da tabela cidade. Para isto basta arrastar com o mouse o campo_referencia e soltar até o campo referenciado, quando soltar veremos uma linha realizando a ligação entre os dois. Qual o objetivo de criar um relacionamento? o Quando é criado um relacionamento não mais será possível incluir em funcionário um código de cidade que não existe. o Isto garante a integridade das informações, evitando inserções incorretas; o Com relacionamentos, a relação entre as tabelas existente no banco de dados fica claramente visível ao desenvolvedor, permitindo criar consultas adequadas às informações a serem listadas. É obrigatória a criação de um relacionamento? o Não, mas certamente isto será necessário caso o banco de dados tenha uma interação maior entre as suas tabelas e também sofrendo a interação de aplicativos externos simultaneamente. Pág 159
23 o Em seguida feche a janela de relacionamentos e confirme a opção de salvar alterações. Podemos testar a obrigatoriedade do relacionamento tentando inserir um código de cidade na tabela funcionário não existente na tabela cidade Este erro é chamado de erro de integridade, pois há uma regra de integridade sendo violada com a tentativa. Exemplo 2: ampliando as relações de funcionários com uso de departamentos Faremos a inclusão de outra tabela, a de departamentos, contendo os campos iddepto, nomedepto, verbadepto. Vejamos a seguir os detalhes da relação e dos campos: Abra uma nova consulta no modo Editor; Selecione as tabelas que irão compor as necessidades da consulta, por exemplo, listar todos os funcionários juntamente com o nome de seu departamento; o o Em seguida, selecione os campos necessários para a realização da consulta, a seleção pode ser feita diretamente com um clique duplo no referido campo ou através do arraste do campo até a grade no item campo; Pág 160
24 o Execute a consulta e visualize o seu resultado; o o Caso a consulta atenda as necessidades, salve a consulta para que fique disponível posteriormente; o PROPRIEDADES BÁSICAS DE UMA CONSULTA QBE Existem algumas propriedades simples que podem ser manipuladas em uma consulta QBE, são elas: Ordenar os dados de uma consulta por um campo qualquer; Pág 161
25 Esta função permite que a listagem resultante de uma consulta feita em uma grade QBE possa ser ordenada por algum campo componente. Modificar a visibilidade de um campo Apenas torna um campo visível ou não ao usuário quando no resultado de uma consulta. Pág 162