Introdução à Banco de Dados Disciplina de Sistemas de Banco de Dados Prof. Marcos Antonio Schreiner /08/2015
Banco de dados Definição Coleção de dados relacionados. Fatos conhecidos que podem ser armazenados. Representa conceito do mundo real. Relações logicamente coerente de dados Possui uma finalidade específica.
Algumas aplicações Aplicações de banco de dados tradicionais Armazena dados textuais ou numéricos. Banco de dados relacionais: Tabelas e Relações entre tabelas. Bancos de dados de multimídia Armazena imagens, áudio e vídeo.
Algumas aplicações Sistemas de informações geográficas Armazena e analisa mapas, dados sobre o clima e imagens de satélite. Sistemas de data warehousing Armazena Informações comerciais de bancos de dados muito grandes. Foco na tomada de decisão. Banco de Dados de Tempo Real Armazena dados industriais e de manufatura.
Breve Histórico Teve início nas décadas de 60 e 70 na IBM. Pesquisas em automação de tarefas de escritório. Em 1970 um pesquisador da IBM - Ted Codd publicou o primeiro artigo sobre bancos de dados relacionais. Este artigo tratava sobre uma forma de consultar os dados (em tabelas) por meio de comandos. Inicialmente não foi aceito por ser muito complexo.
Breve Histórico A IBM criou um grupo de pesquisa chamado System R. O objetivo de desenvolver um sistema de BD para ser comercializado. System R introduziu uma linguagem chamada Structured Query Language (SQL).
Breve Histórico Essa linguagem tornou-se padrão internacional para BD relacional. O System R passou a se chamar SQL/DS. SQL/DS evoluiu para DB2, que é o banco de dados comercial da IBM.
Definições Banco de Dados (BD): É um conjunto de dados estruturados; Confiáveis, coerentes e compartilhados por usuários. É um conjunto de dados integrados para atender às necessidades de uma comunidade de usuários.
Definições Sistema Gerenciador de Banco de Dados (SGBD): Coleção de programas com a finalidade de proporcionar a criação e mantenção de um banco de dados (Navathe, 2012). É um software que tem as funções de definição, recuperação e alteração de dados em um banco de dados (Heuser, 2009).
SGBD Principais Recursos Recursos para administrar usuários/permissões. Recursos para criar/alterar tabelas e banco de dados. Recursos que garantem a Integridade de dados Persistentes. Recursos para backup e restauração de dados. Recursos para otimizar a performance do banco.
SGBD - Principais características 1. Natureza de autodescrição de um de um sistema de banco de dados. 2. Isolamento entre programas e dados, e abstração de dados. 3. Suporte de múltiplas visões dos dados. 4. Compartilhamento de dados e processamento de transação multiusuário.
1. Natureza de autodescrição de um sistema de banco de dados O sistema de banco de dados contém a definição de sua estrutura e restrições. Metadados para descrever a estrutura do banco de dados. Os metadados são usados pelos: Software de SGBD; Usuários do banco de dados: informações sobre a estrutura do banco de dados.
2. Isolamento entre programas e dados Independência de dados do programa. Independência da operação do programa. Independência entre programas que acessam o banco de dados.
2. Abstração de dados Representação conceitual de dados Conceito de Entidades e Relacionamentos Não inclui detalhes de como os dados são armazenados ou como as operações são implementadas.
3. Suporte para múltiplas visões dos dados Visão Formas virtuais dos programas enxergarem os dados.
4. Compartilhamento de dados e processamento de transação multiusuário Permite que múltiplos usuários acessem o banco de dados ao mesmo tempo. Software de controle de concorrência Garante a corretude dos dados depois de um acesso concorrente.
Definições Sistema de Banco de Dados = BD + SGBD O BD e o SGBD compõem o chamado Sistema de Banco de Dados.
Sistema de Banco de Dados
Sistema de Arquivos X Sistema de Banco de Dados Exemplos de Sistemas de Arquivos: FAT32, NTFS, Ext2, Ext3, ReiserFS. Exemplos de Bancos de Dados: MySQL, SQL Server, Postegre, DB2, Orcale. Objetivo em comum: Armazenar dados em sistemas de computação.
Sistema de Arquivos X Sistema de Banco de Dados Porque não usar Sistema de Arquivos Estrutura de arquivos é definida no próprio código-fonte do programa Otimização de busca no arquivo imbutida no próprio código-fonte do programa. Problema no compartilhamento do arquivo entre vários programas; Falta de gerenciamento de acessos concorrentes aos dados.
Sistema de Arquivos X Sistema de Banco de Dados Porque usar Banco de Dados. Rapidez no acesso aos dados; Redução de problemas de integridade e redundância; Facilita o desenvolvimento de programas; Acesso concorrente aos Dados Descreve uma coleção lógica e coerente de dados. Uma organização randômica de dados não pode ser considerada um Banco de Dados.
Outras Definições Entidades Qualquer objeto distinguível que deva ser representado no banco de dados (Date, 2003). Algo do mundo real com uma existência independente (Elmasri e Navathe, 2012). Por exemplo: Pessoa, Endereço, Telefone, Cliente, Fornecedor.
Outras Definições Atributos Propriedades Específicas que descrevem a Entidade (Elmasri e Navathe, 2012). Por exemplo: Pessoa (Nome, Data de Nasc., etc), Endereço (Rua, Cidade, País), Telefone (DDD, Número). OBS: Cada entidade possui um atributo chave que a identifica. Pessoa (CPF), Cliente (Codigo_cliente).
Outras Definições Relacionamentos Interligam as Entidades (Date, 2003). Atributo do tipo Entidade em outra Entidade (Elmasri e Navathe, 2012). Por exemplo: Pessoa possui um Endereço, Cliente têm Telefones, Empresa tem Fornecedores.
Outras Definições Projeto BD Banco de Dados Entidades Tabelas. Atributos Colunas das tabelas. Relacionamentos Atributo Chave Estrangeira em uma Entidade.
Atores e o Sistema de Banco de Dados
Atores e o Sistema de Banco de Dados Administrador de banco de dados (DBA). Responsável por: Gerenciar o acesso ao banco de dados Coordenar e monitorar o uso Adquirir software e hardware Projetistas de banco de dados são responsáveis por: Conhecer e definir dados do banco Escolher estruturas apropriadas para representá-los.
Atores e o Sistema de Banco de Dados Analistas de sistemas ou Engenheiro de Software. Identificam as necessidades dos usuários finais. Programadores de aplicações Implementam as necessidades dos usuários Usuários Necessitam de aplicações que acessem o banco de dados.
Exercícios 1) Defina Dados, Banco de Dados, SGBD e Sistema de Banco de Dados. 2) Nos Banco de Dados Relacionais os Dados são vistos como tabelas. Relacione o Projeto de Banco de Dados e as Tabelas dos Banco de Dados Relacionais. 3) Quais são os recursos de um SGBD? Defina integridade e dados persistentes. 4) Descreva com suas palavras as principais características do SGBD. 5) Quais os atores em torno do SGBD.
Exercícios 1) Você vai iniciar o Projeto de um banco de dados de uma Livraria. Para isso você precisa identificar as Entidades e os atributos deste Banco de Dados. O Banco de Dados deve considerar as seguintes necessidades da livraria 1. A livraria deseja manter um cadastro de clientes. 2. Sobre cada cliente, e importante manter seu endereco, telefone, CPF e lista dos livros que este cliente ja comprou. Para cada compra, e importante guardar a data em que esta foi realizada. 3. Um cliente pode comprar muitos livros. Um livro pode ser vendido para mais de um cliente pois geralmente ha vários livros em estoque. 4. Um cliente pode ser pessoa física ou jurídica. Se for pessoa jurídica, o seu identificador deve ser o CNPJ. 5. A livraria compra livros de editoras.
Exercícios 6. Sobre as editoras, a livraria precisa de seu codigo, endereço, telefone de contato, e o nome de seu gerente. 7. Cada cliente tem um código único. 8. Deve-se manter um cadastro sobre cada livro na livraria. Para cada livro, e importante armazenar o nome do autor, assunto, editora, ISBN e a quantidade dos livros em estoque. 9. Editoras diferentes não fornecem o mesmo tipo de livro.
Referências DATE, C. J. Introdução aos Sistemas de Banco de Dados. 8a ed. Rio de Janeiro: Campus, 2004. NAVATHE, S. B, ELMASRI, R. Sistemas de Banco de Dados. 6a ed. São Paulo: Pearson, 2012. SILBERSCHATZ, A., KORTH, H. F., SUDARSHAN, S. Sistema de Banco de Dados. 5a edição. Rio de Janeiro: Campus, 2006.