Prévia do material em texto
Esta obra é resultado da experiência do autor, adquirida em aulas ministradas em cursos de graduação e pós- graduação. O texto apresenta a base para entender a tecnologia de banco de dados que oferece suporte aos problemas de computação corporativa. O autor parte do princípio de que o iniciante no estudo de gerenciamento de banco de dados precisa entender os conceitos fundamentais sobre o assunto, assim como o modelo de dados relacionais. Com inúmeros exemplos e bancos de dados de amostra, o texto permite ao aluno adquirir capacidade para resolver, de forma sistemática, problemas básicos e avançados em formulação de consultas, modelagem de dados, normalização, gerenciamento de dados de aplicação e customização de aplicações de banco de dados. T Ó P I C O S I M P O R TA N T E S • Abordagem abrangente do Oracle 10g e SQL 2003, as aplicações mais recentes de banco de dados. • Informações novas sobre modelagem de dados e requisitos de sistema. • Material atualizado sobre normalização. • Enfoque especial em otimização de banco de dados físico. • Tendências mais atuais em data warehousing e data mining. • Abordagem profunda de computação distribuída. • Questões e problemas no final dos capítulos, além de resumo da sintaxe do SQL:2003. • Utilização do ER Assistant, uma ferramenta fácil de usar que oferece uma interface simples para criar e con- verter os diagramas entidade-relacionamento apresentados no livro. Projeto, Desenvolvimento de Aplicações e Administração de Banco de Dados apresenta as tecnologias fundamentais de banco de dados para cada ambiente de processamento e discute o relacionamento de cada tecnologia com os avanços do comércio eletrônico e da computação corporativa. Essas características fazem deste livro-texto uma ferramenta essencial para aquele que pretende tornar-se especialista em projeto e desenvolvimento de aplicações de banco de dados. Aplicações: Livro-texto para os cursos da área de Computação, como Engenharia de Computação, Ciência da Computação e Sistemas de Informação, nas disciplinas específicas de Banco de Dados e outras relacionadas a Desenvolvimento de Sistemas. Interessa também aos tecnólogos e aos profissionais que atuam na área de Desenvolvimento de Software utilizando as mais recentes e avançadas tecnologias de bancos de dados. Ideal para estudantes e profissionais que precisam desenvolver e man- ter aplicações baseadas em banco de dados. CRIE UMA BASE SÓLIDA PARA GERENCIAMENTO DE BANCO DE DADOS PROJETO, DESENVOLVIMENTO DE APLICAÇÕES & ADMINISTRAÇÃO DE BANCO DE DADOS PRO JETO , D ESEN VO LVIM EN TO D E A PLIC A Ç Õ ES & A D M IN ISTRA Ç Ã O D E BA N C O D E D A D O S M annino T E R C E I R A E D I Ç Ã O TRADUÇÃO DA TERCEIRA EDIÇÃO Michael V. ManninoVisite nosso site: www.mcgraw-hill.com.br9 2 6 0 2 0 1 ISBN 978-85-7726-020-1 7 8 8 5 7 7 TRADUÇÃO DA 3 Capítulo 1 Introdução ao Gerenciamento de Banco de Dados Objetivos de Aprendizagem Este capítulo fornece uma introdução à tecnologia de banco de dados e ao impacto desta tecnologia nas organizações. No final deste capítulo, o aluno deverá ter adquirido os seguintes conhecimentos e habilidades: • Descrever as características de bancos de dados de negócio e os recursos dos sistemas de gerenciamento de banco de dados. • Entender a importância do acesso de não-procedural para a produtividade de software. • Reconhecer os avanços na tecnologia de banco de dados e as contribuições da tecnologia de banco de dados para a sociedade moderna. • Entender o impacto das arquiteturas de sistema de gerenciamento de banco de dados no processamento distribuído e na manutenção de software. • Perceber as oportunidades de carreira relacionadas ao desenvolvimento de aplicativos para banco de dados e à administração de banco de dados. Visão Geral Você pode não estar ciente disso, mas sua vida é drasticamente afetada pela tecnologia de banco de dados. Os bancos de dados computadorizados são vitais para o funcionamento das organiza- ções modernas. Você entra em contato com bancos de dados diariamente, quando faz compras em um supermercado, saca dinheiro em um caixa eletrônico, encomenda um livro on-line ou se matricula em algum curso. A conveniência de sua vida diária é devida em parte à proliferação de bancos de dados computadorizados e à tecnologia que dá suporte aos banco de dados. A tecnologia de banco de dados não melhora apenas as operações diárias das organiza- ções, mas também a qualidade das decisões que afetam nossa vida. Os bancos de dados contêm uma enorme quantidade de dados sobre muitos aspectos da nossa vida: preferências de con- sumo, uso das telecomunicações, histórico de crédito, hábitos ao assitir à televisão e assim por diante. A tecnologia de banco de dados ajuda a consolidar essa massa de dados e a transformá- la em informação útil para a tomada de decisão. Os gestores usam a informação recolhida nos bancos de dados para tomar decisões de longo prazo como investir em fábricas e equipamentos, escolher a localização de lojas, adicionar novos itens ao estoque e entrar em novos negócios. Este primeiro capítulo fornece um ponto de partida para sua exploração da tecnologia de banco de dados. Ele examina as características dos bancos de dados, os recursos dos sistemas 01manCap01.qxd 24.10.07 10:42 Page 3 de gerenciamento de banco de dados, arquiteturas de sistemas e o papel das pessoas ao geren- ciar e usar bancos de dados. O outro capítulo da Parte 1 (Capítulo 2) fornece uma visão con- ceitual geral do processo de desenvolvimento de banco de dados. Esse capítulo fornece um amplo quadro da tecnologia de banco de dados e compartilha o entusiasmo para seguir adiante em nossa jornada. 4 Parte Um Introdução aos Ambientes de Bancos de Dados banco de dados Uma coleção de dados persistentes que podem ser compartilhados e estar inter-relacionados. 1.1 Características de Banco de Dados Todos os dias, as empresas coletam montanhas de fatos sobre pessoas, coisas e acontecimen- tos, tais como números de cartão de crédito, extratos de conta corrente e quantias gastas em compras. Os bancos de dados contêm estes tipos de fatos simples assim como fatos não-con- vencionais, como fotografias, impressões digitais, vídeos de produtos e resumos de livros. Com a proliferação da Internet e dos meios para capturar dados digitalmente, uma vasta quantidade de dados está disponível ao clique de um botão do mouse. Organizar esses dados para ter facilidade na sua recuperação e manutenção é imprescindível. Deste modo, gerenciar bancos de dados tornou-se uma tarefa vital na maioria das organizações. Antes de aprender a gerenciar bancos de dados, você deve primeiramente entender al- gumas importantes propriedades dos bancos de dados, discutidas na lista a seguir: • Persistente: significa que os dados são armazenados de modo permanente, como em um disco magnético. Por exemplo, as organizações necessitam reter dados sobre clientes, fornecedores e estoque em armazenamento permanente porque esses dados são usados re- petitivamente. Uma variável em um programa de computador não é persistente porque é ar- mazenada na memória principal e desaparece depois que o programa termina. A persistência não quer dizer que os dados duram para sempre. Quando os dados não são mais relevantes (como no caso de um fornecedor saindo do negócio), eles são retirados ou arquivados. A persistência depende da relevância do uso pretendido. Por exemplo, se você é um profis- sional autônomo é importante manter a quilometragem que você roda para ir ao trabalho. Da mesma maneira, o valor das suas despesas médicas é importante se você pode detalhá-las em suas deduções do imposto de renda, ou se você tem uma conta poupança somente para gas- tos com saúde. Pelo fato de armazenar e manter dados ser dispendioso, apenas dados com possibilidades de relevância para a tomada de decisões devem ser armazenados. • Compartilhado: significa que um banco de dados pode ter múltiplas aplicações e usuários. Um banco dedados fornece uma memória comum para múltiplas funções em uma organização. Por exemplo, um banco de dados pessoal pode dar suporte a cálculos de folha de pagamento, avaliações de desempenho, informações exigidas pelo governo e assim por diante. Muitos usuários podem acessar um banco de dados ao mesmo tempo. Por exemplo, muitos clientes podem simultaneamente fazer reservas em uma compa- nhia aérea. A menos que dois usuários tentem mudar a mesma parte do banco de dados ao mesmo tempo, eles podem prosseguir sem ter que esperar um pelo outro. • Inter-relacionado: significa que dados armazenados como unidades separadas podem ser ligados para fornecer um quadro completo. Por exemplo, um banco de dados de clientes relaciona os dados do cliente (nome, endereço...) com os dados do pedido (número do pedido, data do pedido...) para facilitar o processamento dos pedidos. Os bancos de dados contêm tanto entidades como relacionamentos entre entidades. Uma entidade é um grupo de dados (cluster) normalmente sobre um único assunto que pode ser acessado conjuntamente. Uma entidade pode denotar pessoa, lugar, coisa ou evento. Por exemplo, um banco de dados de pessoal contém entidades, tais como empregados, departamentos e habilidades, assim como relacionamentos mostrando designações de empregado a departamentos, habilidades possuídas pelos empregados e um histórico salarial dos empregados. Um banco de dados típico de negócio pode ter centenas de entidades e relacionamentos. Para apresentar essas características, vamos considerar um certo número de bancos de dados. Começamos com um banco de dados simples de uma universidade (Figura 1.1) já que você possui alguma familiaridade com o funcionamento de uma universidade. Um banco de dados simplificado de uma universidade contém dados sobre alunos, professores, cursos, ofertas de cursos e matrículas. O banco de dados suporta procedimentos tais como matricular-se 01manCap01.qxd 24.10.07 10:42 Page 4 nas aulas, designar professores aos cursos oferecidos, registrar notas e fazer o horário das ofer- tas dos cursos. Os relacionamentos no banco de dados da universidade fornecem suporte para responder a perguntas como: • Que ofertas estão disponíveis para um curso em um dado período acadêmico? • Quem é o instrutor para um curso oferecido? • Que alunos estão matriculados em um curso oferecido? A seguir, vamos analisar um banco de dados de uma estação de água, como retratado na Figura 1.2. A função primária do banco de dados da estação de água é cobrar os consumi- dores pelo uso da água. Periodicamente, o consumo de água de um consumidor é medido em um relógio e uma conta é preparada. Muitos aspectos podem influenciar a preparação de uma conta, como o histórico de pagamentos do consumidor, as características do medidor, o tipo de consumidor (baixa renda, inquilino, proprietário, empresa de pequeno porte, grande empresa etc.) e o período de cobrança. Os relacionamentos no banco de dados da estação de água fornecem suporte para responder a perguntas como: • Qual é a data da última conta enviada ao consumidor? • Quanto uso de água foi registrado da última vez em que o relógio de um consumidor foi lido? • Quando um consumidor fez seu último pagamento? Por fim, vamos considerar um banco de dados de um hospital, como ilustrado na Figura 1.3. Um banco de dados de hospital fornece a base de informações para o tratamento dos pacientes pelos médicos. Os médicos fazem diagnósticos e prescrevem tratamentos baseados em sintomas. Muitos profissionais da saúde diferentes lêem e contribuem com um registro médico do paciente. Capítulo 1 Introdução ao Gerenciamento de Banco de Dados 5 FIGURA 1.1 Descrição de um Banco de Dados Simplificado de uma Universidade Matrículas Atribuições dos professores Registro de notas Horários dos cursos Entidades: alunos, professores, cursos, ofertas, matrículas Banco de Dados de uma Universidade Relacionamentos: professores lecionam, cursos oferecidos, alunos se matriculam no curso oferecido, ofertas dos cursos ... FIGURA 1.2 Descrição de um Banco de Dados Simplificado de uma Estação de Tratamento de Água Cobrança Processamento de pagamentos Leitura de metragem Início e interrompimento do serviço Entidades: clientes, metros cúbicos, pagamentos, contas, leituras Banco de Dados de uma Estação de Água Relacionamentos: contas são enviadas a clientes, clientes fazem pagamentos, clientes usam metros cúbicos ... Nota: As palavras ao redor do banco de dados descrevem procedimentos que usam o banco de dados. 01manCap01.qxd 24.10.07 10:42 Page 5 As enfermeiras são responsáveis por monitorar sintomas e ministrar a medicação. A equipe de nutricionistas prepara refeições de acordo com um planejamento das dietas. Os médicos pres- crevem novos tratamentos baseados nos resultados de tratamentos prévios e nos sintomas dos pacientes. Os relacionamentos no banco de dados embasam as respostas a perguntas como: • Quais são os sintomas mais recentes de um paciente? • Quem prescreveu um dado tratamento para um paciente? • Qual diagnóstico um médico fez para determinado paciente? Esses bancos de dados simplificados não dispõem de muitos tipos de dados encontrados em bancos de dados reais. Por exemplo, o banco de dados simplificado da universidade não contém dados sobre pré-requisitos de cursos e a localização e capacidades das salas de aula. Versões reais desses bancos de dados teriam muito mais entidades, relacionamentos e usos adicionais. Mesmo assim, esses bancos de dados simples têm as características essenciais de bancos de dados de negócio: dados persistentes, múltiplos usuários e aplicações e múltiplas entidades ligadas por meio de relacionamentos. 6 Parte Um Introdução aos Ambientes de Bancos de Dados FIGURA 1.3 Descrição de um Banco de Dados Simplificado de um Hospital Tratamento Monitoramento de sintomas Diagnóstico Cuidados com o paciente Entidades: pacientes, profissionais da saúde, tratamentos, diagnósticos, sintomas Hospital Database Relacionamentos: pacientes têm sintomas, profissionais prescrevem tratamentos, profissionais fazem diagnósticos ... 01manCap01.qxd 24.10.07 10:42 Page 6 M284p Mannino, Michael V. Projeto, desenvolvimento de aplicações e administração de banco de dados [recurso eletrônico] / Michael V. Mannino ; tradução: Beth Honorato ... [et al.] ; revisão técnica: Antônio Fernandes Nunes Guardado, Sidney da Silva Viana. – 3. ed. – Dados eletrônicos. – Porto Alegre: AMGH, 2014. Editado também como livro impresso em 2008. ISBN 978-85-8055-363-5 1. Banco de dados – Gerenciamento – Programas de computador. 2. Projeto de banco de dados. 3. Software de aplicativos – Desenvolvimento. I. Título. CDD 005.74 CDU 004.658 Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052 Encerra aqui o trecho do livro disponibilizado para esta Unidade de Aprendizagem. Na Biblioteca Virtual da Instituição, você encontra a obra na íntegra.