BCC321 - Banco de Dados I - 2022-1

Carga horária da disciplina: 4 horas/aula


Professor(es) em 2022-1

Turma 11 Professor:
Guilherme Tavares de Assis - www | e-mail

Horários:
Terça-feira (13h30 - 15h10)
Quinta-feira (13h30 - 15h10)

Objetivos

Apresentar os fundamentos que permitirão ao aluno compreender os principais aspectos da tecnologia de banco de dados.

Ementa

Conceitos 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