Disciplina

Área

Área Científica de Sistemas de Informação > Tecnologias de Sistemas de Informação

Activa nos planos curriculares

MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Gestão de Serviços de It > Administração de Dados e Sistemas de Informação

METI 2018 > METI 2018 > 2º Ciclo > Áreas de Especialização > Gestão das Redes, da Informação e dos Serviços > Administração de Dados e Sistemas de Informação

METI 2021 > METI 2021 > 2º Ciclo > Área Principal > Especializações > Especialização em Ciência de Dados para a Web > Informática > Administração de Dados e Sistemas de Informação

MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Sistemas de Informação > Administração de Dados e Sistemas de Informação

MECD2019 > MECD2019 > 2º Ciclo > Opções > Administração de Dados e Sistemas de Informação

MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Sistemas de Informação > Administração de Dados e Sistemas de Informação

MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Tecnologia dos Sistemas Informáticos > Administração de Dados e Sistemas de Informação

MERC 2006 > MERC 2006 > 2º Ciclo > Área de Especialização Principal > Gestão das Redes, da Informação e dos Serviços > Administração de Dados e Sistemas de Informação

MEIC-T 2006 > MEIC-T 2006 > 2º Ciclo > Áreas de Especialização Complementares > Tecnologias dos Sistemas Informáticos > Administração de Dados e Sistemas de Informação

Nível

A avaliação consistirá num exame final (55% da nota final, nota mínima de 9,5 valores) e em três mini-projetos desenvolvidos ao longo do semestre (45% da nota final, nota mínima de 9,5 valores na média dos três projetos). Os alunos trabalhadores-estudantes poderão optar por um regime de avaliação baseado apenas no exame (100% da nota final). Após a realização do exame, os alunos cuja diferença entre as notas dos mini-projetos (média dos projetos, numa escala entre 0 e 20) e a nota do exame seja superior a 5 valores, terão como nota final a classificação mais baixa entre a nota do exame e a dos projetos. Os alunos nesta situação poderão propor-se a uma avaliação oral, a realizar no final do semestre e após a revisão de provas do segundo exame, podendo a nota final variar entre a nota mais baixa entre a nota do exame e a dos projetos e a média obtida tendo em conta as notas do exame e projectos, em função da prestação do aluno nesta prova. Cada mini-projeto conterá problemas práticos, para os quais os alunos deverão encontrar soluções programáticas (e.g., instruções SQL), e questões teóricas de desenvolvimento. O primeiro mini-projeto abrangerá os tópicos 1, 2 e 3 do programa, o segundo mini-projeto abrangerá os tópicos 4, 5 e 6 do programa, e o terceiro mini-projeto abrangerá os tópicos 7, 8, 9 e 10 do programa.

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

3.0 h/semana

1.5 h/semana

147.0 h/semestre

Objectivos

A unidade curricular de Administração de Dados em Sistemas de Informação tem como objectivo dar aos alunos as competências necessárias para gerir, optimizar e usar eficazmente sistemas modernos para a gestão de grandes volumes de dados. Os alunos devem ser capazes de: 1. compreender os mecanismos internos de um Sistema de Gestão de Bases de Dados (SGBD) relacional, nomeadamente a gestão de armazenamento, a indexação, o processamento e optimização de interrogações, a gestão de transações, do controlo de concorrência e gestão de recuperação 2. compreender as tarefas envolvidas na administração de bases de dados 3. optimizar o acesso à informação em bases de dados que armazenam grandes quantidades de dados 4. adquirir conhecimento básico sobre as várias arquiteturas de bases de dados paralelas e distribuídas, incluindo sistemas convencionais (SQL) e não convencionais (NoSQL).

Programa

