Você está na página 1de 63

Introdução aos Sistemas de

Gestão de Bases de Dados

TIC

10ºano
Introdução às Bases de Dados

 O ser humano sempre teve


necessidade de guardar dados
dos mais variados tipos.
 Suporte papel;
 Surgiram os primeiros, Sistemas
de ficheiros;
 Mais tarde os Sistemas de
Gestão de Bases de Dados
(SGBD).
 Os SGBD permitem um rápido e
fácil acesso aos dados, gerando a
informação pretendida.
Base de Dados

Conjunto de informação relacionada entre si, sobre um


determinado assunto.

Agenda electrónica (guarda informação sobre amigos -


nome,endereço, telemóvel,e-mail,etc.)
 Gestão de stocks
 Gestão de alunos
 Gestão de bibliotecas
 Aluguer de vídeos
 Agendas médicas (consultas)
 etc.
Exemplo: agenda telefónica

 Nome
 Morada
 Telefone fixo
 Telefone móvel
 Data de nascimento
 Foto
Exemplo: colecção de CD áudio

 Título
 Intérprete
 Tipo de música
Um aspecto importante: cada CD
 Data de aquisição tem apenas um título, mas várias
 Modo de aquisição faixas. Também se pode prevenir
a possibilidade de ele ter mais do
 Faixas que um intérprete.
 N.º da faixa
 Título
 Duração
Exemplo: fichas de um médico

 Nome do paciente
 Data de nascimento Nota agora que um paciente pode
 Sexo ir a várias consultas. E em cada
consulta podem ser receitados
 Morada
vários medicamentos. E cada
 Contacto telefónico medicamento tem a sua
 Profissão designação, a sua posologia, etc.
 Consultas Esta base de dados é mais
 Data
complexa do que as anteriores...
 Notas
 Medicação receitada

 Designação do medicamento
 Número de embalagens
 Posologia
Que operações se podem efectuar sobre os
dados?

Exemplo da agenda telefónica:

 Inserções – para quando queres guardar os dados de um


novo amigo;

 Consultas – através de perguntas como “Qual é o número de


telefone da Luísa?” ou “Em que dia e mês faz anos o Diogo?”;

 Alterações – necessárias, por exemplo, quando alguém muda


de casa;

 Eliminações – para quando queres eliminar alguém da lista


(por razões que só a ti dizem respeito, claro!)
Bases de dados monotabela (1/3)

Vê o exemplo seguinte, para uma base de dados sobre CD áudio.

Data Modo Número


Título Duração
Título Intérprete de de da
da faixa da faixa
aquisição aquisição faixa

20 anos
Rui Veloso Setembro de 2000 Prenda de aniversário 1 Chico Fininho 2:31
depois

20 anos Sei de uma


Rui Veloso Setembro de 2000 Prenda de aniversário 2 3:07
depois camponesa

20 anos Um café e um
Rui Veloso Setembro de 2000 Prenda de aniversário 3 3:34
depois bagaço

20 anos
Rui Veloso Setembro de 2000 Prenda de aniversário 4 Estrela do rock’n’roll 4:16
depois
Bases de dados monotabela (2/3)

Vê o exemplo seguinte, para uma base de dados sobre alunos.

Nºprocesso Nome Ano Turma Número Idade D.Turma

10120 Ana Teresa 10º A 1 16 Rui Tavares

10123 Rui Pedro 11º B 23 18 Carla Nunes

10118 Luís Marques 10º A 6 15 Rui Tavares

10116 Sara Antunes 10º A 14 15 Rui Tavares


Bases de dados monotabela (3/3)

 Composta por uma única tabela.


 Cada coluna possui uma designação que a identifica (“Nome”,
“Nºprocesso”, etc).
 Cada tabela tem “N” linhas.

Mas, para vários alunos, fica


muito grande! E com dados
repetidos desnecessariamente!

De facto, este modelo possui vários problemas, tais como:


Redundância de dados

 A redundância dos dados – dados como o título do CD e o


nome do intérprete são repetidos tantas vezes quantas as
faixas;

Data Modo Número


Título Duração
Título Intérprete de de da
da faixa da faixa
aquisição aquisição faixa

20 anos Setembro de Prenda de


Rui Veloso 1 Chico Fininho 2:31
depois 2000 aniversário

20 anos Setembro de Prenda de Sei de uma


Rui Veloso 2 3:07
depois 2000 aniversário camponesa

20 anos Setembro de Prenda de Um café e um


