Você está na página 1de 14

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

Disciplina Administrao de Banco de dados Professor: Augusto Zadra Ano 2008


Apostila das aulas tericas

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

1. INTRODUO E CONCEITOS GERAIS A tecnologia aplicada aos mtodos de armazenamento de informaes vem crescendo e gerando um impacto cada vez maior no uso de computadores, em qualquer rea em que os mesmos podem ser aplicados. Apresentamos agora alguns conceitos gerais: BANCO DE DADOS : pode ser definido como um conjunto de dados devidamente relacionados. REGISTROS: pode ser definido como uma combinao de linhas e colunas populadas com informaes definidas em um sistema de banco de dados. DADOS: podemos compreender como fatos conhecidos que podem ser armazenados e que possuem um significado implcito. Porm, o significado do termo banco de dados mais restrito que simplesmente a definio dada acima. Um banco de dados possui as seguintes propriedades: um banco de dados uma coleo lgica coerente de dados com um significado inerente; uma disposio desordenada dos dados no pode ser referenciada como um banco de dados; um banco de dados projetado, construdo e populado com dados para um propsito especfico; um banco de dados possui um conjunto pr definido de usurios e aplicaes; um banco de dados representa algum aspecto do mundo real, o qual chamado de mini-mundo ; qualquer alterao efetuada no mini-mundo automaticamente refletida no banco de dados. Um banco de dados pode ser criado e mantido por um conjunto de aplicaes desenvolvidas especialmente para esta tarefa ou por um Sistema Gerenciador de Banco de Dados (SGBD). SGBD: permite aos usurios criarem e manipularem bancos de dados de propsito gerais. O conjunto formado por um banco de dados mais as aplicaes que manipulam o mesmo chamado de Sistema de Banco de Dados.

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

2. Papeis na administrao de Bancos de dados

2.1. Administrador de Banco de Dados (DBA) Em um ambiente de banco de dados, o recurso primrio o banco de dados por si s e o recurso secundrio o SGBD e os softwares relacionados. A administrao destes recursos cabe ao Administrador de Banco de Dados, o qual responsvel pela autorizao de acesso ao banco de dados e pela coordenao e monitorao de seu uso. 2.2. Projetista de Banco de Dados O Projetista de Banco de Dados responsvel pela identificao dos dados que devem ser armazenados no banco de dados, escolhendo a estrutura correta para representar e armazenar dados. Muitas vezes, os projetistas de banco de dados atuam como staff do DBA, assumindo outras responsabilidades aps a construo do banco de dados. funo do projetista tambm avaliar as necessidades de cada grupo de usurios para definir as vises que sero necessrias, integrando-as, fazendo com que o banco de dados seja capaz de atender a todas as necessidades dos usurios. 2.3. Usurios Finais Existem basicamente trs categorias de usurios finais que so os usurios finais do banco de dados, fazendo consultas, atualizaes e gerando documentos: Usurios casuais: acessam o banco de dados casualmente, mas que podem necessitar de diferentes informaes a cada acesso; utilizam sofisticadas linguagens de consulta para especificar suas necessidades; Usurios novatos ou paramtricos: utilizam pores pr-definidas do banco de dados, utilizando consultas preestabelecidas que j foram exaustivamente testadas; Usurios sofisticados: so usurios que esto familiarizados com o SGBD e realizam consultas complexas.

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

