Universidade Federal do ABC Rua Santa Adélia, 166

Propaganda
Universidade Federal do ABC
Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil
CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166
1. CÓDIGO E NOME DA DISCIPLINA
MC3310 - BANCO DE DADOS
2. DISCIPLINA REQUISITO (RECOMENDAÇÃO)
Algoritmos e Estruturas de Dados I
3. INDICAÇÃO DE CONJUNTO (BCC)
Obrigatória
4. CURSO
5. CRÉDITOS
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO T P I: 4-2-4
6. QUADRIMESTRE IDEAL
7
7. NÍVEL
Graduação
8. Nº. MÁXIMO DE ALUNOS POR TURMA
TEORIA: 60
LABORATÓRIO: 30
9. OBJETIVOS
Apresentar conceitos, técnicas e características básicas dos sistemas gerenciadores de banco de
dados (SGBD).
Apresentar conceitos e técnicas para o projeto e implementação de sistemas de banco de dados,
incluindo modelagem de dados, dependências funcionais, normalização, álgebra relacional e a
linguagem SQL.
10. COMPETÊNCIAS
Ao final da disciplina o aluno deverá ser capaz de aplicar os conceitos necessários ao uso e,
principalmente, projeto e implementação de sistemas de banco de dados.
11. PROGRAMA RESUMIDO
Conceitos Básicos: Arquitetura de um Sistema de Banco de Dados, Modelos de Dados, Linguagens
de Definição e Manipulação de Dados, Usuário de Banco de Dados. Modelagem de Dados.
Modelos de Dados: Relacional, Hierárquicos e de Redes. Projeto de Banco de Dados Relacional:
Dependência Funcional, Chaves, Normalização, Álgebra Relacional e SQL.
12. PROGRAMA
1) Introdução:
- Noções preliminares;
+ Propriedades básicas;
+ Banco de dados versus sistema de arquivos;
- Modelos, linguagens e SGBDs;
- Exemplos de aplicações.
2) Modelo Entidade-Relacionamento:
- Conceitos do modelo:
+ Entidades, atributos e relacionamentos;
+ Tipos de entidades, conjuntos de entidades e atributos-chaves;
+ Tipos de relacionamentos, papéis e restrições estruturais;
+ Tipos de entidades fracas.
- Diagrama Entidade-Relacionamento;
- Conceitos adicionais do modelo:
+ Especialização e Generalização;
+ Relacionamentos de grau maior que dois.
3) Modelo de Dados Relacional:
- Conceitos do modelo:
+ Notação do Modelo;
+ Atributos-chaves de uma relação;
+ Esquemas de Bases de Dados Relacionais e Restrições de integridade;
+ Operações de Atualizações sobre Relações.
4) Mapeamento do Modelo Entidade-Relacionamento para o Relacional:
5) Dependências Funcionais e Normalização:
- Diretrizes informais para o projeto de esquemas de relações;
- Anomalias de Atualização, Inserção e Exclusão;
- Dependências Funcionais:
+ 1FN, 2FN, 3FN e FNBC.
- Dependências Multivaloradas:
+ 4 FN.
6) Linguagens Formais de Consulta:
- Álgebra Relacional:
+ Operações "Select" e "Project";
+ Operação "Join";
+ Operação "Division";
+ Operações adicionais;
+ Funções de agregação.
- A linguagem SQL:
+ Definição de esquema e restrições básicas em SQL;
+ Consultas básicas em SQL;
+ Consultas aninhadas;
+ Definição e utilização de visões.
7) Programação com o Banco de Dados:
- SQL avançada;
- SQL embutida e dinâmica;
- Autorização;
- Procedimentos e funções;
- Seqüências e Triggers;
- Tratamento de exceções;
- Introdução aos conceitos de transação;
- Suporte de transações em SQL.
8) Projeto de Desenvolvimento de Aplicação:
- Interfaces com o usuário e ferramentas.
13. MÉTODOS UTILIZADOS
A teoria e os métodos da disciplina são apresentados por meio de aulas expositivas com uso de
lousa e slides, intercaladas com aulas em laboratório de informática.
14. ATIVIDADES DISCENTES
Duas provas teóricas escritas, estudo individual das referências bibliográficas e das notas de aula,
resolução de listas de exercícios, implementação de projeto em forma de programas.
15. CARGA HORÁRIA
AULAS TEÓRICAS: 48h
AULAS PRÁTICAS: 24h
TOTAL: 72h
RECOMENDADO PARA DEDICAÇÃO INDIVIDUAL:
4 horas por semana
16. CRITÉRIOS DE AVALIAÇÃO DE APRENDIZAGEM
Média ponderada de duas provas e nota de projeto.
17. NORMAS DE RECUPERAÇÃO (CRITÉRIOS DE APROVAÇÃO E ÉPOCAS DE REALIZAÇÃO
DAS PROVAS OU TRABALHOS)
As notas serão dadas por conceito, conforme estabelecido pelas normas internas da UFABC.
Alunos que não atingiram um nível de aprendizado adequado, e sem reprovação por presença,
poderão fazer uma prova de exame para mais uma oportunidade de avaliação. A prova de exame
será realizada após as provas normais, no final do trimestre.
18. BIBLIOGRAFIA RECOMENDADA
BIBLIOGRAFIA BÁSICA:
1. Elmasri, R. e Navathe, S. B. Sistemas de banco de dados (quarta edição), 2005,
Pearson/Addison-Wesley;
2. Silberschatz, A., Korth, H. F. e Sudarshan, S., Sistema de Banco de Dados, tradução da
quinta edição, 2006. Campus/Elsevier;
3. Heuser, C. A., Projeto de Banco de Dados, sexta edição, 2009, Sagra Luzzatto.
BIBLIOGRAFIA COMPLEMENTAR:
1. Date, C. J. Introdução aos Sistemas de Banco de Dados (tradução da oitava edição
americana), 2003, Campus/Elsevier
2. Garcia-Molina, H. e Ullman, J. e Widom, J., Database Systems: The Complete Book (GOAL
Series), 2008, Prentice-Hall.
3. Ramakrishnan, R. Sistemas de bancos de dados. 3 ed., 2008, McGraw-Hill.
4. Teorey, T. e Lightstone, S. e Nadeau, T., Projeto e modelagem de banco de dados. 2007,
Elsevier.
5. Date, C. J., Database In Depth – Relational Theory for Practitioners, 2005, O'Reilly.
19. PLANO SUGERIDO PARA AS AULAS (em semanas letivas)
Aula 1 - Apresentação da disciplina. Introdução: motivação, vantagens e desvantagens da
utilização de SGBD; arquitetura de 3 níveis; linguagens de definição e manipulação de dados;
classificação dos SGBD; componentes dos SGBD; exemplos de aplicações. Modelos Conceituais
de Dados.
Aula 2 - Introdução ao Modelo Entidade-Relacionamento. Apresentação dos construtores: TipoEntidade, Tipo-Relacionamento, Atributos. Exercícios.
Aula 3 - Modelo Entidade-Relacionamento. Restrições dos Tipos-Relacionamento. Grau de TiposRelacionamento. Tipo-Entidade Fraca. Exercícios.
Aula 4 - Extensões do Modelo Entidade-Relacionamento: Generalização/Especialização;
Agregação. Exercícios.
Aula 5 - Introdução ao Modelo Relacional. Definições formais. Restrições. Restrições versus
operações de inserção, remoção e atualização. Exercícios.
Aula 6 - Aula de exercícios sobre o Modelo Entidade-Relacionamento e Modelo EntidadeRelacionamento Estendido.
Aula 7 - Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional.
Aula 8 - Mapeamento do Modelo Entidade-Relacionamento Estendido para o Modelo Relacional.
Aula 9 - Exercícios sobre mapeamento do Modelo Entidade-Relacionamento e Modelo EntidadeRelacionamento Estendido para o Modelo Relacional.
Aula 10 - Aula Prática: Exercícios utilizando uma ferramenta case de modelagem
Aula 11 - Medidas informais para a avaliação da qualidade de um projeto de banco de dados.
Dependência funcional. Introdução aos conceitos sobre normalização. 1FN e 2FN.
Aula 12 - Continuação da apresentação dos conceitos sobre normalização. 3FN, definições
genéricas da 2FN e 3FN. Forma normal de Boyce-Codd.
Aula 13 - Dependências multivaloradas e 4FN. Outras dependências e formas normais. Exercícios.
Aula 14 - Introdução aos conceitos sobre álgebra relacional. Apresentação das operações
fundamentais e adicionais. Detalhamento das operações de seleção, projeção, atribuição,
renomear e produto cartesiano.
Aula 15 - Continuação da apresentação dos conceitos sobre álgebra relacional. Detalhamento das
operações sobre conjuntos e das operações de junção e divisão.
Aula 16 - Continuação da apresentação dos conceitos sobre álgebra relacional. Detalhamento das
funções de agregação. Exercícios.
Aula 17 - Primeira prova teórica
Aula 18 - SQL: Linguagem de definição de dados.
Aula 19 - Aula prática em laboratório utilizando um SGBD: linguagem de definição de dados.
Aula 20 - SQL: Linguagem de manipulação de dados.
Aula 21 - Aula prática em laboratório utilizando um SGBD: linguagem de manipulação de dados.
Aula 22 - Aula prática. Aula prática em laboratório utilizando um SGBD: subconsultas aninhadas
Aula 23 - Aula prática. Aula prática em laboratório utilizando um SGBD: consultas complexas
Aula 24 - Programação de stored procedures em bancos de dados. Procedimentos e cursores.
Aula 25 - Aula prática em laboratório utilizando um SGBD: funções e procedimentos
Aula 26 - Aula prática em laboratório utilizando um SGBD: cursores
Aula 27 - Aula prática em laboratório utilizando um SGBD: tratamento de exceções.
Aula 28 - Aula prática. Sequencias e gatilhos (triggers). SQL embutida. Exercícios.
Aula 29 - Segurança. Autorização. Usuários e papéis.
Aula 30 - Conceitos de transações em bancos de dados
Aula 31 - Aula prática em laboratório utilizando um SGBD: transações em SQL.
Aula 32 - Aula prática em laboratório abordando conceitos relacionados com a conexão de
aplicações com SGBD. ODBC e JDBC. Exercícios.
Aula 33 - Apresentações e defesas de projetos em laboratório
Aula 34 - Apresentações e defesas de projetos em laboratório
Aula 35 - Segunda prova teórica
Aula 36 - Prova de exame final
20. PROFESSOR(A) RESPONSÁVEL
Humberto Luiz Razente
Maria Camila Nardini Barioni
Edson Pinheiro Pimentel
Download