Rui Veloso 3 3:34
depois 2000 aniversário bagaço

20 anos Setembro de Prenda de Estrela do


Rui Veloso 4 4:16
depois 2000 aniversário rock’n’roll
Redundância de dados

A redundância dos dados – dados como o nome do D. Turma e


Turma são repetidos tantas vezes quantos os alunos;

Nºprocesso Nome Ano Turma Número Idade D.Turma

10120 Ana Teresa 10º A 1 16 Rui Tavares

10123 Rui Pedro 11º B 23 18 Carla Nunes

10118 Luís Marques 10º A 6 15 Rui Tavares

10116 Sara Antunes 10º A 14 15 Rui Tavares


Dificuldades na manutenção

 Dificuldade na sua manutenção – uma alteração a um dado


repetido, como por exemplo o nome do D. Turma, teria de ser
feita em todas as linhas da tabela em que ele aparecesse.

 Por exemplo, se o nome do D.Turma fosse Rui Neves, essa


alteração teria de ser feita em todas as suas linhas da tabela,
tantas quantos os alunos da turma.
Integridade dos dados

 Dificuldade em manter a sua integridade – bastava um engano


na alteração do nome do D. Turma numa linha para que ele
ficasse diferente dos das outras linhas.

 Imagina que, por exemplo, na terceira linha da tabela introduzias


“Luís Tavares” em vez de “Rui Tavares”. Do ponto de vista do
programa que usasse a base de dados, o D.Turma do aluno Luís
Marques não era o mesmo das outras!
Tabela


Tabela

 As tabelas são parte integrante de uma BD e são utilizadas para


guardar informação relativa a um determinado assunto, por ex:
alunos, livros, autores, países, etc.

 É um conjunto de registos, todos do mesmo tipo, sobre uma


determinada entidade, estruturados em forma de campos.
Ex: Alunos (registos só sobre alunos)
Tabela

 Cada linha contendo dados tem o nome de registo e a cada


coluna é dado o nome de campo.

 Na fase inicial da criação da base de dados, ao serem definidas


as tabelas, apenas os nomes dos campos devem ser indicados;
só depois, através do SGBD, são preenchidos os dados.
Estrutura de uma tabela
Registo

O Registo corresponde a cada linha de uma tabela e pode ser


definido como um conjunto de campos relacionados.

Ex: registo relativo ao aluno com o nome Ana, Nº Processo


120, do 7º ano, turma A, número 2 e com 12 anos de
idade.
Campo

Os Campos são os elementos constituintes das tabelas e


são utilizados para especificar os diversos tipos de dados ou
categorias em que dividimos a informação que pretendemos
utilizar.

Ex: Nome, Nº Processo, Ano, Turma, Número, Idade.


Dados

Dado pode ser definido como o resultado da recolha de


informação, um acontecimento ou facto sobre um determinado
assunto, sem nenhum tratamento adicional.

Tipos de dados: numéricos, data/hora, alfanuméricos e


lógicos.

Ex: Ana,120, 7º, A, 2,12


Campos-chave (1/8)

 A chave de uma tabela é constituída por um ou mais campos


que possam ser utilizados como identificadores de cada um dos
registos. Ou seja, que permitam identificar um registo de forma
unívoca.

 Um campo ou conjunto de campos seleccionados para chave de


uma tabela, não pode conter informação repetida.
Campos-chave (2/8)

 O campo, ou conjunto de campos, que identifica os registos de


uma tabela toma o nome de chave primária.

 Se a tabela possuir vários campos que, ao longo das suas colunas,


não possuem valores repetidos, esses campos são candidatos a
chaves, ou seja, são chaves candidatas.

 Quando a chave é constituída não apenas por um campo, mas por


um conjunto de campos, formamos uma chave composta.
Campos-chave (3/8)

 A tabela alunos contém os dados de vários alunos.

 Qual dos campos permite identificar de forma única cada um


dos alunos existentes?

 A melhor escolha parece ser o Nºprocesso, já que cada aluno


tem o seu e, à partida, são todos diferentes.

Nºprocesso Nome Ano Turma

10120 Ana Teresa 10º A

10123 Rui Pedro 11º B


Campos-chave (4/6)

Para chave composta, poderíamos escolher o Título e o Intérprete,


evitando assim a possibilidade de repetições, já que é muito pouco provável
que um mesmo intérprete lance dois CD com o mesmo título. Pouco provável,
mas não impossível... Os quatro primeiros álbuns de Peter Gabriel tinham o
seu nome como título.

