BCC321 - Banco de Dados I - 2024-1Carga horária da disciplina: 4 horas/aula Professor(es) em 2024-1
ObjetivosApresentar os fundamentos que permitirão ao aluno compreender os principais aspectos da tecnologia de banco de dados.EmentaConceitos básicos em sistemas de banco de dados; arquitetura de sistemas de banco de dados; modelagem conceitual de dados; modelo relacional; linguagens: álgebra e cálculo relacional; a linguagem SQL (Structured Query Language) e o uso de API (Application Interface Programming); projeto de banco de dados; normalização de banco de dados; noções de processamento de transações, controle de concorrência e recuperação de falhas; aspectos de implção de banco de dados.Conteúdo Programático- Conceitos básicos em sistemas de banco de dados- Definições: banco de dados, sistema de banco de dados, sistema gerenciador de banco de dados - Principais características e capacidades oferecidas pelos sistemas de banco de dados - Aplicações de bancos de dados tradicionais - Arquitetura de sistemas de banco de dados - Conceitos básicos: modelo de dados, esquemas e instâncias - Arquitetura de três esquemas - Tipos de interfaces e linguagens fornecidas por um sistema gerenciador de banco de dados - Tipos de arquiteturas cliente/servidor - Modelagem conceitual de dados - Visão geral das etapas de um projeto de banco de dados - Modelos de dados conceituais - Conceitos: tipos de entidade, atributos e relacionamentos - Modelos ER e EER: conceitos e notação - Conceitos de diagrama de classe UML - Modelo Relacional - Conceitos básicos do modelo relacional - Restrições relacionais - Operações de atualização do modelo relacional e tratamento de violações de restrição - Linguagens: álgebra e cálculo relacional - Operações relacionais unárias e binárias - Exemplos de consultas em álgebra relacional - Exemplos de consultas em cálculo relacional de tupla e de domínio - A linguagem SQL e o uso de API - Definições e tipos de dados em SQL - Comandos SQL para criação de esquemas e tabelas - Especificação de restrições básicas - Comandos SQL para inserção, exclusão e alteração de dados - Consultas de recuperação em SQL - Uso de uma interface de programação de aplicações - Projeto de banco de dados - Projeto lógico de banco de dados relacional: mapeamento ER/EER para relacional - Normalização de banco de dados - Dependências funcionais - Definições das formas normais - Procedimentos de normalização - Noções de processamento de transações, controle de concorrência e recuperação de falhas - Introdução ao processamento de transações e controle de concorrência - Propriedades desejáveis nos sistemas de processamento de transações - Plano de execução de transações - Serialização da execução concorrente da transação - Protocolos de controle de concorrência: técnicas de bloqueio em duas fases - Deadlock e inanição - Técnicas de recuperação de falhas baseadas na atualização adiada e imediata - Aspectos de implementação de banco de dados - Utilização de um SGBD comercial para realização de um projeto de banco de dados Bibliografia- ELMASRI, Ramez; NAVATHE, Sham. Sistemas de banco de dados. 6. ed. São Paulo: Pearson, Addison Wesley, 2011.- SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de banco de dados. 6. ed. Rio de Janeiro: Elsevier, 2012. - DATE, Christopher J. Introdução a sistemas de bancos de dados. Rio de Janeiro: Elsevier, 2004. Bibliografia complementar- ROB, Peter; CORONEL, Carlos. Sistemas de banco de dados: projeto, implementação e gerenciamento. São Paulo: Cengage Learning, 2011.- RAMAKRISHNAN, Raghu; GEHRKE, Johannes. Sistemas de gerenciamento de banco de dados. São Paulo: McGraw-Hill, 2008. - ELMASRI, Ramez; NAVATHE, Sham. Fundamentals of database systems. 5. ed. Boston: Pearson, 2007. - TEOREY, Toby; LIGHTSTONE, Sam; NADEAU, Tom. Projeto e modelagem de bancos de dados. Rio de Janeiro: Elsevier, Campus, 2007. - ALVES, William Pereira. Fundamentos de bancos de dados. São Paulo: Érica, 2004. - PEREIRA NETO, Álvaro. PostgreSQL: técnicas avançadas versões Open Source 7.x e 8.x soluções para desenvolvedores e administradores de bancos de dados. São Paulo: Érica, 2003. - GARCIA-MOLINA, Hector; ULLMAN, Jeffrey D.; WIDOM, Jennifer. Implementação de sistemas de bancos de dados. Rio de Janeiro: Campus, 2001. |
Departamento de Computação | ICEB | Universidade Federal de Ouro Preto
Campus Universitário Morro do Cruzeiro | CEP 35400-000 | Ouro Preto - MG, Brasil
Telefone: +55 31 3559-1692 | decom@ufop.edu.br