Upload
trinhquynh
View
228
Download
2
Embed Size (px)
Citation preview
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
3
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 multi-utilizador, nos casos em que é necessário existir uma coordenação entre diversos utilizadores
4
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
5
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
6
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
7
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
8
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
10
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
11
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.
12
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
13
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
14
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
15
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.
16
Modelo Relacional (3) - Terminologia
BMW Fiat
Ford VW
Volvo Toyota
Opel Porsche
Serra da
estrela
Cão de água
Podengo
Lavrador
Gato Cão
Baleia Leão
Aranha
Golfinho
Marcas de Carros
Raças de cães portugueses
Animal
17
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
18
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.
20
Modelo Relacional (7) - Terminologia
Ex3:
Perspectiva do Veterinário
Nome:texto 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
21
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-ruae 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.
22
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
23
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.
25
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
26
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
27
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
28
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
36
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.
Exercicios
37
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.
Exercicios
38
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/Int
ro.html
http://pt.wikipedia.org/wiki/Base_de_dados_relacional
Referências Bibliográficas