2.4. Analistas de Sistemas e Programadores de Aplicaes Os analistas determinam os requisitos dos usurios finais e desenvolvem especificaes para transaes que atendam estes requisitos, e os programadores programam estas especificaes como programas, testando, depurando, documentando e dando manuteno no mesmo. importante que, tanto analistas quanto programadores, estejam a par dos recursos oferecidos pelo SGBD. 3. ADMINISTRAO DE BANCOS DE DADOS 3.1 LINGUAGENS DE MANIPULAO DE DADOS DML: Data Manipulation Language ou Linguagem de Manipulao de Dados. Serve para manipular as informaes que existem nas tabelas do banco de dados. Exemplo de comandos: 1. Select : Seleo 2. Insert : Insero 3. Update : Atualizao 4. Delete: Deleo DDL: (Data Definition Language - Linguagem de Definio de Dados). Serve para criar/remover estruturas/objetos do banco de dados. Exemplo de comandos: 1. Create: Cria uma objeto 2. Alter: Altera a objeto 3. Drop: Apaga a objetivo DCL: Data Control Language. Serve para controlar os acessos ao banco de dados. Exemplo de comandos: 1. Grant : Permite acesso 2. Deny : Nega acesso
Disciplina Administrao de Banco de dados Prof.: Augusto Zadra 4

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

3. Revoke: Apenas remove um Grant ou um deny. SDL: (Storage Definition Language - Linguagem de Armazenamento) para a especificao do esquema interno 3.2 CONCEITOS DE ADMINISTRAO TRANSAO: um conjunto de procedimentos que executado num banco de dados, que para o usurio visto como uma nica ao. O conceito ACDI,nos especifica as propriedades que garantes a integridade de uma transao: Atomicidade: Uma transao no pode ser executada pela metade, isto , ou se executa ela por inteiro, ou se retorna para o estado anterior a transao ter sido iniciada. Consistncia: Consistncia de dados acontece quando os dados de entrada so os mesmos da sada do banco de dados, ou que as operaes aritmticas executadas, resultar o esperado. Isolamento: Os resultados das instrues de cada transao, no podem depender do resultado das instrues das outras transaes. As transaes so independentes. Durabilidade: Quando ocorre falha no banco de dados, apos a execuo com sucesso de uma transao, a durabilidade garante por algum mecanismo a recuperao das informaes perdidas. Controle de concorrncia um mtodo usado para garantir que as transaes so executadas de uma forma segura e segue as regras ACID. Os SGBD devem ser capazes de assegurar que nenhuma ao de transaes completadas com sucesso (committed transactions) seja perdida a desfazer transaes abortadas (rollback). Requeremos, portanto, que qualquer escaloname produzido quando se processa um conjunto de transaes ao mesmo tempo, seja realizado em alguma ordem. Um sistema que garante esta propriedade assegura a seriabilidade. Definio de

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

LOCKS O mecanismo de lock (travamento) evita conflitos de atualizao. Usurios no podem ler ou modificar dados que esto sendo alterados num dado momento

PERGUNTAS: O que commit? O que rollback? Como o sistema executa um rollback? O que acontece quando ocorre um dead lock?

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

4. MODELAGEM DE DADOS 4.1 REVISAO FORMAS NORMAIS 4.1.1 Normalizao de tabelas Objetivo: O objetivo da normalizao evitar os problemas provocados por falhas no Projeto do Banco de Dados, bem como eliminar a "mistura de assuntos" e as correspondentes repeties desnecessrias de dados. Uma Regra de Ouro que devemos observar quando do Projeto de um Banco de Dados baseado no Modelo Relacoional de dados a de "no Misturar assuntos em uma mesma Tabela". Exemplo: Tabela Computador devemos colocar somente campos relacionados com o assunto Computadores. No devemos misturar campos relacionados com outros assuntos, tais como OS, Peas, etc. Essa "Mistura de Assuntos" em uma mesma tabela acaba por gerar repetio desnecessria dos dados bem como inconsistncia dos dados. O Processo de Normalizao aplica uma srie de Regras sobre as Tabelas de um Banco de Dados, para verificar se estas esto corretamente projetadas. Embora existam 5 formas normais (ou regras de Normalizao), na prtica usamos um conjunto de 3 Formas Normais. 1a Forma Normal A 1a Forma Normal prega que todos os atributos de uma tabela devem ser atmicos (indivisveis), ou seja, no so permitidos atributos multivalorados, atributos compostos ou atributos multivalorados compostos "Uma Tabela est na Primeira Forma Normal quando seus atributos no contm grupos de Repetio".

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