O programa de Administração de Dados em Sistemas de Informação inclui maioritariamente temas de Information Management (IM) do Currículo ACM CS 2013. Os temas do programa, a seguir apresentados, são etiquetados com tópicos desse currículo e da taxonomia ACM CCS 2012 para clarificação: 1. (Sub-)Sistemas de armazenamento a. Tecnologias de armazenamento (e.g., RAID) b. Replicação c. Arquiteturas ACM CS IM/Database Systems > Components of database systems ACM CS IM/Physical Database Design > Storage and file structure ACM CCS 2012 Information systems > Information storage systems > Information storage technologies 2. Algoritmos de indexação e organização de ficheiros a. Armazenamento de registos b. Gestão de buffers c. Acesso aos dados ACM CS IM/Database Systems > Components of database systems ACM CS IM/Database Systems > Design of core DBMS functions ACM CS IM/Indexing ACM CCS 2012 Information systems > Information storage systems > Record storage systems ACM CCS 2012 Information systems > Database management system engines > Record and buffer management 3. Processamento de interrogações a. Planeamento b. Algoritmos c. Optimização ACM CS IM/Database Systems > Components of database systems ACM CS IM/Database Systems > Design of core DBMS functions ACM CCS 2012 Information systems > Database management system engines > Database query processing 4. Controlo de concorrência a. Protocolos baseados em locking b. Protocolos baseados em timestamping c. Protocolos multi-versão ACM CS IM/Database Systems > Components of database systems ACM CS IM/Database Systems > Design of core DBMS functions ACM CS IM/Transaction Processing > Concurrency control ACM CCS 2012 Information systems > Database management system engines > Database transaction processing 5. Recuperação de dados a. Logging b. Falhas de memória não volátil c. Cópias de segurança (backups) ACM CS IM/Database Systems > Components of database systems ACM CS IM/Database Systems > Design of core DBMS functions ACM CS IM/Transaction Processing > Failure and recovery ACM CCS 2012 Information systems > Database management system engines > Database transaction processing > Database recovery 6. Optimização de bases de dados a. Optimização do esquema b. Optimização de interrogações ACM CS IM/Physical Database Design > Database efficiency and tuning ACM CCS 2012 Information systems > Database management system engines > Database query processing ACM CCS 2012 Information systems > Database design and models > Relational database model ACM CCS 2012 Information systems > Data structures > Data access methods 7. Optimização de índices a. Clustering b. Índices de cobertura (covering indexes) ACM CS IM/Physical Database Design > Database efficiency and tuning ACM CS IM/Indexing ACM CCS 2012 Information systems > Information storage systems > Record storage systems > Record storage alternatives ACM CCS 2012 Information systems > Information storage systems > Record storage systems > Directory structures 8. Optimização do hardware e sistema operativo a. Threads, buffers e armazenamento b. Desempenho de bases de dados ACM CS IM/Physical Database Design > Database efficiency and tuning ACM CS IM/Transaction Processing > Interaction of transaction management with storage, especially buffering ACM CCS 2012 Information systems > Database management system engines > Record and buffer management ACM CCS 2012 Information systems > Database administration > Database performance evaluation 9. Bases de dados paralelas e distribuídas a. Arquiteturas b. Particionamento c. Algoritmos d. Sistemas baseados em map-reduce ACM CS IM/Database Systems > Approaches for managing large volumes of data ACM CS IM/Distributed Databases ACM CCS 2012 Information systems > Database management system engines > Parallel and distributed DBMSs > Relational parallel and distributed DBMSs ACM CCS 2012 Information systems > Database management system engines > Parallel and distributed DBMSs > MapReduce-based systems 10. Bases de dados NoSQL a. Bases de dados chave-valor b. Bases de dados de documentos c. Bases de dados orientadas às colunas d. Bases de dados de grafos ACM CS IM/Database Systems > Approaches for managing large volumes of data ACM CCS 2012 Information systems > Database management system engines > Parallel and distributed DBMSs > Key-value stores ACM CCS 2012 Information systems > Information retrieval

Metodologia de avaliação

A avaliação consistirá num exame final (55% da nota final, nota mínima de 9,5 valores) e em três mini-projetos desenvolvidos ao longo do semestre (45% da nota final, nota mínima de 9,5 valores na média dos três projetos). Os alunos trabalhadores-estudantes poderão optar por um regime de avaliação baseado apenas no exame (100% da nota final). Após a realização do exame, os alunos cuja diferença entre as notas dos mini-projetos (média dos projetos, numa escala entre 0 e 20) e a nota do exame seja superior a 5 valores, terão como nota final a classificação mais baixa entre a nota do exame e a dos projetos. Os alunos nesta situação poderão propor-se a uma avaliação oral, a realizar no final do semestre e após a revisão de provas do segundo exame, podendo a nota final variar entre a nota mais baixa entre a nota do exame e a dos projetos e a média obtida tendo em conta as notas do exame e projectos, em função da prestação do aluno nesta prova. Cada mini-projeto conterá problemas práticos, para os quais os alunos deverão encontrar soluções programáticas (e.g., instruções SQL), e questões teóricas de desenvolvimento. O primeiro mini-projeto abrangerá os tópicos 1, 2 e 3 do programa, o segundo mini-projeto abrangerá os tópicos 4, 5 e 6 do programa, e o terceiro mini-projeto abrangerá os tópicos 7, 8, 9 e 10 do programa.

Pré-requisitos

Componente Laboratorial

Princípios Éticos

Componente de Programação e Computação

Componente de Competências Transversais

Bibliografia

Principal

Database Management Systems 3rd edition

R. Ramakrishnan, J. Gehrke

2003

McGraw-Hill


Database Tuning: principles, experiments and troubleshooting techniques

D. Shasha, P. Bonnet

2002

Morgan Kaufmann


Secundária

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence

Sadalage, Fowler

2012

Addison Wesley


Database System Concepts, 6th edition

A. Silberchatz, H. Korth, S. Sudarshan

2010

McGraw-Hill