TLP 12 Fundamentos de Base de Dados-1
TLP 12 Fundamentos de Base de Dados-1
TLP 12 Fundamentos de Base de Dados-1
Página 3
2. CARACTERÍSTICAS DA BASE DE
DADOS
Uma base de dados deve ter basicamente as seguintes características:
Fundamentos de base de dados
Página 4
3. TIPOS DE BASE DE DADOS
Existem maneiras diferentes de modelar uma base de dados, a escolha de cada
Fundamentos de base de dados
uma delas, geralmente depende de alguns fatores que o DBA achar conveniente,
dentre os tipo de base de dados podemos encontrar os seguintes:
Base De Dados Relacional;
Base De Dados De Redes;
Base De Dados Hierárquico;
Base De Dados Orientado a Objectos.
Página 5
3. TIPOS DE BASE DE DADOS
BASE DE DADOS RELACIONAL: neste modelo, dados e relacionamento entre
Fundamentos de base de dados
dados são representados por tabelas, cada uma com suas colunas específicas.
NOME IDADE MARCA DO TELEFONE
Anacleto 18 Xperia Z1
Anacleto 18 Nokia 1100
Anacleto 18 Phablet HP
Gabriel 17 Ascend P6
Mariano 18 Phablet HP
Mariano 18 Siemens 998
Cecília 13 Siemens 998
Página 6
3. TIPOS DE BASE DE DADOS
BASE DE DADOS DE REDE: neste modelo os dados são representados por
Fundamentos de base de dados
Phablet HP
Mariano 18
Siemens 998
Cecília 15
Gabriel 17 Ascend P6
Página 7
3. TIPOS DE BASE DE DADOS
BASE DE DADOS HIERÁRQUICA: este modelo é semelhante ao modelo de rede,
Fundamentos de base de dados
Nokia 1100
Página 8
3. TIPOS DE BASE DE DADOS
BASE DE DADOS ORIENTADO A OBJECTOS: neste modelo as informações são
Fundamentos de base de dados
Página 9
4. VANTAGENS DO USO DE BASE DE
DADOS
Para qualquer instituição, o mais importante, não é ter todos os materiais físicos
bem controlados, as sim ter um controle rigoroso nos dados que controlam os
Fundamentos de base de dados
meios físicos.
Dentre as grandes vantagens em usar um banco de dados, temos as seguintes:
Diminuir o espaço ocupado pela informação;
Facilitar o acesso e a atualização da informação;
Aumentar a velocidade da pesquisa;
Evitar a redundância da informação;
Facilitar o backup e recuperação à falhas;
Fortificar a partilha de dados.
Página 10
TÉCNICAS E LINGUAGENS DE PROGRAMAÇÃO
Página 12
1. GESTÃO E ORGANIZAÇÃO DA
INFORMAÇÃO NA BASE DE DADOS
ANÁLISE DE REQUISITOS: nesta fase, devemos como DBA identificar ou descrever
Fundamentos de base de dados
Página 13
2. ANALISE DE REQUISITOS
Na fase de analise de requisitos devemos ter o grande foco em obter as:
Fundamentos de base de dados
Página 14
2. ANALISE DE REQUISITOS
Existe vários métodos ou técnicas de levantamentos de requisitos, os mais usados
Fundamentos de base de dados
são:
Documentação;
Observação;
Entrevista.
Página 15
3. MODELO CONCEPTUAL
Existem diferentes maneiras de criar o modelo conceptual da base de dados,
Fundamentos de base de dados
Página 16
3. MODELO CONCEPTUAL
Os principais elementos do modelo conceptual são:
Fundamentos de base de dados
Entidade;
Atributo;
Associação;
Entidade Associativa;
Generalização.
Página 17
3. MODELO CONCEPTUAL
-ENTIDADE
ENTIDADE: são objetos ou conceitos que sobre o qual pretende-se armazenar as
Fundamentos de base de dados
NOME_DA_ENTIDADE
Página 19
3. MODELO CONCEPTUAL
-ATRIBUTO
Atributo Multi-Valorado: é aquele que pode assumir um ou mais valores para
Fundamentos de base de dados
Página 20
3. MODELO CONCEPTUAL
-ATRIBUTO
Identificadores: são os atributos de uma entidade que identificam uma ocorrência
Fundamentos de base de dados
morada
PESSOA
Página 21
3. MODELO CONCEPTUAL
-ASSOCIAÇÃO
ASSOCIAÇÕES: são as relações de grande relevância entre as entidades.
Fundamentos de base de dados
Página 22
3. MODELO CONCEPTUAL
-ASSOCIAÇÃO
GRAU DE UMA ASSOCIAÇÃO(CARDINALIDADE): representa quantitativamente as
ocorrências que uma entidade terá na realização da outra entidade.
Fundamentos de base de dados
Funcionário regista
Página 24
3. MODELO CONCEPTUAL
-ASSOCIAÇÃO
Associação Binária
Fundamentos de base de dados
Numa escola um aluno deve ter um ou vários processos e cada processo deve
pertence a um e somente um aluno. A entidade ALUNO é obrigatória
Numa escola um aluno deve ter um ou vários processos e cada processo deve
pertence a um ou nenhum aluno. A entidade ALUNO não é obrigatória
Página 25
3. MODELO CONCEPTUAL
-ASSOCIAÇÃO
Associação Complexa
Fundamentos de base de dados
Página 26
3. MODELO CONCEPTUAL
-ASSOCIAÇÃO
Associação Complexa
Fundamentos de base de dados
PLACA_MAE
ENTRADA SATA
Página 27
3. MODELO CONCEPTUAL
-EXTREMIDADE DA CARDINALIDADE
Fundamentos de base de dados
Página 28
3. MODELO CONCEPTUAL
-ENTIDADE ASSOCIATIVA
ENTIDADE ASSOCIATIVA: uma entidade é dita como associativa quando ela não
Fundamentos de base de dados
existe por si só, sendo que a sua existência está condicionada à existência de duas
ou mais entidades. Nestas o seu identificador é formado pela concatenação dos
identificadores das entidades que se associam para lhe dar origem.
As entidades associativas, pelo facto de também serem entidades, possuem
atributos próprios. Elas são representadas por um quadrado com um losango no
seu interior
NOME
Página 29
3. MODELO CONCEPTUAL
-ENTIDADE ASSOCIATIVA
As entidades associativas surgem quando a entidade A para se relacionar com a
Fundamentos de base de dados
num_BI disciplina
nome
nota num_ordem
data
codigo
ALUNO faz PROVA
Página 30
3. MODELO CONCEPTUAL
-GENERALIZAÇÃO
GENERALIZAÇÃO DE ENTIDADE: é quando uma entidade possui sub-entidades.
Fundamentos de base de dados
Uma entidade A é generalizada se existe as Entidades A1, A2,….,An, tal que A1, A2,
ou An É UM TIPO DE A.
Ao caso anterior diz-se que A é uma ENTIDADE GENÉRICA ou ENTIDADE MÃE ou
SUPER-ENTIDADE e A1, A2,…, An são ENTIDADES ESPECIFICAS ou ENTIDADES
FILHAS ou SUB-ENTIDADES de A.
Na generalização, as sub-entidades herdam todos os atributos da super-entidade.
A generalização, geometricamente é representada por um triangulo, sendo que o
triangulo aponta para a entidade mãe.
Página 31
3. MODELO CONCEPTUAL
-GENERALIZAÇÃO
Exemplo: Numa escola, o
Fundamentos de base de dados
a(s) sub-entidade(s)(top-down)
Estamos perante a generalização quando a leitura é feita da(s) sub-entidade(s)
para a super-entidade(bottom-up).
GENERALIZAÇÃO
ESPECIFICAÇÃO
Página 33
3. MODELO CONCEPTUAL
-GENERALIZAÇÃO
Uma generalização pode ser classificada quanto as restrições de Totalidade e de
Fundamentos de base de dados
Exclusividade.
Restrição De Totalidade ou Cobertura:
TOTAL: para cada ocorrência de uma super-entidade existe sempre uma
ocorrência em uma das sub-entidades. Esta restrição podemos representar por t.
PARCIAL: nem toda ocorrência da super-entidade possui sempre uma ocorrência
correspondente em uma sub-entidade. Esta restrição pode ser representada
pela letra p.
Página 34
3. MODELO CONCEPTUAL
-GENERALIZAÇÃO
Restrição De Exclusividade:
Fundamentos de base de dados
Página 35
3. MODELO CONCEPTUAL
-GENERALIZAÇÃO
Fundamentos de base de dados
Página 36
3. MODELO CONCEPTUAL
-GENERALIZAÇÃO
Fundamentos de base de dados
Página 37
3. MODELO CONCEPTUAL
-REFINAMENTO
REFINAMENTO DO MODELO CONCEPTUAL: refinar o modelo conceptual consiste
Fundamentos de base de dados
em fazer com que o desenho feito fique mais próximo do modelo lógico. Em
muitos casos usa-se o refinamento para eliminar as cardinalidades (N:M) e
promover as cardinalidades (1:N)
MODELO REFINADO
Página 38
4. MODELO LÓGICO
MODELO RELACIONAL ou MODELO LÓGICO: este modelo baseia-se na ideia de
que todos os dados são armazenados em tabelas. Este agrega mais detalhes da
Fundamentos de base de dados
seguintes termos:
Grau Quantidade de colunas
Atributo Coluna
Registo ou Ocorrência Linha
Nº NOME NÚMERO DO BILHETE IDADE SEXO MORADA TELEFONE
01 Anacleto Mimoso 00000011 16 M Cacuaco 912 01 01 01
02 Gabriel Muhanda 00200001 18 M Viana 913 02 02 02
03 Mariano Calelua 20015599 18 M Zango 914 03 03 03
04 Cecília Muhanda 10012200 25 F Quicolo 915 04 04 04
Página 40
4. MODELO LÓGICO
CHAVE CANDIDATA: é um atributo que identifica uma ocorrência. Numa relação
Fundamentos de base de dados
devemos escolher uma para ser a chave efetiva da relação. Elas são escritas com
uma sublinha continua.
ALUNO(num_BI, nome, classe)
PROVA(id, disciplina)
Obs.: Toda chave primária é uma chave candidata, mas nem toda chave candidata
é uma chave primária.
Página 42
4. MODELO LÓGICO
CHAVE ESTRANGEIRA(Foreign Key): é um atributo cuja ocorrência é uma chave
Fundamentos de base de dados
Página 43
4. MODELO LÓGICO
TRANSFORMAÇÃO DO MODELO CONCEPTUAL EM RELACIONAL: nesta fase
Fundamentos de base de dados
veremos algumas regras básicas usadas para esta transformação, mas essas regras
não são absolutas. Em muitos casos haverá necessidades de aplicarmos alguns
truques lógicos para fazer a mesma transformação, isto em função das ocorrências
das entidades. Por normalidade cada entidade dá origem a uma relação.
basta uma tabela para representar as duas entidades. Pra tal junta-se os atributos
das duas entidades, e dentre os dois identificadores escolhe-se um para ser a
chave primária da relação.
Página 45
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO BINÁRIA 1:1 SEM OBRIGATORIEDADE EM UM LADO: neste caso,
Fundamentos de base de dados
Página 46
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO BINÁRIA 1:1 SEM OBRIGATORIEDADE EM AMBOS LADOS: neste
Fundamentos de base de dados
caso, resultará uma terceira tabelas, que será formada pelos identificadores das
duas entidades, ou seja, estes atributos serão chaves candidatas e estrangeiras, e
escolhemos um deles para ser a chave primária.
se o lado N é obrigatório ou não, casos como esse cria-se apenas duas tabelas,
sendo que a chave primária da entidade do lado 1 será chave estrangeira na
tabela correspondente a entidade do lado N.
Página 48
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO BINÁRIA 1:N SEM OBRIGAÇÃO NO LADO 1: independentemente se
Fundamentos de base de dados
o lado N é obrigatório ou não, casos como esse cria-se três tabelas, duas para
representar as entidades, e uma para representar o relacionamento. A tabela que
representará o relacionamento, deverá ter como uma das chaves candidatas a
chave primária da entidade do lado N.
Página 49
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO BINÁRIA N:M: independentemente das obrigatoriedades dos lados
Fundamentos de base de dados
Página 50
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO UNÁRIA 1:1 COM OBRIGATORIEDADE EM AMBOS LADOS: em
Fundamentos de base de dados
situações como esta cria-se uma única tabela. Deve-se representar os atributos
repetidamente devido o relacionamento.
Página 51
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO UNÁRIA 1:1 SEM OBRIGATORIEDADE EM UM LADO: em situações
Fundamentos de base de dados
Página 52
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO UNÁRIA 1:1 SEM OBRIGATORIEDADE EM AMBOS LADOS: em
Fundamentos de base de dados
situações como esta cria-se duas tabela, uma para representar a entidade e a
outra para representar o relacionamento.
Página 53
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO UNÁRIA 1:N: independentemente das obrigatoriedades dos lados 1
Fundamentos de base de dados
O atributo num_bi_ensina sera nulo sempre que uma pessoa não é ensinado por
alguem
Página 54
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO UNÁRIA N:M: independentemente das obrigatoriedades de ambos
Fundamentos de base de dados
lados, em situações como esta cria-se duas tabelas, sendo que uma representará a
entidade e a outra representará o relacionamento.
Página 55
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
ASSOCIAÇÃO COMPLEXA: para esses casos, geralmente o número de tabelas
Fundamentos de base de dados
PROFESSOR(num_funcionario, nome)
DISCIPLINA(codigo_disciplina, descricao)
ALUNO(num_aluno, nome)
P-D-A(num_func, cod_disc, num_aluno)
Página 56
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
PROFESSOR(num_funcionario, nome)
Fundamentos de base de dados
DISCIPLINA(codigo_disciplina, descricao)
ALUNO(num_aluno, nome)
P-D-A(num_func, cod_disc, num_aluno)
Nota: Associações complexas são casos raros de se utilizar, pois elas podem ser
refinadas em associação binária.
Página 57
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
GENERALIZAÇÃO EXCLUSIVA: independentemente se a generalização é total ou
Fundamentos de base de dados
Página 58
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
Fundamentos de base de dados
Página 59
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
GENERALIZAÇÃO OVERLAPING: independentemente se a generalização é total
Fundamentos de base de dados
Página 60
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
Fundamentos de base de dados
Página 61
4. MODELO LÓGICO
-M. CONCEPTUAL VS M. LÓGICO
Notas para as generalizações:
Fundamentos de base de dados
Página 62
4. MODELO LÓGICO
-NORMALIZAÇÃO
Após a construção do modelo conceptual e a transformação do mesmo em
Fundamentos de base de dados
Página 63
4. MODELO LÓGICO
-NORMALIZAÇÃO
A normalização é baseada em processos que são chamados de formas normais.
Em base de dados, existe seis formas normais:
Fundamentos de base de dados
Página 65
4. MODELO LÓGICO
-PRIMEIRA FORMA NORMAL
PRIMEIRA FORMA NORMAL (1FN): diz-se que uma tabela está na primeira forma
Fundamentos de base de dados
Página 67
4. MODELO LÓGICO
-PRIMEIRA FORMA NORMAL
Resolucao para a tabela PESSOA:
Fundamentos de base de dados
Página 68
4. MODELO LÓGICO
-PRIMEIRA FORMA NORMAL
Exemplo de outra tabela que não está na 1FN:
Fundamentos de base de dados
Imagine que o casal Gomes Calelua e Ana Pedro pretendem colocar mais dois
filhos na escola, pra tal precisaríamos de inserir novamente o nome do casal.
Para alterar o nome do encarregado Pedro Adao é necessário alterar noutro
registo .
Página 69
4. MODELO LÓGICO
-PRIMEIRA FORMA NORMAL
Resolução do problema da tabela ALUNO:
Fundamentos de base de dados
Página 70
4. MODELO LÓGICO
-DEPENDÊNCIAS FUNCIONAIS
DEPENDENCIA FUNCIONAL: é a influência que existe entre os atributos de uma
Fundamentos de base de dados
relação.
Exemplo: num_BI -> nome_pessoa
Diz-se que:
nome_pessoa depende de num_BI
ou
num_BI identifica o nome_pessoa
ou
num_BI influencia na busca do nome_pessoa
Página 71
4. MODELO LÓGICO
-DEPENDÊNCIAS FUNCIONAIS
Uma dependência funcional pode ser: total, parcial ou transitiva.
Fundamentos de base de dados
Página 72
4. MODELO LÓGICO
-SEGUNDA FORMA NORMAL
SEGUNDA FORMA NORMAL (2FN): diz-se que uma tabela está na segunda forma
Fundamentos de base de dados
Página 73
4. MODELO LÓGICO
-SEGUNDA FORMA NORMAL
Solução:
Fundamentos de base de dados
PROVA(id_prova, qtde_perguntas)
ALUNO(id_aluno, classe_aluno)
AVALIACAO(id_prova, id_aluno, nota)
Página 74
4. MODELO LÓGICO
-TERCEIRA FORMA NORMAL
TERCEIRA FORMA NORMAL (3FN): diz-se que uma tabela está na terceira forma
Fundamentos de base de dados
Página 75
4. MODELO LÓGICO
-TERCEIRA FORMA NORMAL
Resolução:
Fundamentos de base de dados
Página 76
4. MODELO LÓGICO
-TERCEIRA FORMA NORMAL
Normalize atá à 3FN as seguintes tabelas:
Fundamentos de base de dados
Página 77
5. MODELO FÍSICO
-INTRODUÇÃO
MODELO FISICO: Neste modelo cria-se as estruturas que armazenarão os dados
Fundamentos de base de dados
Página 78
5. MODELO FÍSICO
-INTRODUÇÃO AO MYSQL
MySQL: é um Sistema de Gerenciamento de Base de Dados livre, que utiliza a
Fundamentos de base de dados
Página 79
5. MODELO FÍSICO
-COMPONENTES DO SQL
A linguagem SQL tem quatro grandes componentes:
Fundamentos de base de dados
Página 80
5. MODELO FÍSICO
-INSTALAÇÃO DO MYSQL
Fundamentos de base de dados
Página 81
5. MODELO FÍSICO
-COMANDOS PRELIMINARES DO MYSQL
1. CONECTAR UM USUARIO: mysql –u NOME_DO_USUARIO -p;
Fundamentos de base de dados
Página 83
5. MODELO FÍSICO
-COMANDOS PRELIMINARES DO MYSQL
12. VER OS NOMES DOS USUÁRIOS: primeiro acede o banco de dados “mysql”,
Fundamentos de base de dados
Página 84
5. MODELO FÍSICO
-PREPARAÇÃO DO MYSQL
1. Atribuir senha para o usuario root;
Fundamentos de base de dados
Página 85
5. MODELO FÍSICO
-TIPOS DE DADOS
Em mysql existe vários tipos de dados, nos veremos os tipos mais comuns, mas
Fundamentos de base de dados
TIPOS TEXTO
TIPO EM MYSQL DESCRIÇÃO VALOR MÍNIMO VALOR MÁXIMO
CHAR ou CHAR(M) Texto Curto 0 Caracter 255 Caracteres
VARCHAR(M) ou
Texto Normal 0 Caracter ≈60000 Caracteres
TEXT(M)
LONGTEXT Texto Longo 0 Caracter ≈4294967295 Caracteres
Página 87
5. MODELO FÍSICO
-TABELAS-DDL
As tabelas devem ser criadas dentro de banco de dados(database)
Fundamentos de base de dados
Página 88
5. MODELO FÍSICO
-TABELAS-DDL
Sintaxe da DESCRIÇÃO:
Fundamentos de base de dados
DESC <nome_da_tabela>;
DESC professor;
Sintaxe da REMOCÃO:
DROP TABLE <nome_da_tabela>;
DROP TABLE professor;
Página 89
5. MODELO FÍSICO
-TABELAS-DDL
Sintaxe 2 da ALTERAÇÃO «remoção de um atributo»:
Fundamentos de base de dados
Página 90
5. MODELO FÍSICO
-TABELAS-DDL
Sintaxe 5 da ALTERAÇÃO «modificação do nome de um atributo»:
Fundamentos de base de dados
Página 91
5. MODELO FÍSICO
-TABELAS-DML
Sintaxe 1 de INSERÇÃO «inserção de todos os atributos»
Fundamentos de base de dados
Página 92
5. MODELO FÍSICO
-TABELAS-DML
Sintaxe 2 de SELECÇÃO «mostrar atributos escolhidos»:
Fundamentos de base de dados
Sintaxe de ACTUALIZAÇÃO:
UPDATE <nome_da_tabela> SET atributo = novo_valor WHERE <condicao>;
UPDATE pessoa SET nome=‘Diazenza’, idade=20, altura=1.6 WHERE num_bi=‘001B24’;
Página 93
5. MODELO FÍSICO
-TABELAS-DML
Sintaxe de ELIMINAÇÃO:
Fundamentos de base de dados
Página 94
5. MODELO FÍSICO
-CONSTRAINT
CONSTRAINT: é a restrição que pode ser aplicada em colunas das tabelas.
Fundamentos de base de dados
Página 95
5. MODELO FÍSICO
-CONSTRAINT-PRIMARY KEY
Chave Primária: Exemplo 1
Fundamentos de base de dados
id_aluno INT,
nota INT,
CONSTRAINT pk_avaliacao PRIMARY KEY(id_prova, id_aluno)
);
Página 97
5. MODELO FÍSICO
-CONSTRAINT-UNIQUE
Atributo Único: Exemplo 1
Fundamentos de base de dados
Página 98
5. MODELO FÍSICO
-CONSTRAINT-UNIQUE
Atributo Único: Exemplo 1
Fundamentos de base de dados
num_bi VARCHAR(15),
nome VARCHAR(50),
…
CONSTRAINT pk_pessoa PRIMARY KEY(id),
CONSTRAINT unique_num_bi UNIQUE (num_bi)
);
Página 99
5. MODELO FÍSICO
-CONSTRAINT-UNIQUE
Atributo Único: Exemplo 2
Fundamentos de base de dados
num_bi VARCHAR(15),
nome VARCHAR(50),
…
CONSTRAINT pk_pessoa PRIMARY KEY(id),
CONSTRAINT unique_num_bi UNIQUE (num_bi),
CONSTRAINT unique_tel UNIQUE (telefone)
nome VARCHAR(50),
num_aluno INT,
turma VARCHAR(10),
…
CONSTRAINT pk_pessoa PRIMARY KEY(id),
CONSTRAINT unique_aluno UNIQUE (turma, num_aluno)
id_pessoa INT,
…
CONSTRAINT pk_aluno PRIMARY KEY(num_processo),
CONSTRAINT fk_id_aluno FOREIGN KEY (id_pessoa) REFERENCES Pessoa(id)
);
Página 102
5. MODELO FÍSICO
-CONSTRAINT-FOREIGN KEY
Chave Estrangeira: Exemplo 2
Fundamentos de base de dados