2a Forma Normal A 2a Forma Normal prega o conceito da dependncia funcional total. Uma dependncia funcional X Y total se removemos um atributo A qualquer do componente X e desta forma, a dependncia funcional deixa de existir. A dependncia funcional X Y uma dependncia funcional parcial se existir um atributo A qualquer do componente X que pode ser removido e a dependncia funcional X Y no deixa de existir. Na prtica ocorre quando a chave Primria composta por mais de um campo. Neste caso, devemos observar se todos os campos que no fazem parte da chave dependem de todos os campos que compem a chave. Dividimos ento a Tabela que no est na Segunda Forma Normal em duas outras tabelas sendo que as duas tabelas resultantes esto na Segunda Forma Normal. 3a Forma Normal A 3a Forma Normal prega o conceito de dependncia transitiva. Uma dependncia funcional X Y em uma tabela T uma dependncia transitiva se existir um conjunto de atributos Z que no um subconjunto de chaves de T e as dependncias X Z, Z Y, so vlidas. Na definio dos campos de uma entidade podem ocorrer casos em que um campo no seja dependente diretamente da chave primria ou de parte dela, mas sim dependente de outro campo da tabela, campo este que no a Chave Primria. Com isso podemos concluir que como resultado do Processo de Normalizao, iremos obter um nmero maior de tabelas, porm sem problemas de redundncia e inconsistncia dos dados.

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

4.2 REVISAO RELACIONAMENTOS 4.2.1 RELACIONAMENTO DO TIPO UM PARA UM: ( 1 1 ) Esta relao existe quando os campos que se relacionam so ambos do tipo Chave Primria, em suas respectivas tabelas. Cada um dos campos no apresenta valores repetidos. Na prtica existem poucas situaes onde utilizaremos um relacionamento deste tipo. 4.2.2 RELACIONAMENTO DO TIPO UM PARA VRIOS: ( 1 N ) Este , com certeza, o tipo de relacionamento mais comum entre duas tabelas. Uma das tabelas (o lado um do relacionamento) possui um campo que a Chave Primria e a outra tabela (o lado vrios) se relaciona atravs de um campo cujos valores relacionados podem se repetir vrias vezes. 4.3.3 RELACIONAMENTO DO TIPO VRIOS PARA VRIOS: ( N N ) Este tipo de relacionamento "aconteceria" em uma situao onde em ambos os lados do relacionamento os valores poderiam se repetir. Vamos considerar o caso entre Trocas e Pedidos. Posso ter Vrios Pedidos nos quais aparece um determinado produto, alm disso vrios Produtos podem aparecer no mesmo Pedido. Esta uma situao em que temos um Relacionamento do Tipo Vrios para Vrios. NA PRTICA NO POSSVEL IMPLEMENTAR UM RELACIONAMENTO DESTE TIPO, DEVIDO A UMA SRIE DE PROBLEMAS QUE SERIAM INTRODUZIDOS NO MODELO DO BANCO DE DADOS. SOLUO PARA ESTE PROBLEMA: Para evitar este tipo de problema bastante comum "quebrarmos" um relacionamento do tipo Vrios para Vrios em dois relacionamentos do tipo Um para Vrios. Isso feito atravs da criao de uma nova tabela, a qual fica com o lado Vrios(N) dos relacionamentos.

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

