Gestão de Dados de Saúde II - (DEI)

Propaganda
Impressão em: 03-01-2013 16:10:58
Ficha da Unidade Curricular (UC)
1. Identificação
Unidade Orgânica : Escola Superior de Tecnologia e Gestão
Curso : [IS] Informática para a Saúde
Tipo de Curso :
UC/Módulo : Gestão de Dados de Saúde II
Carácter : obrigatória
Área Científica : Informática para a Saúde
ECTS : 6
Ano : 2º
Ano Letivo : 2011/2012
Semestre : 2º
Pré-Requisitos : Não Tem.
Horas de Trabalho
Ensino Teórico (T)
30:00
Ensino Prático Laboratorial (PL)
45:00
Orientação Tutorial (OT)
5:00
Horas de Trab. Autónomo
82:00
Horas Totais
162:00
Idioma: Português e Inglês
2. Corpo Docente
Docente Responsável : Rui Miguel de Carvalho Leal de Oliveira
Docentes:
Anabela Moreira Bernardino
Rui Miguel de Carvalho Leal de Oliveira
3. Enquadramento
A gestão de bases de dados relacionais pode ser feita, a um nível básico, usando unicamente SQL. Contudo, a necessidade de
impor sobre os dados regras de integridade e de segurança de elevada complexidade obrigam ao uso de linguagens de
programação de mais baixo nível. No caso do Sistema de Gestão de Bases de Dados (SGBD) Oracle, a linguagem privilegiada é a
PL/SQL.
Contudo, a versatilidade oferecida pelas linguagens de programação de 3ª geração ao programador de bases de dados obriga-o a
um profundo conhecimento do SGBD para o qual programa. Se assim não for, incorrerá no risco de provocar falhas de integridade
severas nos dados e de causar o estrangulamento crítico de recursos.
4. Objetivos/Competências
Gerais
O1-Gerir a implementação eficaz e eficiente de regras de integridade e de segurança complexas sobre os dados
O2-Desnormalizar de forma controlada e eficiente uma base de dados
O3-Tirar partido de um conhecimento profundo do funcionamento interno do SGBD para programar uma base de dados com eficácia
de proteção e eficiência de recursos maximizadas
Específicas
CE1-Capacidade para modelar/implementar uma base de dados de acordo com critérios de segurança dos dados
CE2-Saber delinear e implementar uma estratégia de otimização de pesquisas quer com recurso a desnormalização
CE3-Capacidade para resolver problemas de gestão da base de dados por aplicação do conhecimento sobre o funcionamento
interno do SGBD Oracle
CE4-Saber hierarquizar e impor restrições de integridade sobre os dados em ambiente cliente-servidor
CE5-Adquirir e compreender conceitos genéricos relativos a bases de dados
CE6-Ser capaz de usar os detalhes da linguagem de programação PL/SQL para melhorar o desempenho e gestão de recursos das
aplicações de bases de dados
Transversais
CT1-Conseguir integrar grupos para realizar trabalho e discutir ideias
CT2-Saber identificar conhecimento relevante de entre um todo
CT3-Saber realizar eficientemente estudo autónomo na área e eliminar dúvidas recorrendo primariamente aos canais de
conhecimento da bibliografia
CT4-Ser capaz de demonstrar espírito crítico e capacidade de argumentação
CT5-Dominar a língua dominante da área (Inglês) em dissertações sobre BD
CT6-Compreender a importância de uma abordagem de estudo continuado para a aquisição de competências científicas
CT7-Saber gerir o tempo disponibilizado pelos docentes na aquisição de conhecimento/competências/orientação
5. Programa
5.1 Resumido
Aulas Teóricas
-------------Desenvolvimento de aplicações para bases de dados em modo cliente-servidor
Funcionamento interno do SGBD Oracle
Restrições de integridade em bases de dados
Otimização de pesquisas por desnormalização
Aulas Prático-Laboratoriais
--------------------------Aplicação a um projeto de bases de dados dos conceitos abordados nas aulas teóricas
Linguagem PL/SQL do SGBD Oracle
Importação de dados de fontes externas
Tipos de dados particulares (encriptação e dados binários)
5.2 Detalhado
1. Problemas da abordagem normalizada às bases de dados
1.1. Performance
1.2. Complexidade de consultas
1.3. Desnormalização como solução do problema
1.3.1. Conceito e objetivos
1.3.1. Problemas associados com o espaço de armazenamento
1.3.2. Problemas associados com o controlo da redundância
1.3.3. Formatos típicos em bases de dados
1.3.3.1. Atributos derivados
1.3.3.2. Vistas materializadas
1.3.4 Síncrona vs assíncrona
1.4. Sistemas de Apoio à Decisão
1.5. Indexação
1.5.1. Índices B*Tree
1.5.2. Índices Bitmap
2. Aplicação de regras de integridade de dados em bases de dados
2.1. Sistemas preventivos vs sistemas corretivos
2.2. Incapacidades da linguagem SQL
2.3. Hierarquia de imposição de regras de integridade
2.3.1. SQL-DCL
2.3.2. SQL-DDL
2.3.3. PL/SQL
2.3.4. Programação de interfaces
3. Linguagem PL/SQL no SGBD Oracle 11G
3.1. Tipos de blocos de código em PL/SQL
3.1.1. Anónimos vs nomeados
3.1.2. Explicitamente vs implicitamente executados
3.2. Triggers
3.2.1. Pseudoregistos NEW e OLD
3.2.2. Temporização, evento e objeto
3.2.3. Componentes obrigatórios e opcionais
3.2.4. Algoritmo de aplicação de restrições integridade
3.2.5. Triggers para imposição de regras de integridade de 3º nível
3.2.6. Optimização de código em triggers: INSERTING, UPDATING, DELETING
3.3. Procedimentos
3.3.1. Parametrização
3.3.2. Procedimentos para imposição de regras de integridade de 4º nível
3.4. Implementação de desnormalização controlada com SQL e PL/SQL
4. Desenvolvimento com sucesso de aplicações para bases de dados cliente-servidor Oracle
4.1. Importância do conhecimento do sistema para uma programação afinada com os recursos
4.1.1. Migração entre SGBDs/versões do mesmo SGBD
4.1.2. Bind variables
4.1.3. Relacionamento DBA/Database Developer
4.2. Conceitos
4.2.1. Instância
4.2.2. Base de dados
4.2.3. Bloco de dados e sua importância no tipo de base de dados
4.3. Estruturas de memória
4.3.1. Tipos: SGA, PGA e UGA
4.3.2. Pools: large/shared/java/redo log buffer/database block buffer
4.4. Modos de comunicação com um servidor Oracle
4.4.1. Dedicated server
4.4.2. Shared server
4.4.3. Influência da escolha na capacidade de resposta do SGBD
4.4.4. Falácias relativas à ocupação de recursos
4.4.5. Ficheiro "tnsnames.ora"
4.5. Processos cliente/servidor/listener
4.6. Threads servidora/de background/dispatcher
4.7. Ficheiros de uma base de dados no SGBD Oracle
4.7.1. Data files
4.7.2. Redo log files
4.7.3. Temp files
4.8. Interação dos componentes do SGBD nas operações básicas SQL
5.3 Fundamentação da coerência dos conteúdos programáticos com os objetivos/competências da unidade
curricular
1. Problemas da abordagem normalizada às bases de dados
1.1. Performance (CE2,CE3)
1.2. Complexidade de consultas (CE2)
1.3. Desnormalização como solução do problema (CE2)
1.3.1. Conceito e objetivos (CE5)
1.3.1. Problemas associados com o espaço de armazenamento (CE3)
1.3.2. Problemas associados com o controlo da redundância (CE3)
1.3.3. Formatos típicos em bases de dados
1.3.3.1. Atributos derivados (CE3,CE5)
1.3.3.2. Vistas materializadas (CE3,CE5)
1.3.4 Síncrona vs assíncrona (CE3,CE5)
1.4. Sistemas de Apoio à Decisão (CE5)
1.5. Indexação (CE3,CE5)
1.5.1. Índices B*Tree (CE5)
1.5.2. Índices Bitmap (CE5)
2. Aplicação de regras de integridade de dados em bases de dados
2.1. Sistemas preventivos vs sistemas corretivos (CE1,CE5,CE4)
2.2. Incapacidades da linguagem SQL (CE4,CE5)
2.3. Hierarquia de imposição de regras de integridade (CE1,CE4,CE3)
2.3.1. SQL-DCL
2.3.2. SQL-DDL
2.3.3. PL/SQL
2.3.4. Programação de interfaces
3. Linguagem PL/SQL no SGBD Oracle 11G
3.1. Tipos de blocos de código em PL/SQL
3.1.1. Anónimos vs nomeados (CE6)
3.1.2. Explicitamente vs implicitamente executados (CE6)
3.2. Triggers
3.2.1. Pseudoregistos NEW e OLD (CE6)
3.2.2. Temporização, evento e objeto (CE3,CE6)
3.2.3. Componentes obrigatórios e opcionais (CE6)
3.2.4. Algoritmo de aplicação de restrições integridade (CE1,CE2,CE4,CE6)
3.2.5. Triggers para imposição de regras de integridade de 3º nível (CE1,CE2,CE4)
3.2.6. Optimização de código em triggers: INSERTING, UPDATING, DELETING (CE6)
3.3. Procedimentos
3.3.1. Parametrização (CE6)
3.3.2. Procedimentos para imposição de regras de integridade de 4º nível (CE1,CE4,CE6)
3.4. Implementação de desnormalização controlada com SQL e PL/SQL (CE2)
4. Desenvolvimento com sucesso de aplicações para bases de dados cliente-servidor Oracle
4.1. Importância do conhecimento do sistema para uma programação afinada com os recursos
4.1.1. Migração entre SGBDs/versões do mesmo SGBD (CE3)
4.1.2. Bind variables (CE3,CE6)
4.1.3. Relacionamento DBA/Database Developer (CE3,CE5)
4.2. Conceitos
4.2.1. Instância (CE3,CE5)
4.2.2. Base de dados (CE3,CE5)
4.2.3. Bloco de dados e sua importância no tipo de base de dados (CE3,CE5)
4.3. Estruturas de memória (CE3,CE5)
4.3.1. Tipos: SGA, PGA e UGA
4.3.2. Pools: large/shared/java/redo log buffer/database block buffer
4.4. Modos de comunicação com um servidor Oracle (CE3,CE5)
4.4.1. Dedicated server
4.4.2. Shared server
4.4.3. Influência da escolha na capacidade de resposta do SGBD
4.4.4. Falácias relativas à ocupação de recursos
4.4.5. Ficheiro "tnsnames.ora"
4.5. Processos cliente/servidor/listener (CE3,CE5)
4.6. Threads servidora/de background/dispatcher (CE3,CE5)
4.7. Ficheiros de uma base de dados no SGBD Oracle (CE3,CE5)
4.7.1. Data files
4.7.2. Redo log files
4.7.3. Temp files
4.8. Interação dos componentes do SGBD nas operações básicas SQL (CE3,CE5,CE6)
6. Metodologia de Ensino / Aprendizagem
6.1 Presencial e Autónoma
Aulas
--------1. Leitura e discussão de material bibliográfico
2. Lecionação de matéria
3. Resolução de exercícios individuais e em grupo
4. Entrega, com reflexão, dos resultados da autoavaliação da aula anterior
Orientação tutorial
----------------------1. Sessões de orientação, nomeadamente orientar o trabalho individual do estudante e esclarecer dúvidas
1. Resolução de exercícios
2. Estudo de bibliografia indicada nas aulas
3. Estudo dos apontamentos realizados nas aulas
6.2 Recursos Específicos
1. Ensino teórico - sala de aula normal
2. Ensino prático e laboratorial - laboratórios de bases de dados
3. Orientação tutorial - gabinete e laboratórios de bases de dados
6.3 Fundamentação da coerência das metodologias de ensino com objetivos/competências da unidade
curricular
Aulas (CT6,CT7)
----1. Leitura e discussão de material bibliográfico (CE3,CE5,CT1,CT2,CT3,CT4,CT5)
2. Lecionação de matéria (CE1,CE2,CE3,CE4,CE5,CT2,CT4)
3. Resolução de exercícios individuais e em grupo (CE1,CE2,CE3,CE4,CE5,CT1,CT2,CT3,CT4,CT5)
4. Entrega, com reflexão, dos resultados da autoavaliação da aula anterior (CT4)
Orientação tutorial (CT1,CT2,CT4,CT6,CT7)
------------------1. Sessões de orientação, nomeadamente orientar o trabalho individual do estudante e esclarecer
dúvidas
Metodologia Autonónoma (CE1..CE5,CT2,CT3,CT4,CT5,CT6)
----------------------1. Resolução de exercícios
2. Estudo de bibliografia indicada nas aulas
3. Estudo dos apontamentos realizados nas aulas
7. Avaliação
7.1 Descrição
Avaliação Periódica
------------------------Participação nas aulas práticas (PA)
Prova escrita teórica (PET)
Prova escrita prática (PEP)
Classificação: 45% PET+10%PA+45%PEP
Mínimos: 47.5% PET e 47.5% PEP
Avalização Final
-------------------Prova escrita teórica (PET)
Prova escrita prática (PEP)
Classificação: 50% PET+50%PEP
Mínimos: 47.5% PET e 47.5% PEP
7.2 Número de Elementos de Avaliação
7.2.1 Contínua/Periódica: 2
7.2.2 Final: 2
8 Bibliografia
8.1 Principal
- Expert Oracle Database Architecture, Thomas Kyte, Apress, 2005
- Oracle PL/SQL Programming, Scott Urman, Oracle
- Manuais do Sistema de Gestão de Bases de Dados Oracle 11G
- Database Administration: The Complete Guide to Pratices and Procedures (1th Edition)
Craig S. Mullins, Addison-Wesley Professional. 2002
- Fundamentals of Database Systems, Ramez Elmasri & Shamkant B. Navathe, Wiley. 2010.
- Material disponibilizado na plataforma Moodle
8.2 Complementar
Não aplicável
9. Aprovação pelo CTC
Aprovado em Conselho Científico em : 11-07-2012
Download