Bases de Dados e Programação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Tecnologia da Informação |
Ocorrência: 2020/2021 - 1S ![Requerida a integração com o Moodle Ícone do Moodle](/fep/pt/imagens/MoodleIcon)
Ciclos de Estudo/Cursos
Língua de trabalho
Inglês
Objetivos
O objectivo principal da cadeira de "Bases de Dados e Programação" é o de proporcionar ao mestrando informação sobre sistemas de gestão de bases de dados (SGDB), com particular ênfase nas bases de dados relacionais, bem como alguma formação básica sobre programação.
Dentro do tópico de sistemas de gestão de bases de dados, os mestrandos adquirirão conhecimentos sobre metodologias de análise e modelação de problemas, bem como sobre a linguagem de consultas de bases de dados relacionais SQL.
Os mestrandos irão aprender a programar usando a linguagem R que lhes permitam usar as potencialidades disponíveis para realizar processamento, representação gráfica e modelação de dados. Aprenderão também como os dados podem ser importados/exportados de diversas fontes segundo vários formatos. A capacidade de ligação da linguagem R às bases de dados relacionais também é abordada. Os mestrandos deverão conseguir criar funções próprias para resolverem problemas propostos em exercícios e em trabalhos práticos.
No fim serão capazes de implementar algoritmos utilizando a linguagem de programação R.
Resultados de aprendizagem e competências
Os mestrandos serão capazes de dominar os conceitos chave sobre sistemas de gestão de base de dados. Adquirem as competências para desenhar uma base de dados para problemas concretos utilizando as metodologias apresentadas na aula. Conseguirão construir consultas em SQL para obter informação com determinados critérios de bases de dados.
No âmbito da programação, os mestrandos adquirem conhecimentos sobre a linguagem R e deverão ser capazes de implementar algoritmos. Dominarão os elementos principais da linguagem R no contexto do tratamento de informação, representação gráfica e importação e exportação de dados.
Modo de trabalho
Presencial
Programa
Programação
* Conceitos introdutórios: expressões, operadores, instrução de atribuição.
* Vectores: tipos de valores (numérico, caracter, etc), comprimento e nomes de elementos
* Indexação: por números, nomes e condições
* Objectos mais complexos: matrizes, factores, data.frames, arrays e listas.
* Funções simples: matemáticas (exp), estatísticas (mean, sd), a função ifelse, funções "vectorizáveis"
* Funções complexas: Vectorização de Funções: apply, sapply, as funções de sumarização como by, aggregate.
* Leitura e gravação de dados de diversos tipos e de varias fontes.
* Representação gráfica de dados: diferentes tipos de gráficos, ex. scatter plot's, gráficos de barras, boxplots, histogramas, etc.
* Acesso a outras bibliotecas de funções: função library e require.
* Estruturas de Controlo de fluxo de programa: a instrução if, os ciclos (while, for, etc)
* Orientação por objectos: objectos, métodos e classes. Conceitos de métodos e estado, herança e superclasse.
* Depuração de programas: Facilidades do R para detectar erros de funcionamento nos programas desenvolvidos pelo utilizador. A função debug e browser de debug.
* Construção de interfaces gráficas para os programas
Bases de Dados
Conceitos básicos de Bases de Dados
Modelação de Dados. Desenho de de diagramas de Entidades e Relacionamentos (E/R).
O Modelo Relacional de Bases de Dados
Transformação de um Modelo E/R num esquema de tabelas
Linguagens de consulta: SQL
partes do SQL relacionadas com
definição de dados DDL (data definition language) , create table ....
manipulação de dados DML (data manipulation language), insert into ..., update
gestão do acesso à informação DCL (data control language), grant ...
Interrogação de bases de dados em SQL
consultas envolvendo uma tabela, consultas com junções envolvendo várias tabelas
consultas com sub-consultas sem interdependência entre variáveis e com interdependência.
consultas de sumarização.
Instalação e Configuração de Sistemas de Gestão de Bases de dados (SQBD)
O MySQL
O SQLServer Express Edition
Comunicação com o SGBD usando ODBC
Bibliografia Obrigatória
Luís Fernando Rainho Alves Torgo;
Data mining with R. ISBN: 978-1-4398-1018-7
James R. Groff;
Using SQL. ISBN: 0-07-881524-X
Métodos de ensino e atividades de aprendizagem
Aulas teórico-práticas, com uma componente de exposição oral das matérias, complementada com a resolução de exercícios práticos com apoio de computador.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Teste |
60,00 |
Trabalho escrito |
40,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Estudo autónomo |
70,00 |
Frequência das aulas |
42,00 |
Trabalho escrito |
50,00 |
Total: |
162,00 |
Obtenção de frequência
Nota final maior ou igual a 9.5, com a nota do exame superior ou igual a 7.
Fórmula de cálculo da classificação final
A Nota Final (NF) na disciplina é calculada pela seguinte fórmula:
NF = 0.4 * NP + 0.6 * NE
em que,
NP é a nota prática do(a) aluno(a), definida abaixo
e NE é a nota do exame escrito feito pelo(a) aluno(a) e sujeita à restricção NE > 7.
A nota prática resulta da execução de dois trabalhos práticos individuais e com peso igual, isto é,
NP = 0.5 * N.Trab1 + 0.5 * N.Trab2
Melhoria de classificação
Os alunos podem tentar melhorar a utilizando o exame de epoca de recurso.
Por defeito é utilizada a fórmula normal de cálculo da notas final que utiliza os trabalhos. Se o aluno pretender que conte para nota apenas o exame de recurso sem a nota dos trabalhos então deve contactar o professor para que este prepare um exame mais completo.