CD
Data Modo
Título Intérprete de de
aquisição aquisição
Best of Peter Gabriel ... ...

Best Peter Gabriel ... ...


Campos-chave (5/6)

 Para obter um campo-chave, poderíamos numerar os CD e assim criar


um campo Número do CD, deste modo garantindo que não haveria CD com
números idênticos.

CD
Data Modo
Número do CD Título Intérprete de de
aquisição aquisição

1 Best of Brian Adams ... ...

2 Best Of Cranberries ... ...

 É esta a solução mais usada nas bases de dados. É por isso que se tem
um número de BI, um número de aluno, um número de sócio...
Campos-chave (6/6)

Campos-chave – chave composta

Título Intérprete Data de aquisição Modo de aquisição

20 Anos Depois Rui Veloso 8/9/2000 Prenda de aniversário

Do Lado dos Cisnes GNR 24/12/2002 Prenda de Natal

Campo-chave

Número do
Título Intérprete Data de aquisição Modo de aquisição
CD
1 20 Anos Depois Rui Veloso 8/9/2000 Prenda de aniversário
2 Do Lado dos Cisnes GNR 24/12/2002 Prenda de Natal
Modelos de Bases de Dados

São um conjunto de conceitos que podem ser utilizados para


descrever e representar a estrutura lógica e física da BD.

Dividem-se em 2 grupos:

 Os modelos conceptuais (ou baseados em objectos)

 Os modelos de implementação (ou baseados em registos)


Modelos de Bases de Dados

 O modelo conceptual é fundamental para o desenvolvimento


de qualquer BD. Este éum modelo lógico, sendo posteriormente
convertido num dos modelos de implementação.

 Os modelos de implementação permitem descrever a forma


como os dados estão representados num SGBD.Inicialmente
eram usados os modelos Hiérarquico e de Rede, desde 1970 é
usado o Modelo Relacional.
Modelo Relacional

 Este modelo surgiu em 1970 e foi desenvolvido por Ted


Codd.

 As bases de dados relacionais são constituídas por uma ou


mais tabelas relacionadas entre si.

Turmas Turmas e Professores


professores
Código de turma Código de professor
Código da turma
Ano da turma Nome do professor
Código do professor
Relação

Uma relação consiste na associação entre campos comuns


(colunas) de duas tabelas.

Os relacionamentos são estabelecidos através de campos


comuns entre elas. Uma das tabelas tem de conter elementos
chave da outra tabela
Tipos de relacionamentos binários

 Relações um-para-um (1:1)


 Relações um-para-vários ou vários-para-um (1:N)
 Relações vários-para-vários (N:M)
Relações um-para-um (1:1)

1 1

Nºprocesso:
10214

Cada aluno tem um Nº processo


Relações um-para-um (1:1)

1 1

Nºprocesso:
10214

Cada Nº processo corresponde a um só aluno


Relações um-para-vários (1:n)

1 N

Cada turma tem vários alunos


Relações um-para-vários (1:n)

1 N

1 1

Cada aluno pertence a uma turma


Relações vários-para-vários (n:m)

1 N

Cada turma tem vários professores


Relações vários-para-vários (n:m)

N 1

Cada professor tem várias turmas


Relações vários-para-vários (n:m)

N M

Cada turma tem vários professores


Cada professor tem várias turmas
Associação

Uma associação representa a forma como duas ou mais


tabelas (entidades) se relacionam entre si.

Tipos de associações ou relacionamentos:

Associações unárias – quando uma entidade mantém um


relacionamento consigo própria.

Associações binárias - quando temos duas entidades que se


relacionam entre si.

Associações complexas - caracterizam-se pela possibilidade


de estabelecer relações entre mais do que duas entidades.
Associação

 Associações unárias – quando uma entidade


mantém um relacionamento consigo própria.

Alunos

Cada aluno tem um Encarregado de Educação.


O aluno é Encarregado de Educação de um aluno..
Associação

 Associações binárias – quando temos duas


entidades que se relaçionam entre si.

Alunos Disciplinas

O aluno está inscrito em várias disciplinas


Associação

 Associações complexas – caracterizam-se pela


possibilidade de estabelecer relações entre mais do
que duas entidades.

Disciplinas

Alunos Professores
Bases de dados relacionais

O que é que se pretende guardar na Base de


dados?
Entidades e atributos (1/5)

