Informática (módulo de Bases de Dados)
-
Upload
caesar-bartlett -
Category
Documents
-
view
23 -
download
0
description
Transcript of Informática (módulo de Bases de Dados)
1
Gabriel DavidFEUP - Rua dos Bragas, 4050-123 Porto Codex - PORTUGALTel. 351-222041842 - Fax: 351-222000808
Email: [email protected]: http://www.fe.up.pt
Sumário Sistema de informação Modelo entidade-associação Modelo relacional SQL Projecto de BD Pesquisa de informação implícita
Informática(módulo de Bases de Dados)
Introdução - 2
Pretende-se construir um sistema de informação para uma parte da actividade de uma escola a escola ministra cursos que têm um código e uma designação os planos de estudos dos cursos são compostos por disciplinas
leccionadas na escola; cada disciplina tem um código, uma sigla e uma designação; a mesma disciplina pode ser oferecida em vários cursos
cada turma segue um curso, num determinado ano curricular e é identificada por uma letra
os professores são descritos pelo seu BI, nome, morada, telefone, grau académico e grupo a que pertencem
os professores leccionam disciplinas às turmas, embora nem todos os alunos frequentem todas as disciplinas
os alunos são descritos pelo seu BI, nome, morada, telefone e data de nascimento; cada aluno está atribuído a uma turma e está inscrito a disciplinas nas quais obtém classificações.
Problema
Introdução - 3
O que é uma Base de Dados?
Introdução - 4
A organização
Introdução - 5
Sistema de informação
Funções do SI1 Gerar as informações primárias
• representam a actividade do Sistema Operante no seio do seu ambiente
2 Memorizar • informações primárias
• evolução do ambiente
• certas informações-decisão
• algumas informações elaboradas (resultados de processamento)
3 Assegurar o acesso à memória e a comunicação das informações.4 Tratar certas informações, a pedido do Sistema de Decisão.
Introdução - 6
Informação e informática
Gestão de informação informação vista como um recurso e como tal gerida responsável do Sistema de Informação é um gestor
Sistema de informação automatizado parte correspondente às informações formalizáveis ou
codificáveis funcionando com a ajuda de um equipamento informático
assente num sistema de processamento de dados, sob a responsabilidade de um Informático
em estreita coordenação com o Gestor de Informação (por vezes confundem-se os papéis)
maioria dos SI assentam num sistema de BD mais ou menos integrado, mas tem mais componentes (comunicações, documentação, fontes externas, …)
Introdução - 7
Conteúdo da BD
P1: Critérios de selecção das informações a memorizar?
P2: Organização e acesso a este arquivo?
R2: resposta durante todo o resto da cadeira
R1: deverão ser sistematicamente memorizadas as informações primárias geradas com cada uma das transacções, nas fronteiras do sistema, envolvendo os vários recursos que a organização se propõe gerir
Estruturação da memória
• a partir das informações a guardar
• não a partir dos tratamentos/resultados das aplicações pretendidos
para permitir múltiplas utilizações das informações memorizadas
Introdução - 8
Base de Dados
uma BD é um conjunto de informações armazenado de forma permanente num sistema informático constituído por vários subconjuntos ordenados e estruturados
as informações estão associadas entre si
o Sistema de Gestão de Bases de Dados (SGBD) integra todo o software de criação, acesso e manutenção da BD indissociável do conceito de BD as aplicações recorrem ao SGBD mesmo SGBD pode suportar várias BD
Introdução - 9
Sistema de Gestão de BD
Funções dados persistentes acesso arbitrário e eficiente a grandes quantidades de dados
suporte de um modelo de dados (abstracção matemática)
• complexidade exige princípios sólidos linguagem de dados de alto nível, mas conveniente para vários
tipos de utilizadores (casual, especializado, programador)• LDD: definir• LI: interrogar• LMD: manipular
gestão de transacções (concorrência) controlo de acessos (segurança) robustez (integridade e recuperação)
Introdução - 10
Diagrama de um SGBD
Processador da linguagem de interrogação
Compilador
Gestor de ficheiros
Gestor da BD
BDfísica
Perguntainteractiva
Aplicação Esquema
Tabelas de autorizações
Tabelasde acessoconcorrente
Tabelasde descriçãoda BD
Introdução - 11
Exemplo dos Cursos
Curso
Disciplina
Professor Aluno
Turma
plano
segue
inscrito
atribuídolecciona
codcurso
designacur
sigla
coddis
designadis BI
nome
morada
telefone
habilitação
grupo
BI
nome
morada
telefone
data_nasc
ano
letra
resultado
Introdução - 12
Perspectivas diferentes
Curso
Disciplina
Alunoplano
inscrito
codcurso
designacur
sigla
coddis
designadis
BI
nome
morada
telefone
data_nasc
resultado
Cálculo de médias
Introdução - 13
Perspectivas diferentes
Curso
DisciplinaProfessor
Turma
plano
segue
leccionacodcurso
designacur
sigla
coddis
designadis
BI
nome
morada
telefone
habilitação
grupo
ano
letra
Distribuição de serviço
Introdução - 14
Níveis de abstracção
• esquema conceptual- descrição abstracta- modelo entidade-associação- modelo relacional
vista 1 vista n
BD conceptual
BDfísica
...
utilizadoresinteractivos aplicações
independêncialógica
independênciafísica
• esquema interno- descrição técnica- implementação- depende do SGBD
• “subconjunto” do esquema conceptual- diversidade de usos- evolução
Introdução - 15
Nível conceptual
Partida- realidade apreendida
- linguagem da organização
- ciências humanas
Chegada- nível físico- linguagem informática
- engenharia
Esquema conceptualentidade-associação
Esquema lógicomodelo relacional
Linguagem natural e rigorosa
Introdução - 16
Independência dos dados
Imunidade das aplicações a alterações na estrutura de memorização e na estratégia de acesso
Independência lógica: das vistas para o esquema conceptual suporta evolução no esquema conceptual sem obrigar a alterar
as aplicações que usam a vista permite diferentes percepções adaptadas ao utilizador
Independência física: do esquema conceptual para o esquema interno permite alterações na localização e estrutura de armazenamento
dos dados
Introdução - 17
Exemplo da matriz
realidade matriz
nível conceptual integer array[1..n; 1..m]
nível físico A[i,j] está no endereço a0 + 4( m(i-1) + j - 1)
vista f(i) = j=1
m A[i,j] (pode ser mais abstracto que o conceptual)
independência física armazenar por colunas, em vez de por linhas, para eficiência
independência lógica aumentar a matriz, mantendo f(i)
Introdução - 18
Aplicações interrogar a BD tomar decisões dialogar com o utilizador etc.
Linguagens hospedeiras
linguagem de programação convencional
C, Cobol, Ada, Java
linguagem de manipulação de dados optimizada para acesso rápido a grandes BD
O SGBD fornece um conjunto de procedimentos que implementam as principais funções da LMD