290 likes | 395 Views
Unidade 5 – Exploração de uma base de dados em ambiente Windows. EB23 de Cercal do Alentejo – Ensino Secundário Recorrente - Introdução à Informática Carlos Sebastião - 2001. A evolução. Desde os tempos mais remotos, o homem sentiu necessidade de armazenar e processar informação.
E N D
Unidade 5 – Exploração de uma base de dados em ambiente Windows EB23 de Cercal do Alentejo – Ensino Secundário Recorrente - Introdução à Informática Carlos Sebastião - 2001
A evolução Desde os tempos mais remotos, o homem sentiu necessidade de armazenar e processar informação.
Mais tarde com/o aparecimento do papel tornou possível a “massificação” da informação.
Com o aparecimento do computador estes começam a ser utilizados para armazenar e tratar grandes quantidades de dados relacionados com diversas situações.
Implementação do suporte à informação • Sistemas de ficheiros • Sistemas de base de dados
Sistema de ficheiros Programas Dados Aplicação A Ficheiro X Aplicação B Ficheiro Y Aplicação C Ficheiro Z Aplicação D
Sistema de ficheiros • Os utilizadores (por intermédio de programas específicos) trabalham directamente com os ficheiros. • Os ficheiros são partilhados por diversos programas ou seja poderão existir vários programas ou pessoas que podem alterar, actualizar e ler um mesmo ficheiro.
Sistema de Base de Dados Sistema de base de dados Aplicação A SGBD Base de Dados Aplicação B Sistema de gestão de base de dados
Sistema de Gestão de Base de Dados O SGBD é o software que tem como objectivo fazer a gestão de todo o armazenamento e manipulação dos dados do sistema, fazendo a ligação entre os programas e a base de dados propriamente dita; • Uma característica da base de dados: Os dados estão todos incluídos num só ficheiro de armazenamento. • Para ler ou escrever dados é necessário passar sempre pelo Sistema de Gestão de Base de Dados (SGBD) que é responsável pelo acesso à base de dados. • O principal vantagem obtida com esta tecnologia é o isolamento que existe entre os programas e os dados.
Modelos de base de dados • 1ª geração (Evolução do sistemas de gestão de ficheiros) • O Modelo Hierárquico • O Modelo em Rede • 2ª geração • O Modelo Relacional • 3ª geração • ...
Modelo Relacional • Nasceu a partir de um desenvolvimento teórico, com base na teoria dos conjuntos. • É o mais implantado no mercado. • Os SGBD‘s mais representativos: • DB2 da IBM • Informix • Oracle • SQL Server da Microsoft • Microsoft Access
Modelo Relacional – alguns Conceitos • Tabela - Estrutura fundamental do modelo relacional. Nome dos CAMPOS Valor do campo Tabela: Produto REGISTO (Correspondente a um produto) Esquema relacional: Produto(CodProduto, Designação, Preço)
Tabela • Estrutura bidimensional • Zero ou mais registos • Um ou mais campos (atributos) • Ao número de campos da tabela dá-se o nome de grau da relação • Ao número de registos designa-se de cardinalidade da relação
Características das tabelas no modelo relacional • No cruzamento de uma linha (registo) com uma coluna (campo) só é possível encontrar um valor. • Os nomes dos campos de uma tabela devem ser diferentes. • Os registos de uma tabela devem ser diferentes. • A ordem dos registos na tabela, tal como a ordem dos campos no desenho da tabela não tem qualquer significado. • Todos os valores de um determinado campo tem o mesmo domínio (são do mesmo tipo de dados). O valor de alguns campos podem ser desconhecidos ou não existir.
Chaves Chave primária • É formada por UM ou MAIS campos que têm um valor exclusivo para cada registo (constitui um identificador exclusivo para cada registo da tabela - cada tabela deve incluir um campo ou um conjunto de campos que identifiquem de forma única cada registo armazenado na tabela.) Chave estrangeira(ou chave externa ou chave importada) • É um conjunto de UM ou MAIS campos que são chave primária numa outra tabela.
Chave estrangeira • Uma chave estrangeira numa tabela é necessária para manter a interligação entre essa tabela e a tabela onde esses atributos são chave primária. • No modelo relacional a única forma de relacionar dados de diferentes tabelas é através de campos comuns (chaves estrangeiras) às tabelas que se relacionam. Se registos (linhas) individuais de duas tabelas tem o mesmo valor no(s) campo(s) comum/comuns é porque estão relacionadas.
Exemplo – Tabelas relacionadas • Se tivermos 2 tabelas – Departamentos e Funcionários, a única forma de indicar que um dado funcionário trabalha num dado departamento é incluir na tabela Funcionários a identificação do departamento onde esse funcionário trabalha (ou seja, importando para a relação Funcionários a chave primária da tabela Departamentos).
Departamentos Exemplo Neste exemplo cod_dep que é chave primária na tabela Departamentos, é chave estrangeira na tabela Funcionários. Se este campo não existisse na relação Funcionários, não seria possível relacionar as duas tabelas. Funcionários
Álgebra relacional • Manipulação do modelo relacional • Operações da teoria de conjuntos (união, intersecção, diferença e produto cartesiano) aplicadas às tabelas. • Outros operadores específicos do modelo relacional: • Selecção de registos numa tabela (selecção). • Selecção de campos de uma tabela (projecção). • Junção de duas tabelas, originando uma terceira. • Divisão de duas relações, originando uma terceira.
UNIÃO = • Tabela3 = (Tabela1 Tabela2) Esta operação exige que as duas tabelas iniciais tenham esquemas compatíveis (i.e., mesmo grau e o domínio dos campos correspondentes sejam os mesmos). Os registos (linhas) da tabela resultado são registos da tabela1 ou da tabela2 ou de ambas. Os registos duplicados são eliminados.
INTERSECÇÃO • Tabela3 = (Tabela1 Tabela2) = Esta operação exige que as duas tabelas iniciais tenham esquemas compatíveis (i.e., mesmo grau e o domínio dos campos correspondentes sejam os mesmos). A tabela resultado consiste nos registos comuns às duas tabelas.
DIFERENÇA • Tabela3 = (Tabela1 Tabela2) = Esta operação exige que as duas tabelas iniciais tenham esquemas compatíveis (i.e., mesmo grau e o domínio dos campos correspondentes sejam os mesmos). A tabela resultado consiste nos registos que não existem na tabela2.
PRODUTO CARTESIANO • Tabela3 = (Tabela1 Tabela2) = Os registos (linhas) da tabela resultado correspondem a todas as combinações das linhas da tabela1 com as linhas da tabela2. A cardinalidade resultante é igual à multiplicação da cardinalidade de cada uma das duas tabelas iniciais.
SELECÇÃO • Tabela2 = <condição> (Tabela1) (B=5v) = Esta operação toma uma tabela inicial (tabela 1) e origina uma outra tabela com o mesmo esquema da primeira, mas em apenas os registos que verificam uma dada condição estão presentes
PROJECÇÃO • Tabela2 = <lista de campos> (Tabela1) (B,C) = Esta operação toma uma tabela inicial (tabela 1) e origina uma outra tabela cujo esquema é reduzido ao conjunto de atributos presentes na lista de atributos.
JUNÇÃO NATURAL • Tabela3 = (Tabela1 Tabela2) = Esta operação é utilizada para combinar registos de diferentes tabelas (tabela1 e tabela2), com campos comuns, numa só tabela. A tabela final contém um registo por cada combinação de registos das duas tabelas que possuam valores iguais nos atributos comuns. O esquema da tabela final consiste na “soma” dos esquemas das relações iniciais.
DIVISÃO • Tabela3 = (Tabela1 Tabela2) = Os campos da tabela2 devem estar contidos na tabela1. Os campos presentes na tabela final são os campos da tabela1 que não estão presentes na tabela2. Os registos da tabela final são aqueles que existem na tabela1, em combinação com todos os registos da tabela2.
Das várias operações apresentadas, apenas a união, a diferença, o produto cartesiano, a selecção e a projecção são operações primitivas. • A intersecção, a junção, a divisão podem ser definidas a partir das primeiras. Ex: T1 T2 = T1 – (T1 - T2)
Exemplo(álgebra relacional) Alunos (número, nome, curso, média) • Como traduzir para álgebra relacional a seguinte pergunta: “Indique o nome e número dos alunos com média final inferior a 14?” TabelaResultado = ( número,nome ( média < 14 (Alunos)) )