Para conceber uma base de dados, é necessário começar por pensar:


Entidades e atributos (2/5)

 Para a escolha das tabelas a criar e dos seus conteúdos é


conveniente ficar com uma ideia dos conceitos de entidade e
de atributo.

 Uma entidade é algo (objectos, pessoas, acontecimentos)


sobre o qual queremos guardar dados que lhes dizem
respeito, dados esses que são classificados por atributos.
Entidades e atributos (3/5)

A entidade Pode ter como atributos A entidade Pode ter como atributos
o seu número o seu número
o seu nome
o seu título
Aluno a sua morada DVD
a data da gravação
o ano que frequenta
uma descrição do seu
a turma a que pertence conteúdo

o seu código a sua matrícula

Turma a sua descrição o seu modelo


Automóvel
o seu ano o n.º do livrete

o número de sócio o nome do seu dono


o seu nome matrícula do automóvel
Sócio de um clube
a sua morada Avaria no
descrição da avaria
automóvel
o seu número de BI data da entrada na oficina
Entidades e atributos (4/5)

O atributo é decomposto nos atributos


 Por vezes, alguns inicial atómicos
Rua
atributos podem ou
Nº da porta
devem ser Morada
Código postal
decompostos noutros
Localidade
atributos que já não
Código Código
podem ser mais postal Localidade
divididos, denominados Nomes próprios
Nome
atributos atómicos. Apelido

Ano

Data Mês

Dia
Entidades e atributos (5/5)

 Os atributos possuem conteúdos.


 No caso do dia de uma data, por exemplo, esse valor só
poderá estar entre 1 e 31.

 No caso da classificação de final de período a uma disciplina,


o valor é um número inteiro que só poderá estar entre 0 e 20.

 Ao conjunto de valores que um atributo pode tomar dá-se


o nome de domínio.
Regras da constituição das Tabelas

aluno livro
Regras da constituição das Tabelas

 Não pode haver duas colunas com nome igual


Regras da constituição das Tabelas

 Cada campo deve ser constituído por valores atómicos


Regras da constituição das Tabelas

 Não deve haver campos vazios


Regras da constituição das Tabelas

 Não pode haver registos duplicados


Sistema Gestor da Base de Dados (SGBD)

É o software que faz a gestão do acesso aos dados da

Base de Dados e que garante a sua correcta

manutenção. Isto é, serve de interface entre os vários

utilizadores e a Base de Dados.


Sistema Gestor da Base de Dados (SGBD)

Um conjunto de programas que permitem ao utilizador

executar operações como inserções, eliminações, consultas e

alterações sobre o conteúdo dos ficheiros de dados, além de

permitir controlar a integridade e a segurança desses dados,

é um Sistema Gestor de Base de Dados (SGBD) ou em

inglês Data Base Management System (DBMS).


Exemplos de SGBD’s

 Microsoft Access
 Microsoft Visual FoxPro
 Oracle
 Etc.
Funções de um SGBD

 Segurança
 Integridade dos dados
 Controlo e acesso
 Recuperação/ tolerância a falhas.
Funções de um SGBD

 Segurança
Deve proteger a BD de utilizadores não autorizados.

 Integridade dos dados


Proteger a BD de utilizadores autorizados evitando que estes
executem tarefas que ponham em risco a integridade da
informação(por ex: não permitir que se apaguem dados de um
sítio que são necessários noutro sítio da BD).
Funções de um SGBD

 Controlo e acesso dos utilizadores aos dados


Quando existem muitos utilizadores, a partilha de dados tem de
ser feita de modo que cada utilizador a use como se estivesse
sozinho.

 Recuperação/ tolerância a falhas


sempre que ocorram falhas, de hardware ou software, o SGBD
tem de reconstruir a BD até ao momento em que ocorreu a falha.
Níveis da arquitectura de um SGBD
Níveis da arquitectura de um SGBD

 Nível físico
Corresponde à forma como os dados da base de dados são
armazenados e organizados internamente no sistema informático.

 Nível conceptual
Corresponde à forma como os dados são estruturados ou
organizados ao nível da sua concepção lógica, ou seja, o número e o
tipo de campos em que a informação é estruturada, as relações
entre os dados, etc..
Níveis da arquitectura de um SGBD

 Nível de visualização

Corresponde à forma como os dados são apresentados aos


utilizadores finais, através de interfaces gráficos
proporcionados por programas da aplicação ou rotinas do
SGBD que opera com a base de dados.

Você também pode gostar