4.2.4 INTEGRIDADE REFERENCIAL A Integridade Referencial utilizada para garantir a Integridade dos dados entre as tabelas relacionadas. Por exemplo, considere um relacionamento do tipo Um-para-Vrios entre a tabela Computadores e a tabela Ordem de Servio (um computador pode ter vrias Ordens de servio associadas a ele). Com a Integridade Referencial, o banco de dados no permite que seja cadastrado uma OS para um computador que ainda no foi cadastrado. Em outras palavras, ao cadastrar uma OS, o banco de dados verifica se o cdigo do computador que foi digitado j existe na tabela Computador. Se no existir, o cadastro da OS no ser aceito. Com o uso da Integridade Referencial possvel ter as seguintes garantias: Quando o Cdigo de um computador for alterado na Tabela Computadores, podemos configurar para o banco de dados atualizar, automaticamente, todos os Cdigos do Computador na Tabela OS, de tal maneira que no fiquem Registros rfos, isto , registros de OS com um Cdigo de Computador para o qual no existe mais um correspondente na Tabela Computadores. Essa ao conhecida como "Propagar atualizao dos campos relacionados". Quando um Computador for excludo da Tabela Computadores, podemos configurar para que o banco de dados exclua, automaticamente, na tabela OS todas as OSs para o Computador que est sendo Excludo. Essa opo conhecida como "Propagar excluso dos registros relacionados". Essas opes, conforme mostrarei logo em seguida, podem ser configuradas quando da Definio dos Relacionamentos (no exemplo prtico mais adiante utilizarei o Microsoft Access, mas estes conceitos so vlidos para qualquer banco de dados). Estas opes no so obrigatrias, isto , podemos optar por no Atualizar ou no Excluir em cascata. A Opo de "Propagar atualizao dos campos relacionados" utilizada na maioria das situaes, j a opo de "Propagar excluso dos registros relacionados" deve ser estudada caso a caso. Por exemplo, se nos quisssemos manter um histrico com os Pedidos de cada Cliente, no utilizaramos a opo "Propagar excluso dos registros relacionados"; caso no nos interessasse manter um histrico dos pedidos, poderamos utilizar esta opo.

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

10

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

5. PROJETANDO UM BANCO DE DADOS Um banco de dados bem projetado fornece um acesso conveniente s informaes desejadas. Com uma boa estrutura, gasta-se menos tempo na construo de um banco de dados e, ao mesmo tempo, assegura-se resultados mais rpidos e precisos. Nunca demais lembrar que jamais devemos misturar assuntos em uma mesma tabela. Essa tarefa faz parte da especificao dos requisitos de banco de dados, ou seja, um estudo de adequao s necessidades de resoluo de um problema no mini-mundo.

5.1 ETAPAS NA ESTRUTURAO E PROJETO DE UM BANCO DE DADOS:

5.1.1 DETERMINAR QUAL O OBJETIVO DO BANCO DE DADOS Isto ajuda na determinao de quais os dados devem ser armazenados. fundamental ter bem claro qual o objetivo a ser alcanado com o banco de dados. fazer o acompanhamento das despesas, a evoluo das vendas ou outro objetivo qualquer.

5.1.2 DETERMINAR AS TABELAS NECESSRIAS

Aps definirmos os objetivos do Banco de Dados, as informaes devem ser definidas e separadas em assuntos diferentes, tais como "Clientes", "Empregados", "Pedidos", pois cada um ir compor uma tabela no banco de dados. Lembre-se da regrinha nmero um: "No misturar assuntos na mesma tabela", ou seja, uma coisa uma coisa e outra coisa outra coisa.

5.1.3 DETERMINAR OS CAMPOS DE CADA TABELA

Definir quais informaes devem ser mantidas em cada tabela. Por exemplo, a tabela Clientes poderia ter um campo para o Cdigo Do Cliente, outro para o Nome Do Cliente e assim por diante.

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

11

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

5.1.4 DETERMINAR A CHAVE PRIMRIA DE CADA TABELA, SENDO QUE PODE HAVER TABELAS ONDE NO EXISTA UMA CHAVE PRIMRIA: Determinar, em cada tabela, quais campos sero utilizados como Chave Primria. Esta uma etapa importantssima para a definio dos Relacionamentos que vem a seguir. Pode haver tabelas onde no exista uma chave primria.

5.1.5 DETERMINAR OS RELACIONAMENTOS

