UFCD 786 Instalação e configuração de sistemas de bases de dados 1 Noção de Base de Dados • De uma forma genérica uma base de dados é um conjunto de dados (BD) • Exemplos de BD’s: – Uma agenda de moradas – Uma lista de cd’s – Um livro – Apontamentos das aulas – Dados guardados nos computadores das Finanças – World wide web • Conjunto de registos dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação 2 Noção de Base de Dados (1) • Normalmente uma base de dados agrupa registos utilizáveis para um mesmo fim • Actualmente o termo base de dados é aplicado actualmente principalmente para fazer referência a bases de dados informáticas • Bases de dados informáticas são conjuntos de dados estruturados/manipulados usando um Sistema de Gestão de Bases de Dados (SGBD) ou Database Management System (DBMS) • As Bases de Dados são utilizadas em diversas aplicações, abrangendo quase todos os programas informáticos • São o método preferencial para aplicações multiutilizador, nos casos em que é necessário existir uma coordenação entre diversos utilizadores 3 Noção de Base de Dados (2) • Normalmente são armazenados num formato que seja compreendido por uma máquina ou computador • Existe uma enorme variedade de bases de dados que vai desde simples tabelas armazenadas em um único sitio até bases de dados com milhões e milhões de registos (estas são armazenad em discos rigidos) • Permite armazenamento de grandes quantidades de dados • Possibilita realizar com rapidez um conjunto de operações simples de processamento de dados • Tem como objectivo registar, actualizar, manter e disponibilizar informação relevante para a actividade de uma organização 4 Noção de Base de Dados (3) • Exemplos de grandes bases de dados: • A internet: – Neste caso os dados são todas as páginas publicadas – Para encontrarmos uma informação teremos de pesquisar nos habituais motores de busca que estão constantemente a aceder a bases de dados • Bases de Dados via Internet: – Bibliotecas online – Wikipédia – Bancos • Bases de Dados nas escolas: – – – – Elaboração de horários Gestão de alunos Gestão de professores Gestão de pagamentos 5 Conceitos Base (1) • Dados: valores discretos que só se transformam em informação quando relacionados ou interpretados de alguma forma • Informação: consiste na interpretação dos dados num determinado momento • Dados: Nuno / 30 / Aveiro • Informação: O Nuno tem 30 anos e mora em Aveiro 6 Conceitos Base (2) • Operações básicas sobre dados: – Selecção – Quantos Anos tem o Nuno? Onde mora o Nuno? – Inserção – Inserção de informação através de dados “A Joana tem 5 anos e mora em Lisboa” – Actualização – Actualização de dados “O Nuno mora em Aveiro mas tem 20 anos” – Eliminação – Eliminação de informação • As bases de dados permitem: – Confidencialidade da informação – Integridade da informação – deve garantir a inexistência de redundância e garantir a não deterioração dos dados 7 Sistemas de Gestão de Base de Dados ( SGBD) • Permite criar e manipular Bases de Dados em que os dados são estruturados de modo independente aos programas que os manipulam • Disponibiliza linguagens de : – Definição de dados – criação e alteração da estrutura da BD – Consulta de dados – obter e processar os dados armazenados – Manipulação de dados- acrescentar novos dados e modificar dados existentes 8 Sistemas de Gestão de Base de Dados ( SGBD) - 1 9 Sistemas de Gestão de Base de Dados ( SGBD) - 2 • Arquitectura de uma SGBD: – Nivel 1 – Nivel Físico • Suportes informáticos para o armazenamento dos ficheiros de dados (disquetes, discos, pen’s,...) • Forma como eles se encontram organizados nesse suporte – Nivel 2 – Nível Conceptual • Estruturação /organização da informação em tabelas e formas de relacionamento entre entidades – Nivel 3 – Nível de Visualização • Forma como os dados são apresentados aos utilizadores finais , através de interfaces gráficas 10 Sistemas de Gestão de Base de Dados ( SGBD) - 3 • Outras caracteristicas: – Acesso simultâneo • Vários utilizadores podem aceder e alterar a BD ao mesmo tempo sem criar inconsistências. Por exemplo 2 utilizadores diferentes podem consultar simultaneamente os mesmos dados de um cliente.O SGBD não permite que ambos os utilizadores alterem esses dados ao mesmo tempo. – Vistas • Diferentes utilizadores poderão ter acesso limitado a certas partes da BD – Construção de aplicações • A tendência actual dos SGBDs é combinarem a gestão de armazenamento /manipulação dos dados com a construção das aplicações que implementam os processos da organização. 11 Sistemas de Gestão de Base de Dados ( SGBD) - 4 • Porquê usar SGBDs: – Independência dos dados • As aplicações acedem e manipulam dados mas não são responsáveis pelo seu armazenamento – Acesso eficiente aos dados • Armazenar e recuperar dados com eficiência – Redução do tempo de desenvolvimento das aplicações • Aplicações mais rebustas do que o normal – Integridade e segurança dos dados • Reforço de controlos de acesso – Administração dos dados • Minimizar a redundância e optimizar o armazenamento – Acesso concorrente e recuperação dos dados • Protege os utilizadores das falhas do sistema 12 Modelo Relacional • Podemos falar em 4 modelos base para definir a forma como os dados se encontram armazenados no sistema: – Hierárquico – os dados são organizados numa estrutura em árvore onde cada registo pertence apenas a um dono – Em rede – semelhante ao modelo hierárquico excepto que neste caso cada registo pode possuir mais do que um “pai” – Relacional – Orientado a objectos – toda a informação é guardada na forma de um objecto (programação) O modelo que vamos abordar mais profundamente é o modelo relacional 13 Modelo Relacional (1) • Muitas vezes também chamado de modelo E-R ( Entidade – Relação ) • conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas • Neste modelo existem 10 regras importantes que devem sempre ser respeitadas • As principais vantagens em se usar o modelo relacional é: – Acesso facilitado aos dados , possibilitando que os utilizadores utilizam uma grande variedade de abordagens no tratamento das informações – A linguagem utilizada neste modelo é o SQL 14 Modelo Relacional (2) - Terminologia Entidade/tabelas Abstracção que descreve um grupo de objectos, conceitos Objecto que existe e é diferente de todos os outros objectos Uma entidade pode ser concreta como uma pessoa ou um livro ou pode ser abstracta como um feriado ou um conceito Também pode ser chamado de tabela É uma estrutura simples que possui linhas e colunas Ex:Paulo Silva com número de CPF 123.456.789-00 pois identifica unicamente uma pessoa Ex1:conta número 40167-9 na agência Leiria pois identifica unicamente uma conta de um particular Conjunto de entidades - conjunto de todas as pessoas com conta em um banco, por exemplo, pode ser definido como o conjunto de todas as entidades cliente. 15 Modelo Relacional (3) - Terminologia BMW Fiat Ford VW Volvo Toyota Opel Porsche Marcas de Carros Raças de cães portugueses Gato Cão Baleia Leão Aranha Golfinho Serra da estrela Cão de água Podengo Labrador Animal 16 Modelo Relacional (4) - Terminologia • Atributo – Caracteristica que identifica uma entidade • Dominio – Conjunto de valores que um determinado atributo pode tomar • Ocorrência/instância – “caso particular” da entidade 17 Modelo Relacional (5) - Terminologia • Para cada atributo, existe um conjunto de valores permitidos chamado domínio daquele atributo • O domínio do atributo nome-cliente pode ser o conjunto de todas as cadeias de texto (strings) de um certo tamanho • o domínio do atributo número-conta pode ser o conjunto de todos os inteiros positivos. • O atributo idade de uma entidade pessoa poderia ter como domínio os números inteiros entre 0 e 150. • toda entidade é descrita por um conjunto de pares (atributo, valor do atributo) • Ex. entidade cliente é descrita pelo conjunto {(nome, Paulo Silva), (cpf, 123.456.789-00), (rua, XV de Novembro), (cidade, Campinas)}, que significa que a entidade descreve uma pessoa chamada Paulo Silva, cujo CPF é 123.456.789-00, residente à rua XV de Novembro, em Campinas. 18 Modelo Relacional (6) - Terminologia 19 Modelo Relacional (7) - Terminologia Ex3: Perspectiva do Veterinário Nome:text o Raça:texto Sexo:{M,F} Peso: Kg Bobi Rafeiro M 7 Laika Serra da Estrela F 15 • Perspectiva da Câmara Municipal Nome:texto Raça:texto Sexo:{M,F} Licença:inteiro Bobi Rafeiro M 1300 Laika Serra da Estrela F 6789 20 Modelo Relacional (8) - Terminologia • Atributos – Existem diversos tipos de atributos : • Compostos – Os atributos compostos podem ser divididos em partes menores – Por exemplo, um atributo endereço pode ser subdividido em rua, cidade, estado e codPostal – Poderíamos também dividir o atributo rua em número, nome-rua e número-apartamento • Simples – São chamados também por atributos atômicos. Eles não são divisíveis • Multivalor – são atributos que possuem um ou mais valores para o mesmo – Por exemplo, o atributo idioma de uma entidade aluno pode conter os valores inglês e francês. – Para um outro aluno poderia conter apenas um valor - espanhol. Para um terceiro aluno, poderíamos ter 3 valores para este atributo. 21 Modelo Relacional (9) - Terminologia • Derivado – Alguns atributos podem ter uma relação entre si – Por exemplo, idade e data-nascimento de uma pessoa – Para uma pessoa em particular, podemos determinar o valor actual de idade através do atributo data-nascimento. Então idade é chamado um atributo derivado e é derivado do atributo data-nascimento • Nulo – Em alguns casos, uma entidade pode não necessitar de um valor aplicável a um de seus atributos – Por exemplo, no atributo número-apartamento composto visto anteriormente, apenas definiremos valores para este campo quando a entidade pessoa em particular morar em um prédio – A representação de um atributo sem valor é colocarmos um valor especial null – Null também pode ser utilizado quando não conhecemos o valor de um atributo, por exemplo, quando se desconhece a data de nascimento de uma pessoa 22 Modelo Relacional (10) - Terminologia • Colunas ou atributos – As colunas de uma tabela são também chamadas de Atributos – O conjunto de valores que um atributo pode assumir chama-se domínio • Ex:em um campo do tipo numérico, serão somente armazenados números. 23 Modelo Relacional (11) - DER • Simbologia para construir DER’s 24 Modelo Relacional (12)- DER • Tipos de relacionamentos – Existem 3 tipos de relacionamentos a) Relação 1:1 b) Relação 1:N c) Relação N:M Relação 1:1 Lê-se: 1 professor lecciona uma e só uma disciplina 1 disciplina é leccionada por um e só um professor 25 Modelo Relacional (13) - DER Relação 1:N Lê-se: Num departamento trabalham vários empregados Um empregado trabalha num e num só departamento Relação M:N ou N:N Lê-se: 1 autor escreve vários livros 1 livro é escrito por vários autores 26 Modelo Relacional (14) - DER Conectividade de uma Relação Uma entidade pode participar numa relação de 2 formas: Participação Obrigatória: Não pode existir nenhuma ocorrência dessa - entidade que não esteja associada a alguma ocorrência da outra entidade que participa na relação. Participação não Obrigatória: Podem existir ocorrências dessa - entidade que não estejam relacionadas a alguma ocorrência da outra entidade que participa na relação. Ex1: Lê-se: 1 Factura tem várias Linhas de Factura 1 Linha de Factura pertence a uma e uma só Factura 1 Factura tem Obrigatoriamente Linhas de Factura 1 Linha de Factura pertence Obrigatoriamente a uma e uma só Factura 27 Modelo Relacional (15) - DER Exercicio: Existe algum obrigatoriedade nesta relação? Como se lê a respectiva relação? Resposta: Existe algum obrigatoriedade nesta relação? Não Como se lê a respectiva relação? 1 Sócio requisita vários Livros 1 Livro é requisitado por vários Sócios Nem todos os Sócios requisitam Livros Nem todos os Livros são requisitados por Sócios 28 Relacionamentos Binários (16) 29 Relacionamentos Binários (17) 30 Relacionamentos Binários (18) 31 Relacionamentos Binários (19) 32 Relacionamentos Binários (20) 33 Relacionamentos Binários (21) 34 Exercicios Coloque as respectivas cardinalidades/obrigatoriadades em cada relação: 35 Exercicios O centro de turismo da zona centro quer efectuar uma gestão dos guias de pesca para a região centro. Sabemos que para cada guia devemos guardar um número identificador de guia, o seu nome, morada e telefone e indicar o número de pessoas que leva em cada visita. Sabemos ainda que cada guia tem um preço fixo por hora e que trabalham num determinado rio e numa determinada nascente. Cada guia de pesca apenas serve de guia para um determinado tipo de peixe e não para todos os tipos de peixe e o guia também nos aconselha sempre que tipo de isco devemos usar para esse peixe. Elabora o respectivo DER correspondente não se esquecendo de colocar todas as cardinalidades necessárias assim como todos os atributos que achar que são importantes. 36 Exercicios A empresa Xpto possui 3 operários e um supervisor. O Supervisor tem como principal tarefa na empresa controlar e supervisionar os 3 operários que trabalham na empresa. Para cada um dos empregados é preciso guardar a seguinte informação: - NºContribuinte; Nome; Morada; telefone; Pagamento/h do operário; área de competência do supervisor; Nºde empregado na empresa; Código da tarefa do operário; Nºextensão do supervisor. Tendo em atenção os dados anteriores construa o DER que corresponde ao texto mencionado. 37 Referências Bibliográficas http://www.google.pt/search?q=SGBD&ie=utf-8&oe=utf http://hugojcb.no.sapo.pt/conteudos/gbd/Manual.pdf http://pt.wikipedia.org/wiki/Sistema_de_gerenciamento _de_banco_de_dados http://www.liaad.up.pt/~csoares/aulas/sebentas/access/I ntro.html http://pt.wikipedia.org/wiki/Base_de_dados_relacional 38