Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1
Plano de Ensino Objetivo Conteúdo Programático Avaliacão Controle de Frequência Monitores e Horários 2
Objetivos Conhecer os conceitos fundamentais e aspectos operacionais de um banco de dados; Aplicar metodologias para análise e projeto de banco de dados; Conhecer uma linguagem de declaração e manipulação de dados; Projetar e Implementar aplicações com o uso de banco de dados. 3
Conteúdo Programático Conceitos básicos de Sistemas de Banco de Dados; Modelagem Conceitual Modelo Relacional Linguagem SQL Restrições no modelo relacional; Visões; Dependência funcional e normalização Projeto e Implementação de Aplicações de Banco de Dados. 4
Avaliação Unidade I Prova escrita: 80% Projeto: 20% Unidade II Prova escrita: 60% Projeto: 40% 5
Controle de Frequência Chamada em qualquer momento da aula, podendo ser feita mais de uma vez. Número máximo de faltas = 25% da carga horária da disciplina: 0,25 * 108 = 27 Quem chegar atrasado e só responder a primeira chamada, terá 1 ou 2 faltas neste dia. O mesmo vale para quem sair antes de a aula terminar. 6
Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Conceitos e Definições de Banco de Dados Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 7
Tópicos Conceitos básicos: Dados e Banco de Dados. Objetivos de um sistema de banco de dados. Sistemas de gerenciamento de banco de dados. Abstração de dados Esquemas e Instâncias Tipos de usuários Modelos de dados 8
Conceitos Básicos Banco de Dados: Coleção de dados relacionados.? 9
Conceitos Básicos Banco de Dados: Coleção de dados relacionados.? Fatos que podem ser armazenados e que possuem um significado implícito. Ex.: Nomes e números telefônicos de pessoas conhecidas são armazenados em uma agenda de telefones, na agenda do celular, etc. 10
Conceitos Básicos Outros exemplos: Catálogo de uma biblioteca Banco de dados mantido por um banco. Como organizar e gerenciar uma grande quantidade de informações para que os usuários possam pesquisar, recuperar e atualizar dados? Manualmente. Informações guardadas em sistemas de arquivos permanentes. Aplicativos escritos para uma tarefa específica. Sistema de gerenciamento de banco de dados. 11
Conceitos Básicos Sistema de arquivos Sistema de Banco de Dados Dados (arquivos) SGBD Aplicativos Aplicativos Dados (arquivos) Bancos de Dados Computadorizados 12
Objetivos de um Sistema de Banco de Dados Desvantagens dos sistemas tradicionais de processamento de arquivos (cont.): Inconsistência e redundância dos dados. Produção Vendas Compras Arquivos produção Produtos... Arquivos vendas Produtos... Arquivos compras Produtos... 13
Objetivos de um Sistema de Banco de Dados Desvantagens dos sistemas tradicionais de processamento de arquivos (cont.): Dificuldade de acesso aos dados. Exemplo: Um empregado de empresa precisa de uma relação com os nomes de todos os clientes que moram na cidade de Recife. O aplicativo não tem uma funcionalidade que atenda esta necessidade. O que fazer? 14
Objetivos de um Sistema de Banco de Dados Desvantagens dos sistemas tradicionais de processamento de arquivos (cont.): Problemas de integridade: Os valores dos dados em um banco de dados devem satisfazer algumas restrições. Exemplo: Como garantir que o saldo de uma conta não fique abaixo de 2 reais? Adicionar código às aplicações. Problema: Quando surgem novas restrições os programas precisam ser atualizados. 15
Objetivos de um Sistema de Banco de Dados Desvantagens dos sistemas tradicionais de processamento de arquivos (cont.): Problemas de atomicidade: Exemplo: Considere a transferência de 50 reais de uma conta A para uma conta B. Se o sistema falhar depois do débito da conta A e antes do crédito na conta B? A transferência de fundos deve ser uma operação atômica 16
Objetivos de um Sistema de Banco de Dados Desvantagens dos sistemas tradicionais de processamento de arquivos (cont.): Anomalias no acesso concorrente: O acesso concorrente aumenta o desempenho do sistema, mas A interação entre atualizações concorrentes pode resultar em inconsistência de dados. 17
Objetivos de um Sistema de Banco de Dados Anomalias no acesso concorrente (Cont.) Saldo Inicial: R$ 500,00 Ler_saldo; Verifica se há saldo suficiente Ler_saldo; Verifica se há saldo suficiente Saldo:=saldo 50; Saldo:=saldo 100; Saldo final: R$ 400,00 tempo 18
Objetivos de um Sistema de Banco de Dados Desvantagens dos sistemas tradicionais de processamento de arquivos (cont.): Problemas de segurança: Exemplo: Garantir que os funcionários do departamento pessoal não tenham acesso aos dados dos clientes. É difícil garantir efetivamente as regras de segurança uma vez que os programas de aplicação acessam o banco de dados como um todo. 19
Sistemas de Gerenciamento de Banco de Dados Sistemas de Gerenciamento de Banco de Dados: Surgiram para assegurar os objetivos de sistemas de bancos de dados. É um conjunto de programas que permite aos usuários criar e manter um banco de dados. Chamaremos de Sistemas de Banco de Dados o banco de dados e o software SGBD juntos. 20
Sistemas de Gerenciamento de Banco de Dados Facilita os processos de: definição, construção, manipulação compartilhamento de bancos de dados entre várias pessoas e aplicações. Proporciona também: proteção contra falhas, segurança contra acesso não autorizado. 21
Abstração de Dados Um dos maiores benefícios de um sistema banco de dados é proporcionar ao usuário uma visão abstrata dos dados. Diferentes usuários podem interagir com o sistema em diferentes níveis de abstração: Nível de visão Nível lógico Nível físico 22
Abstração de Dados Analogia com o conceito de tipos de dados em linguagens de programação. Ex.: Controle de contas e clientes de um banco. type cliente = record nome: string; cpf : string; rua : string; cidade : string end; Nível Físico? Nível Lógico? Visão do usuário? 23
Esquemas e Instâncias Informações em um banco de dados mudam com freqüência. A descrição do banco de dados é alterada com pouca freqüência. Instância do banco de dados: Conjunto de informações contidas em determinado banco de dados, em um dado momento. Esquema do banco de dados: Descrição do banco de dados. Definido durante o projeto do banco de dados. 24
Esquemas e Instâncias Analogia com conceitos de linguagens de programação: Declaração do tipo de registro cliente não define nenhuma variável. Para declarar uma variável: var clientea : cliente; 25
Arquitetura de Três Esquemas Os sistemas de banco de dados apresentam diferentes esquemas, referentes aos níveis de abstração discutidos: Esquema Físico Esquema Lógico Sub esquemas (Visões de usuários) 26
Arquitetura de Três Esquemas Arquitetura de 3 esquemas em sistemas de banco de dados. EMPREGADO1 Usuários finais EMPREGADO Nome 2 Departamento Nome Salário Visão Usuário 1... Visão Usuário 2 Esquema Lógico Esquema Físico EMPREGADO Nome Departamento Salário Banco de dados armazenado 27
Tipos de Usuários Podemos considerar três classes de usuários de banco de dados: Desenvolvedor de aplicações: responsável pela elaboração de programas que acessam bancos de dados, através de uma linguagem de programação, como COBOL, Delphi, Java, etc. Usuários finais: usuários das aplicações que acessam o banco de dados. Administrador de banco de dados (DBA) e Administrador de dados (DA). 28
Tipos de Usuários Administrador de BD (DBA): pessoa técnica, com conhecimento especializado no SGBD, responsável por: Autorização para acesso ao BD Questões de segurança Tempo de resposta Manutenção da estrutura/esquema do BD 29
Tipos de Usuários Administrador de dados (DA) Tem um profundo conhecimento sobre os dados da organização. É responsável por definir que dados devem ser armazenados no banco de dados e também estabelecer normas para tratar e manter estes dados 30
Modelos de Dados Modelo de Dados: Conjunto de ferramentas conceituais usadas para descrever as estruturas dos dados. Classificação: Modelos conceituais de dados. Modelos físicos de dados. Modelos representacionais (de implementação) Usados para classificar os SGBDs. 31
Modelos de Banco de Dados Os SGBDs podem ser classificados de acordo com o modelo (de implementação) em que no qual estão baseados: Modelo Relacional Modelo de Rede Modelo Hierárquico Mais popular atualmente Legados Modelo Orientado a Objetos Mais recente 32
Referências R. Elsmari, S. B.Navathe. Sistemas de Banco de Dados. 33