Decidir como os dados de uma tabela se relacionam com os dados de outras tabelas. Por exemplo, Clientes podem Fazer Vrios Pedidos, ento existe um relacionamento do tipo Um-para-vrios entre a tabela Clientes (lado um) e a tabela Pedidos (lado vrios). Fornecedores podem fornecer Vrios Produtos, etc.

5.1.6 REFINAR A ESTRUTURA DO BANCO DE DADOS Antes de inserir muitos dados, ou at mesmo antes de inserir qualquer dado, verificar se a estrutura contm erros, isto , verificar se os resultados obtidos so os desejados. Isto, normalmente, pode ser obtido atravs do processo de Normalizao. Caso necessrio, deve-se alterar a estrutura do banco de dados. Com uma boa estrutura, gasta-se menos tempo na construo e manuteno do banco de dados e, ao mesmo tempo, assegura-se resultados mais rpidos e precisos. 5.2 DICAS PARA DETERMINAO DOS CAMPOS DE UMA TABELA

5.2.1 RELACIONAR DIRETAMENTE CADA CAMPO AO ASSUNTO DA TABELA

Se um campo descreve o assunto de uma tabela diferente, este campo deve pertencer a outra tabela. O mesmo acontece quando uma informao se repete em diversas tabelas. Este um indcio de que existem campos desnecessrios em algumas tabelas.

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

12

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

5.2.2 NO INCLUIR DADOS DERIVADOS OU CALCULADOS No recomendado armazenar o resultado de clculos nas tabelas. O correto que o clculo seja executado quando necessitarmos do resultado, normalmente em uma consulta.

5.2.3 INCLUIR TODAS AS INFORMAES NECESSRIAS: Como fcil esquecer informaes importantes, deve-se ter em mente todas as informaes coletadas desde o incio do processo e perguntar se com elas possvel obter todas os resultados desejados. 5.2.4 ARMAZENAR TODAS AS INFORMAES SEPARADAMENTE Existe uma tendncia em armazenar informaes em um nico campo. Por exemplo, o nome do curso e o tempo de durao em uma mesmo campo. Como as duas informaes foram combinadas em um nico campo, ficar difcil conseguir um relatrio classificado pelo tempo de durao dos cursos. Como selecionar o campo que ser a Chave Primria? Um bom Sistema Gerenciador de Banco de Dados (SGBD) aquele que encontra e nos fornece, rapidamente, todas as informaes necessrias que nele estejam armazenadas, mesmo que estas informaes estejam em diferentes tabelas. Para que isto seja possvel necessrio incluir um campo ou conjunto de campos que identifiquem de modo nico cada registro de uma tabela. Esta informao chamada Chave Primria. Deve-se ter certeza que este campo (ou conjunto de campos) seja sempre diferente para cada registro, por no ser permitido valores duplicados em um campo de chave primria. 5.2.5 AO ESCOLHER CAMPOS DE CHAVE PRIMRIA, CONSIDERE OS SEGUINTES DETALHES No permitida duplicidade de valores ou nulos (informaes desconhecidas). Caso no exista um identificador nico para uma determinada tabela, pode-se usar um campo que numere os registros seqencialmente.

Pode-se utilizar o valor deste campo para encontrar registros.

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

13

Faculdade Inforium de Tecnologia Curso Tecnlogo em Redes

O tamanho da chave primria afeta a velocidade das operaes, portanto, para um melhor desempenho, devemos utilizar o menor tamanho que acomode os valores necessrios que sero armazenados no campo. Agora que j revisamos diversos conceitos importantes sobre banco de dados vamos coloc-los em prtica, atravs de um exerccio de Projeto de Banco de Dados. Ser apresentada uma determinada situao e voc dever projetar o Banco de Dados para atender a Situao Solicitada. Projetar o banco de dados significa fazer um diagrama Entidade x Relacionamentos onde so indicadas quais tabelas faro parte do banco de dados, quais os campos de cada tabela, qual o campo que ser a Chave

Disciplina Administrao de Banco de dados Prof.: Augusto Zadra

14

Você também pode gostar