GEE051 - Banco de Dados (BD) Plano de Curso Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/bd UFU/FACOM - 2011/2 Motivação Problemas reais encontrados por engenheiros exigem uma visão sistêmica e muitas soluções envolvem o uso tecnologias de informação, neste caso, tecnologia de Sistemas Gerenciadores de Banco de Dados SGBD Página:2 Objetivo Tornar o aluno capaz de especificar e implementar bancos de dados para aplicações de engenharia, automação e controle, utilizando um gerenciador de banco de dados. Página:3 Programa – Visão Panorâmica 1) Introdução a Banco de Dados e a Sistema Gerenciador de Banco de Dados 2) Projeto de BD 3) Linguagem SQL 4) Especificação e implementação de banco de dados Página:4 Programa - Introdução Principais requisitos e componentes de um SGBD Capacidades de um SGBD Os três níveis principais de abstração de um SGBD Profissionais envolvidos Linguagens de descrição de dados (DDL) Linguagens de manipulação de dados (DML) Arquitetura de um sistema de banco de dados Modelos de dados Página:5 Programa – Projeto – Visão Panorâmica Projeto de BD • Projeto Conceitual: Modelo de Entidade e Relacionamento(MER) • Projeto Lógico: Modelo Relacional, teoria de dependências funcionais e normalização de tabelas • Projeto Físico: características do SGBD Página:6 Programa – Projeto Conceitual Modelo de Entidade e Relacionamento (MER) Fundamentos teóricos Diagrama Entidade Relacionamento (DER) DER estendido Página:7 Programa – Projeto Lógico Modelo Relacional Apresentação geral do modelo (estrutura dos dados, esquemas, instâncias) Chaves primárias, candidatas e estrangeiras Integridade referencial Passagem do Modelo ER para o modelo relacional Critérios para um bom projeto Anomalias em projetos Dependências funcionais Normalização de tabelas (Formas normais) Página:8 Programa – Projeto Físico Requisitos da Aplicação e Características do SGBD Requisitos de desempenho Uso de índices Escolha do SGBD Página:9 Programa – Linguagem SQL Linguagem SQL Comandos de criação e eliminação de tabelas Comandos de inserção de tuplas em tabelas Comandos de alteração e supressão de tuplas Comandos de consulta (simples e complexos) Definição de visões Especificação de restrições em bancos de dados Evolução de esquemas de banco de dados Página:10 Programa – Especificação e implementação de BD Especificação e implementação de banco de dados Especificação de um problema de engenharia a ser implementado por intermédio do SGBD Projeto conceitual (Modelagem através do modelo entidade e relacionamento) Elaboração do projeto lógico (através do modelo relacional) Página:11 Programa – Especificação e implementação de BD - continuação LAB01: Apresentação do SGBD PostgreSQL e da ferramenta PGAdmin III Script de criação das tabelas do banco de dados LAB02: Criação de tabelas do PostgreSQL Definição de consultas e de visões para o banco de dados LAB03: Manipulação de dados no PostgreSQL – Consultas simples LAB04: Manipulação de dados no PostgreSQL – Consultas aninhadas LAB05: Implementação de visões no PostgreSQL Restrições de integridade usando gatilhos LAB06: Implementação de funções no PostgreSQL LAB07: Implementação de gatilhos no PostgreSQL Página:12 Metodologia • Aulas expositivas • Exercícios em sala de aula • Exercícios implementados em computador, usando um SGBD • Projeto e implementação de um protótipo de aplicação Página:13 Avaliação A TIV ID A D E P r im e ir a p r o va S e g u n d a p r o va E xe r c íc io s Tr a b a lh o F in a l D A TA V ALOR Página:14 Bibliografia - Básica Elmasri, R. e Navathe, S. Sistemas de banco de dados, 4a Edição, Addison-Wesley, São Paulo, 2005. Ramakrishnan, R. e Gehrke, J. Database management systems, 3a Edição, McGraw-Hill, 2002 PostgreSQL global development group, Manuais do PostgreSQL, http://www.postgresql.org/docs, Acesso 08/2011 Página:15 Bibliografia - Complementar Date, C. J. Introdução a sistemas de bancos de dados, Tradução da 8a Edição Americana, Elsevier / Campus, 2004 Silberschatz, A., Korth, H. F., e Sudarshan, S. Sistema de banco de dados, São Paulo, Makron Books, 1999. Pereira Neto, A. PostgreSQL: Técnicas avancadas: Soluções para desenvolvedores e administradores de BD, 3a Edição, Erika, 2006 Alves, W. P. Fundamentos de Bancos de Dados, Érica, São Paulo, 2004. Página:16 FIM – Plano de Curso Página:17