Bancos de Dados I – TIN0120

Obrigatória – 60 horas – 4 créditos
Pré-requisitos: Técnicas de Programação II
Professor Responsável: Reinaldo Viana Alvares

Objetivos da Disciplina

Capacitar o aluno a classificar esquemas de banco de dados de acordo com o seu nível de abstração (conceitual, lógico e físico) e de acordo com a arquitetura de três esquemas da ANSI-SPARC; identificar os usuários do banco de dados de acordo com os níveis de abstração dos modelos de dados em que atuam; classificar Sistemas de Gerenciamento de Banco de Dados; projetar esquema conceitual entidade-relacionamento de banco de dados; projetar esquema conceitual orientado a objeto de banco de dados; traduzir esquema conceitual entidade-relacionamento do banco de dados em esquema lógico de banco de dados relacional; avaliar informalmente a qualidade do projeto conceitual e lógico de um banco de dados; aplicar regras formais para normalização de banco de dados relacional; escrever comandos para criação de banco de banco de dados relacional empregando a linguagem SQL; escrever comandos para manipulação (inclusão, remoção e atualização de dados) de um banco de dados relacional empregando a linguagem SQL.

Ementa

Conceitos básicos sobre Bancos de Dados e Sistemas de Gerência de Banco de Dados. Modelo Entidades e Relacionamentos e Modelagem de Dados com UML. Modelo relacional. Álgebra relacional e SQL. Restrições de integridade e visões. Dependências Funcionais e Formas Normais. Projeto de bancos de dados relacionais.

Conteúdo Programático

  • Princípios de Banco de dados
    • Definição de bancos de dados e Sistema de Gerenciamento de Banco de Dados
    • Processamento de arquivos versus o uso de banco de dados
    • Vantagens no uso de banco de dados
    • Papéis em um ambiente de banco de dados
    • Níveis de abstração de banco de dados
    • Modelo de banco de dados
    • Arquitetura ANSI-SPARC de três esquemas
    • Esquema do banco de dados
    • Estado do banco de dados
    • Metadados
    • Linguagens de SGBD
    • Módulos típicos de um SGBD
    • Utilitários de Sistemas de Banco de Dados
  • Modelagem conceitual de banco de dados
    • Arquitetura SGBD centralizada
    • Arquitetura Cliente/Servidor
    • Arquitetura de três camadas para aplicações web
    • Classificação dos SGBDs baseada em modelo, número de usuários e número de sites
  • Arquitetura e classificação de SGBD
    • Modelagem conceitual empregando o modelo Entidades-Relacionamentos (ER)
    • Modelagem conceitual empregando o modelo Entidades-Relacionamentos-Estendido (ERE)
    • Exemplo de ferramenta para construção de modelo ER/ERE de banco de dados
    • Modelagem conceitual empregando diagrama de classes da UML
    • Exemplo de ferramenta para construção de diagrama de classes da UML
  • Projeto relacional de bancos de dados
    • Construção de modelo de banco de dados relacionado a partir de modelo conceitual ER/ERE empregando regras de mapeamento ER/EER para banco de dados relacional
    • Aplicação de medidas informais para qualidade de projeto de banco de dados
    • Dependências funcionais e normalização de banco de dados
  • Structured Query Language (SQL)
    • Exemplo de Sistema de Gerenciamento de Bancos de Dados Relacionais
    • Comandos para criação de banco de dados
      • Criação de conta de usuário
      • Criação de esquema
      • Criação de tabela
      • Definição de tipos de dados para colunas
      • Especificação de restrições: not null, default, check, primary key, unique, foreign key
      • Comandos de remoção (drop)
      • Comandos de alteração
      • Comandos para manipulação do banco de dados (select, insert, update e delete)

    Metodologia

    Aprendizagem baseada em projeto: ao longo da disciplina, a partir de um domínio pré-definido, o aluno deve projetar esquema conceitual do banco de dados empregando modelo entidade-relacionamento e projeto esquema conceitual empregando diagrama de classes da UML. Em seguida, ele deve elaborar o modelo lógico do banco de dados empregando notação simplificada como, por exemplo, a notação proposta por Heuser (2008). O aluno deve então traduzir este modelo lógico para comandos SQL para criação do banco de dados, especificando as restrições que devem ser consideradas no banco de dados. Por fim, o aluno deve manipular o banco de dados através do armazenando de dados fictícios neste banco de dados, elaboração de consultas, atualização e exclusão de dados.
    Exposição de conteúdo: para apoiar o aluno na realização das suas tarefas, são realizadas aulas presenciais com exposição de conteúdos e aplicação de exercícios de fixação.

    Avaliação

    Três provas parciais (70% da média).
    Testes, exercícios e trabalhos em grupo (30% da média).
    Prova final para alunos com média maior ou igual a 4,0 e menor que 7,0.

    Bibliografia

    • Elmasri, R. Navathe. S.B. Sistemas de Bancos de Dados. 5ª Edição. Addison-Wesley, 2005.
    • Elmasri, R. Navathe. S.B. Sistemas de Bancos de Dados. 6ª Edição. Addison-Wesley, 2010.
    • Heuser, C.A. Projeto de Bancos de Dados. Sagra Luzzato, 2008.
    • Date, C.J. Introdução a Sistemas de Bancos de Dados. Campus, 2000.

mapa CCET - Avenida Pasteur, 458 - Urca
Rio de Janeiro / RJ - CEP: 22290-255
Telefone: (21)3873-6400