Introdução aos SGBD’s O que é uma Base de Dados? Colecção de dados ou itens de informação estruturados de determinada forma. Forma mais comum de guardar um grande volume de dados. Exemplos: Agenda de Contactos Colecção de CD’s de Áudio Clientes de um médico 2 Noção de DADOS Elementos que caracterizam uma entidade (pessoa, objecto ou organização). Nota: Numa base de dados, uma entidade corresponde a uma tabela. São o resultado da recolha de informações; acontecimentos ou factos sobre um determinado assunto, sem nenhum tratamento adicional. 3 Noção de DADOS Um dado, quando isolado, não tem significado. Exemplos: 16, Miguel Jerónimo, 5, F, 10 4 Bases de Dados Monotabela Os programas de folha de cálculo (Excel) permitem a criação e manipulação de bases de dados deste tipo (assentam numa única tabela). 5 Bases de Dados Monotabela Problemas/Limitações: Redundância de dados; Dificuldades de manutenção; Dificuldades em manter a sua integridade (basta um engano na alteração de um dado para comprometer a integridade desse mesmo dado) 6 Bases de Dados Monotabela Exemplo da limitação das BD’s baseadas numa única tabela: Uma empresa comercializa um conjunto de artigos e pretende criar uma base de dados para registar esses artigos, bem como as encomendas efectuadas pelos seus clientes. 7 Bases de Dados Monotabela ◦ Se tivéssemos de registar numa única tabela as encomendas efectuadas pelos clientes em relação aos produtos na empresa, cairíamos numa redundância/repetição de informação. 8 Bases de Dados Monotabela A solução mais adequada passaria pela WU1 definição de várias tabelas: 1ª – Registo da informação relativa aos clientes; 2ª ‐ Registo da informação relativa aos produtos; 3ª ‐ Registo das encomendas efectuadas pelos clientes em relação aos produtos da empresa. 9 Diapositivo 9 WU1 Mais à frente irão perceber melhor Windows User; 24/11/2008 Bases de Dados Monotabela Deste modo, se utilizarmos um Sistema de Gestão de Bases de Dados (como o Microsoft Access) evitamos a redundância (repetição) de informação. 10 O que é um SGBD? Programa que faz a gestão do acesso aos dados da BD e que garante a sua correcta manutenção. Exemplos: Microsoft Access, Oracle, DB2, Microsoft SQL Server, MySQL, etc. 11 Base de Dados e SGBD As bases de dados são um conjunto de dados estruturados e manipulados através de um SGBD. 12 Arquitectura de um SGBD Os 3 níveis da arquitectura de um SGBD: 1º ‐ Nível físico: refere‐se ao armazenamento dos ficheiros de dados em suportes informáticos e a forma como se encontram organizados. 2º ‐ Nível Conceptual: refere‐se à estruturação/organização dos dados, como por exemplo a definição dos campos de uma tabela e das relações entre as tabelas. 13 Arquitectura de um SGBD 3º ‐ Nível de visualização: refere‐se à forma como os dados são apresentados aos utilizadores finais, através de interfaces gráficos proporcionados pelo SGBD. 14 Modelos de Bases de Dados Modelos baseados em objectos: Destaca‐se o Modelo E‐R (Entidade‐Relacionamento) Nota: Deverá ser usado em articulação com o Modelo Relacional. Modelos baseados em registos: Destaca‐se o Modelo Relacional (falaremos mais à frente). 15 Modelo E‐R ◦ Proporciona uma metodologia de abordagem e representação da realidade que se revela bastante interessante para a concepção e design de uma BD. ◦ Procura criar uma simulação ou representação da realidade através dos conceitos entidade e relacionamento. 16 Entidades ◦ As entidades podem representar: pessoas (cidadãos, funcionários, alunos, etc.) organizações (empresas, escolas, departamentos, etc.) coisas (produtos, facturas, livros, etc.). 17 Relacionamentos ◦ Os relacionamentos procuram traduzir as relações entre as entidades consideradas. ◦ Por exemplo: a relação entre os funcionários e os departamentos de uma organização ou os produtos de uma empresa e as encomendas dos seus clientes. 18 Atributos No modelo E‐R, as entidades são compostas ou caracterizadas por atributos. Sendo que, os atributos são elementos ou propriedades que caracterizam as entidades. Exemplo: Entidade Pessoas – pode ser definida por atributos como: nome, nº do B.I., data de nascimento, endereço, telefone, etc. 19 Diagrama E‐R Diagrama E‐R: Exemplo de representação gráfica de entidades (e dos seus atributos) Nome Idade Cargo Vencimento Empregados 20 Tabela Tradução do Diagrama E‐R para uma tabela Empregados Nome Idade Cargo Vencimento 21 Valores e Domínios dos Atributos ◦ Os atributos das entidades são preenchidos com valores. São esses valores que caracterizam e identificam cada entidade concreta. ◦ O domínio é o conjunto de todos os valores que esse atributo pode assumir. 22 Valores e Domínios dos Atributos Nomes: Ana Albano Atributos Entidade Empregados Nome Idade Cargo Vencimento Idades: 20 21 30 31 40 41 Cargos: Director Contabilista Carla Rui 22 32 (…) Chefe de Secção (…) Vencimentos: 500 600 700 (…) 23 Tipos de Atributos ◦ Atómicos ◦ Compostos 24 Tipos de Atributos ◦ Alguns atributos como, por exemplo, a idade de uma pessoa, podem ser considerados atributos atómicos, visto que não é possível decompor esses atributos em unidades mais elementares. 25 Tipos de Atributos ◦ Outros atributos podem ser considerados atributos compostos, como o nome de uma pessoa, visto que, normalmente, é possível decompor esse atributo em parcelas mais elementares: primeiro nome, segundo nome, último nome, etc. 26 Tipos de Atributos Por exemplo, a entidade Empregado, em vez de ser assim definida: Empregado (Nome, Idade, Cargo, Vencimento) Poderia ser definida assim: Empregado (UltimoNome, OutrosNomes, Idade, Cargo, Vencimento) 27 Tipos de Atributos Os atributos de uma entidade devem corresponder a valores elementares e não a conjunto de valores, pois cada atributo não deve conter mais do que um valor ao mesmo tempo numa determinada entidade. 28 Tipos de Atributos Por vezes, pode cair‐se no erro de definir como atributo de uma entidade algo que pode corresponder a mais do que um valor ao mesmo tempo para uma mesma entidade concreta. Então, estamos na presença não de um atributo, mas de um conjunto de atributos. 29 Tipos de Atributos Por exemplo: na definição da entidade Aluno, incluíamos um atributo chamado Disciplinas, onde pretenderíamos registar as várias disciplinas em que cada aluno se encontrava inscrito. 30 Tipos de Atributos Neste caso os atributos estão definidos de forma incorrecta, pois frequentemente não se trata de atributos, mas sim de entidades que devem ser consideradas à parte da entidade original e, em seguida, estabelecer os devidos relacionamentos entre as diferentes entidades existentes. 31 Atributo Identificador e/ou Chave Entre os diversos atributos que definem uma entidade deve existir um que identifique sem ambiguidades cada entidade concreta – a este tipo de atributos dá‐se o nome de atributo identificador. Mais tarde veremos que os atributos identificadores podem desempenhar o papel de chaves numa entidade ou tabela. 32 Atributo Identificador e/ou Chave É também através das chaves que são estabelecidos relacionamentos entre as diferentes entidades ou tabelas numa base de dados. Para assegurar que temos um atributo que define de modo único e inequívoco cada entidade é muito comum recorrer‐se a um atributo artificial: nº do empregado; nº do processo do aluno, código do produto, etc. 33 Relacionamentos entre entidades Tipos de relacionamentos quanto ao número de entidades na relação Tipos de relacionamentos binários (cardinalidade) 34 Tipos de relacionamentos quanto ao nº de entidades Relação Unária Relação Binária Relação Complexa 35 Relação UNÁRIA Relação entre uma entidade e ela própria (pouco comum). Exemplo: Equipas que jogam entre si. Equipas R 36 Relação BINÁRIA Sempre que temos duas entidades e percebemos que entre elas existe uma qualquer forma de relacionamento. Alunos R Disciplinas 37 Relação BINÁRIA O relacionamento pode ser indicado através de um losango com um R. No entanto, em muitas situações, o losango pode ter uma designação própria (tabela de relacionamento). Fornecedores Encomendas Produtos 38 Relação COMPLEXA Em situações mais complexas, podemos ter de considerar relações que envolvem simultaneamente três entidades no mesmo relacionamento. Alunos R Disciplinas Professores 39 Tipos de relacionamentos binários As relações mais comuns são as do tipo binário. Considerando o número de elementos de uma entidade que podem relacionar‐ se com os elementos da outra entidade, temos os seguintes tipos de relações binárias: 1:1 (um para um) 1:N (um para vários) ou N:1 N:N (vários para vários) 40 Relações do tipo “1 para 1” A relação entre um professor e uma turma numa escola primária: cada professor tem a sua turma (1:1). Professor 1 tem uma 1 Turma 41 Relações do tipo “1 para N” Uma biblioteca, em que cada colecção tem um título mas vários volumes (1:N). 1 Colecção N é composta por Volumes 42 Relações do tipo “N para N” A relação entre livros e sócios de uma biblioteca: um sócio pode requisitar vários livros da biblioteca, podendo esse mesmo livro ser requisitado por diferentes sócios (N livros: N sócios). Sócios N requisitam N Livros 43 Tipos de relacionamentos binários Resumindo: Marido / Mulher Mãe / Filho Filho / Pai Tio / Sobrinho Relação 1:1 Relação 1:N Relação N:1 Relação N:N 44