0% acharam este documento útil (0 voto)
11 visualizações49 páginas

MD1 Apostila 2023

Enviado por

christianyuri.ss
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações49 páginas

MD1 Apostila 2023

Enviado por

christianyuri.ss
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 49

ESCOLA TÉCNICA ESTADUAL REPÚBLICA

MODELAGEM DE DADOS 1 - MD1

2023

1
AULA 1
Banco de Dados
Dado
Dados são todos os elementos que servem de base para a formação de opiniões ou para a tomada de
decisões. Um dado é apenas um índice, um registro, uma manifestação objetiva, passível de análise,
exigindo interpretação da pessoa para sua manipulação.

Informação
Um conjunto de fatos organizados de tal forma que adquirem valor adicional além do valor do fato
em si.

O que é um banco de dados?

É uma coleção de dados relacionados referentes a um mesmo assunto e organizados de maneira útil
com o propósito de servir de base para que o usuário recupere informações, tire conclusões e tome
decisões. Bancos de Dados começaram a ser utilizados por volta dos anos 60 e em 70.
Os Bancos de Dados, além de manterem todo um volume de dados organizado, também devem
permitir atualizações, inclusões e exclusões do volume de dados, sem nunca perder a consistência.

Sistema de Processamento de Arquivos

No Sistema de Processamento de Arquivos (sistemas isolados), há subordinação dos programas


aos arquivos, cada aplicação possui seus próprios dados e tem seu próprio arquivo. Então os dados
se tornam repetitivos, as informações inconsistentes, há falta de integridade, há pouca proteção
contra danos físicos aos meios de armazenamento, mas a segurança contra o acesso indevido é boa,
pelo fato de só você ter acesso à sua aplicação, o programador se torna o “dono” da aplicação,
dificuldade no desenvolvimento de novas aplicações e a manutenção se torna difícil e cara.

Este esquema tem um grande número de desvantagens:


 Redundância de dados. Ocorre quando uma determinada informação está representada no
sistema em computador várias vezes. Existem dois tipos de redundância de dados, a controlada
e a não controlada. A redundância controlada acontece quando o software tem conhecimento da
múltipla representação da informação e garante sincronia entre as diversas representações. Na
redundância não controlada, a responsabilidade pela manutenção da sincronia entre as diversas
representações de uma informação está com o usuário e não com o software.
 Inconsistência de dados. A repetição de informações, pode ainda levar a inconsistência de
dados, que significa que as várias cópias do mesmo dado podem ser diferentes.
 Dificuldade no acesso aos dados. Suponha que um dos coordenadores da escola necessite
encontrar os nomes de todos os alunos que vivem num determinado bairro para encaminhá-los
para estágios. Só que não há nenhum programa aplicativo disponível para fazê-lo.
 Anomalias de acesso concorrente. Com a intenção de aperfeiçoar o desempenho geral do
sistema e obter tempos de resposta mais rápidos, muitos sistemas permitem que múltiplos
usuários atualizem os dados simultaneamente. Em tal ambiente, a interação de atualizações
concorrentes pode resultar em dados inconsistentes.
 Problemas de integridade. Os valores dos dados armazenados nos bancos de dados precisam
satisfazer certos tipos de restrições. Por exemplo, um aluno terá a sua matrícula cancelada caso
possua frequência nula por três meses seguidos sem justificativas. Entretanto, quando novas
restrições são adicionadas, é difícil alterar os programas.

2
Sistema de Gerenciamento (Gerenciador) de Banco de Dados

Um SGBD é uma coleção de programas que permitem ao usuário definir, construir e manipular
Bases de Dados para as mais diversas finalidades.

Um SGBD é composto de uma coleção de arquivos inter-relacionados e de um conjunto de


programas que permitem aos usuários fazer acesso e modificar esses arquivos. O grande objetivo de
um sistema de bancos de dados é prover os usuários uma visão abstrata dos dados, isto é, o sistema
omite certos detalhes de como os dados são armazenados e mantidos. Entretanto, para que o sistema
possa ser utilizado, os dados devem ser buscados eficientemente.
 Nível físico. O nível mais baixo de abstração descreve como os dados estão realmente
armazenados. No nível físico são descritas a estrutura física de armazenamento do banco de
dados, sua organização de arquivos e seus métodos de acesso.
 Nível conceitual. Neste nível de abstração descreve quais dados estão armazenados de fato no
banco de dados e as relações que existem entre eles. O nível conceitual é a visão do conjunto de
usuários, portanto a visão geral do banco de dados.
 Nível de visões. O mais alto nível de abstração descreve apenas parte do banco de dados. O nível
de visões é o mais próximo dos usuários. Voltado para a forma como os dados são vistos pelos
usuários individuais.

OBS.: ABSTRAÇÃO DE DADOS - É O PROCESSO OU RESULTADO DE GENERALIZAÇÃO POR REDUÇÃO


DO CONTEÚDO DA INFORMAÇÃO DE UM CONCEITO OU FENÔMENO OBSERVÁVEL, NORMALMENTE
PARA RETER APENAS A INFORMAÇÃO QUE É RELEVANTE PARA UM PROPÓSITO PARTICULAR.

ESPECIALISTAS DA COMPUTAÇÃO USAM A ABSTRAÇÃO PARA ENTENDER, RESOLVER PROBLEMAS E


COMUNICAR SUAS SOLUÇÕES PARA O COMPUTADOR USANDO ALGUMA LINGUAGEM
COMPUTACIONAL EM PARTICULAR.

VAMOS DEFINIR ALGUMAS REGRAS BÁSICAS E CLARAS PARA UM SISTEMA DE MANIPULAÇÃO DE


DADOS SER CONSIDERADO UM SGBD.

REGRA 1: AUTO-CONTENÇÃO- UM SGBD NÃO CONTÉM APENAS OS DADOS EM SI, MAS ARMAZENA
COMPLETAMENTE TODA A DESCRIÇÃO DOS DADOS, SEUS RELACIONAMENTOS E FORMAS DE ACESSO.
NORMALMENTE ESTA REGRA É CHAMADA DE META-BASE DE DADOS.

REGRA 2: INDEPENDÊNCIA DOS DADOS- QUANDO AS APLICAÇÕES ESTIVEREM REALMENTE IMUNES


A MUDANÇAS NA ESTRUTURA DE ARMAZENAMENTO OU NA ESTRATÉGIA DE ACESSO AOS DADOS,
PODEMOS DIZER QUE ESTA REGRA FOI ATINGIDA. PORTANTO, NENHUMA DEFINIÇÃO DOS DADOS
DEVERÁ ESTAR CONTIDA NOS PROGRAMAS DA APLICAÇÃO. QUANDO VOCÊ RESOLVE CRIAR UMA
NOVA FORMA DE ACESSO, UM NOVO ÍNDICE, SE PRECISAR ALTERAR O CÓDIGO DE SEU APLICATIVO,
VOCÊ NÃO ESTÁ LIDANDO COM UM SGBD.

REGRA 3: ABSTRAÇÃO DOS DADOS- EM UM SGBD REAL É FORNECIDA AO USUÁRIO SOMENTE


UMA REPRESENTAÇÃO CONCEITUAL DOS DADOS, O QUE NÃO INCLUI MAIORES DETALHES SOBRE SUA
FORMA DE ARMAZENAMENTO REAL. O CHAMADO MODELO DE DADOS É UM TIPO DE ABSTRAÇÃO
UTILIZADA PARA FORNECER ESTA REPRESENTAÇÃO CONCEITUAL. NESTE MODELO, UM ESQUEMA
DAS TABELAS, SEUS RELACIONAMENTOS E SUAS CHAVES DE ACESSO SÃO EXIBIDAS AO USUÁRIO,
PORÉM NADA É AFIRMADO SOBRE A CRIAÇÃO DOS ÍNDICES, OU COMO SERÃO MANTIDOS, OU QUAL A
RELAÇÃO EXISTENTE ENTRE AS TABELAS QUE DEVERÁ SER MANTIDA ÍNTEGRA. ASSIM SE VOCÊ
DESEJAR INSERIR UM PEDIDO EM UM CLIENTE INEXISTENTE E ESTA ENTRADA NÃO FOR
AUTOMATICAMENTE REJEITADA, VOCÊ NÃO ESTÁ LIDANDO COM UM SGBD.
3
REGRA 4: VISÕES- UM SGBD DEVE PERMITIR QUE CADA USUÁRIO VISUALIZE OS DADOS DE FORMA
DIFERENTE DAQUELA EXISTENTE PREVIAMENTE NO BANCO DE DADOS. UMA VISÃO CONSISTE DE UM
SUBCONJUNTO DE DADOS DO BANCO DE DADOS, NECESSARIAMENTE DERIVADOS DOS EXISTENTES
NO BANCO DE DADOS.

CLASSIFICAÇÃO
Os sistemas gerenciadores de banco de dados podem ser classificados de diversas maneiras, como por modelo de dados, por
número de usuários, por localização, entre outros.

4
AULA 2
Sistema de Banco de Dados
O Sistema de Banco de Dados envolve quatro componentes principais: dados, hardware, software
e usuários.

Dados

Um banco de dados nada mais é do que um repositório de dados, que pode ser classificado como
integrado ou compartilhado. O banco de dados integrado visa ao controle de total eliminação da
redundância de dados geralmente encontrada em sistemas de arquivos comuns (gerenciadores de
arquivos); o compartilhado visa ao acesso de vários usuários a uma mesma parte dos dados, com
finalidades distintas.

Hardware

Os componentes de hardware do sistema consistem em:

 Volumes de armazenamento secundário – normalmente, discos magnéticos -, que são


usados para manter os dados armazenados, juntamente com os dispositivos de E/S
associados (unidades de discos, etc.), controladores de dispositivos, canais de E/s e assim
por diante.
 Processador(es) de hardware e memória principal associada, que são usados para dar
suporte à execução do software do Sistema de Banco de Dados.

Software

Entre o banco de dados físico – ou seja, os dados fisicamente armazenados – e os usuários do


sistema – existe uma camada de software, conhecida como gerenciador de banco de dados ou
servidor de banco de dados ou, mais frequentemente, como sistema gerenciador de banco de
dados (SGBD).
Todas as requisições de acesso ao banco de dados são tratadas pelo SGBD; os recursos
para acrescentar e remover arquivos (ou tabelas), buscar dados e atualizar dados em tais arquivos ou
tabelas, e assim por diante, são facilidades fornecidas pelo SGBD. O SGBD é, de longe, o
componente de software mais importante de todo o sistema, mas não é o único. Outros
componentes incluem utilitários, ferramentas de desenvolvimento de aplicações, recursos para
auxiliar no projeto, geradores de relatórios e o gerenciador de transações.
O termo SGBD também é usado para se referir, genericamente, a algum produto específico de
algum fornecedor em particular.

Usuários

Consideramos três classes gerais de usuários:


 Os programadores de aplicações, responsáveis pela escrita de programas de aplicações de
banco de dados em alguma linguagem de programação. Esses programas acessam o banco
de dados emitindo a requisição apropriada ao SGBD.
 Os usuários finais acessam ao banco de dados interativamente.
 Os profissionais da área de banco de dados, à saber:

Administrador de Dados é a pessoa responsável pelos dados da empresa. Os dados constituem um


dos bens mais valiosos da empresa, é imperativo que deva existir alguma pessoa que entenda esses
5
dados e as necessidades da empresa com relação a esses dados, em um nível mais elevado da
administração. É seu trabalho decidir que dados devem ser armazenados no banco de dados, além
de estabelecer normas para manter e tratar esses dados, uma vez que venham a ser armazenados.

Administrador de Banco de Dados (DBA) é o técnico responsável pela implementação das


decisões do Administrador de Dados. É um profissional de tecnologia da informação. Seu trabalho é
criar o banco de dados propriamente dito e implementar os controles técnicos necessários para pôr
em prática as diversas decisões sobre as normas tomadas pelo Administrador de Dados.
Também é responsável por assegurar que o sistema operará com desempenho adequado e por
oferecer vários outros serviços técnicos.

SGBD

É o software que trata de todo o acesso ao banco de dados. Conceitualmente, o que ocorre é o
seguinte:
 Um usuário faz um pedido usando uma sublinguagem de dados (geralmente SQL);
 O SGBD intercepta o pedido e o analisa;
 O SGBD, por sua vez, inspeciona o esquema externo, para esse usuário;
 O SGBD executa as operações necessárias sobre o banco de dados armazenado.

As funções do SGBD devem incluir o suporte a, pelo menos, todos os itens a seguir:
 Definição de Dados: o SGBD deve ser capaz de aceitar definições de dados em formato
fonte e convertê-los para o formato objeto adequado.
 Manipulação de Dados: O SGBD deve ser capaz de lidar com as requisições do usuário
para buscar atualizar ou excluir dados existentes no banco de dados, ou para acrescentar
novos dados ao banco de dados.
 Otimização e Execução: O SGBD deve ser capaz de determinar um modo eficiente de
implementar a requisição.
 Segurança e Integridade de Dados: O SGBD, ou algum subsistema chamado, pelo SGBD,
deve monitorar requisições de usuários e rejeitar toda a tentativa de violar as restrições de
segurança e integridade definidas pelo DBA.
 Recuperação de Dados e Concorrência: O SGBD deve impor certos controles de
recuperação e concorrência.
 Dicionário de Dados: Pode ser considerado um banco de dados isolado (mas um banco de
dados do sistema, não um banco de dados do usuário); ele contém “dados sobre os dados”.
 Desempenho: O SGBD deve realizar todas as funções identificadas anteriormente de forma
tão eficiente quanto possível.

6
AULA 3
MODELOS DE BANCO DE DADOS
Um modelo de (banco de) dados é uma descrição dos tipos de informações que estão armazenadas em um banco
de dados.

Definição: descrição formal da estrutura de um banco de dados.

Um modelo de banco de dados é uma descrição dos tipos de informações que estão armazenados
em um banco de dados.

Existem os modelos: Conceitual, Lógico e Físico.

Modelo Conceitual

É uma descrição da estrutura do banco de dados de forma independente de implementação em


SGBD.
A técnica de modelagem conceitual mais difundida é a abordagem entidade-relcionamento(ER).
Esta técnica faz uso de um diagrama chamado diagrama entidade-relcionamento(DER)
(1,1) (1,m)
Disciplina
Professor POSSUI
Professor

Modelo Lógico

Representa a estrutura de dados de um BD conforme vista pelo usuário do SGBD. O Modelo


lógico é dependente do tipo particular de SGBD que está sendo usado.
Exemplo de modelo lógico:

Disciplina(CodDisc, Descrição, CargaHoraria)


Professor(CPF, Nome, Tel, Ender, FormAcad)

Modelo Físico

Leva em consideração detalhes de armazenamento interno de informações. As linguagens utilizadas


neste modelo variam de SGBD para SGBD.

7
Projeto de Banco de Dados

O projeto de um novo banco de dados dá-se em três fases:

a. Modelagem Conceitual
Nesta primeira fase, é construído um modelo conceitual, na forma de um diagrama
entidade-relacionamento. Este modelo independe da implementação.
b. Projeto Lógico
Objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lógico.
O modelo lógico define como o banco de dados será implementado em um SGBD
específico.
c. Projeto Físico
Nesta etapa, o modelo de BD é enriquecido com detalhes que influenciam no
desempenho do BD, mas não interferem em sua funcionalidade. Alterações neste modelo
não afetam as aplicações que usam o BD.

Modelo Relacional

Definição: representa e/ou descreve a realidade do ambiente do problema, constituindo-se em uma


visão global dos principais dados e relacionamentos, independente de restrições de implementação.
Quanto mais organizadas estiverem as informações no Banco de Dados, mais fácil será a
“conversa” com o Gerenciador de Banco de Dados.
Para isso, criou-se um modelo chamado Modelo de Entidades e Relacionamentos, do qual fazem
parte três elementos:

a. Entidades
Uma entidade é um objeto de interesse do qual podem ser colecionadas informações. Elas são
representadas por tabelas. Exemplos: tabela de clientes; tabela de pedidos de clientes.
b. Relacionamentos
As entidades podem ser relacionadas entre si pelos relacionamentos. Por exemplo: relacionamento
entre a entidade de clientes e a entidade de pedidos (<<clientes fazem pedidos>>).
c. Atributos
Atributos são as características das entidades. São representadas pelas colunas das tabelas. Por
exemplo: identificador, nome, endereço e telefone do cliente.

clientes
identificador nome endereço telefone ……...

1001 João ……. 5554444 ~~~


1002 Alberto ……. 4687999 ~~~
1003 Franciso …….. NULL ~~~
1004 Maria …….. 5678900
1005 Sônia ……... 0988855 ~~~
1006 Roberto ………. NULL ~~~

8
Uma das colunas de uma tabela é uma primary key (chave primária). Isso indica para o gerenciador
de banco de dados que uma coluna (ou um conjunto de colunas) deve ter um valor único para
identificar a linha inteira. O gerenciador faz então o controle para que não entrem duas linhas
com o mesmo valor na coluna que é primary key.
A figura a seguir demonstra o relacionamento entre tabelas utilizando-se chaves primárias (PK) e
estrangeiras (Foreign Key).
clientes
identificador nome ………. …… ….. ……. …………..
PK NN NN NN NN
1001 João S….. …. 98022 NULL 05 Jun 1992
1002 Alberto. S….. …. 98022 206-555-1212 07 Ago 1992
1008 Wilson ……. …. 98026 NULL 03 Mar 1993

Pedidos
numero cliente produto
PK PK,FK, NN NN
1 1002 567
1 1001 566
2 1001 122

Pedidos se relacionam aos Clientes, através do campo cliente da tabela de pedidos. Esse campo é
também denominado chave estrangeira (foreign key). Isso garante o que é denominado integridade
referencial: ou seja, não pode haver inconsistência nas linhas que estão associadas nas tabelas. Por
exemplo: o gerenciador não permite que clientes que tenham pedidos sejam removidos da tabela
clientes, nem que pedidos sejam realizados por clientes inexistentes.
Cada linha de nossa relação será chamada de TUPLA e cada coluna de nossa relação será chamada
de ATRIBUTO. O conjunto de valores passíveis de serem assumidos por um atributo será intitulado
de DOMÍNIO.
O domínio consiste de um grupo de valores atômicos a partir dos quais um ou mais atributos
retiram seus valores reais. Assim sendo Rio de Janeiro, Paraná e Pará são estados válidos para o
Brasil, enquanto que Corrientes não é um estado válido (pertence a Argentina e não ao Brasil).
O esquema de uma relação, nada mais é que os campos (colunas) existentes em uma tabela. Já a
instância da relação consiste no conjunto de valores que cada atributo assume em um determinado
instante. Portanto, os dados armazenados no Banco de Dados, são formados pelas instâncias das
relações.
As relações não podem ser duplicadas (não podem existir dois estados do Pará, no conjunto de
estados brasileiros, por exemplo), a ordem de entrada de dados no Banco de Dados não deverá ter
qualquer importância para as relações, no que concerne ao seu tratamento.
Chamaremos de Chave Primária ao Atributo que definir um registro, dentre uma coleção de
registros. Chave Secundária serão chaves que possibilitarão pesquisas ou ordenações alternativas,
ou seja, diferentes da ordem criada a partir da chave primária ou da ordenação natural (física) da
tabela. Chamaremos de Chave Composta, aquela chave que contém mais de um atributo.
Chamaremos de Chave Estrangeira, aquela chave que permitir a ligação lógica entre uma tabela
(onde ela se encontra) com outra na qual ele é chave primária.

9
Exemplo:

Estado Cidade
* CodEstado (PK) * CodCidade (PK)
NomeEstado NomeCidade
CodEstado (FK)

CodCidade e CodEstado, são chaves primárias respectivamente das tabelas Cidade e Estado,
enquanto CodEstado é chave estrangeira na tabela cidade. É precisamente por este campo (atributo,
ou coluna), que será estabelecida a relação entre as tabelas Cidade-->Estado.

Obs.:
 Integridade da entidade: Não se permite a nenhum atributo que participe da chave
primária de uma relação que aceite o valor nulo;
 Integridade referencial: Não se permite alterar o valor da chave primária de uma relação,
sem alterar o valor da chave externa de uma tabela relacionada. Como também não se pode
inserir um registro em uma tabela relacionada, a menos que o registro se ligue ou se
conecte a um registro da tabela primária.

10
AULA 4
Abordagem Entidade-Relacionamento
Foi criada por Peter Chen e é a mais usada. Os conceitos centrais da abordagem ER são: entidades,
relacionamentos, atributos, generalização/especialização e entidade associativa.

Entidade

Definição: conjuntos de objetos (coisas) da realidade modelada sobre os quais deseja-se manter
informações no BD.
Uma entidade pode representar tantos objetos concretos (uma pessoa, um automóvel, ...) como
objetos abstratos (um departamento, um endereço, ...).

No DER as entidades são representadas por retângulos:

Professor Aluno

Geralmente os nomes das entidades são formados por substantivos no singular.

Relacionamento

Definição: conjunto de associações entre ocorrências de entidades.


No DER os relacionamentos são representados por losangos:

Geralmente os nomes dos relacionamentos são formados por verbos ou pela composição dos nomes
das entidades que fazem parte do relacionamento em questão.

Exemplos de relacionamentos:

AUTOR ESCREVE LIVRO

n 1 PESSOA

ALUNO PROFESSOR
ADP

m
CASADA
DISCIPLINA

11
TIPOS DE RELACIONAMENTOS

Unário: é um relacionamento que envolve uma única entidade.

Binário: é um relacionamento que envolve duas entidades.

Quaternário: é um relacionamento que envolve quatro entidades.

12
CARDINALIDADE DE RELACIONAMENTOS

Há duas cardinalidades a considerar: a cardinalidade máxima e a cardinalidade mínima. A


cardinalidade indica quantas ocorrências de entidade (no mínimo ou no máximo) podem estar
associadas através de um relacionamento.
Para o projeto de banco de dados, apenas duas cardinalidades máximas são relevantes: a
cardinalidade máxima 1 e a cardinalidade máxima muitos, referida pela letra m. A
cardinalidade máxima é usada para classificar relacionamentos binários. Relacionamentos binários
são aqueles cujas ocorrências envolvem duas entidades.
 Relacionamento um para um (1:1): O relacionamento um para um ocorre quando, para
cada uma ocorrência na entidade A, temos somente uma ocorrência na entidade B;
 Relacionamento um para muitos (1:m): Este é o relacionamento em que temos n
ocorrências de uma entidade associada a uma ocorrência de outra entidade;
 Relacionamento muitos para muitos (n:m): Neste tipo de relacionamento, não existe
restrição na formação das associações, ou seja, uma ocorrência da A pode estar associada a
n ocorrências de uma entidade B e vice versa.

1 1
COORDEADOR COORDE CURSO
NA
m
1
DISCIPLINA POSSUI PROFESSOR

n m
ALUNO DISCIPLINA
ALUDIS

A leitura é feita do lado oposto da entidade, por exemplo:

Coordenador coordena 1 Curso e o Curso é coordenado por 1 Coordenador.


Disciplina possui m (vários) Professores e o Professor possui apenas 1 Disciplina.
O Aluno aludis (assisti) m (várias) Disciplinas e a Disciplina é aludi (assistida) por n (vários)
Alunos.

13
Relacionamento Um-para-Um (1:1)

Neste grau de relacionamento, cada elemento de uma entidade relaciona-se com um e somente um
elemento de outra identidade.
Sentido de leitura

1 1
homem mulher
casado

homem
1 1 mulher
casado

Resultado: (1:1)

Relacionamento de Um-para-Muitos (1:N)

Um elemento da entidade 1 relaciona-se com muitos elementos da unidade 2, mas cada elemento da
entidade 2 somente pode estar relacionado a um elemento da entidade 1. Ou seja, o grau de
cardinalidade determinante sempre é o maior grau obtido da interpretação dos fatos.
Sentido de leitura

time
1 N jogadores
possui

time
1 1 jogadores
possui

Relacionamento de Muitos-para-Muitos (N:N)

Identifica-se esta cardinalidade pelo fato de que em ambos os sentidos de leitura encontramos
um grau Um-para-Muitos, o que caracteriza ser então um contexto geral de Muitos-para-Muitos.
sentido de leitura

time
M N jogadores
possui

time
N M jogadores
14
possui
Atributo

Definição: São os dados que compõem a entidade.


Algumas vezes os atributos não são colocados no diagrama para não sobrecarregar, nestes casos
usa-se uma descrição textual.
ALUNO

Matricula Nome

Atributo identificador é o conjunto de um ou mais atributos que servem para determinar uma
ocorrência da entidade em relação as outras ocorrências.
ALUNO

Matricula Nome Telefone

15
AULA 5
Construindo o Diagrama de Entidade-Relacionamento
Iremos aprender nesta aula como construir um Diagrama de Entidade-Relacionamento - DER. Para
construirmos um DER será necessário termos o conhecimento do problema a ser resolvido,
normalmente este problema se trata de um setor ou vários de uma empresa, ou simplesmente um
problema simples de uma quitanda do seu bairro, no qual, gostariam de transforma algo que é feito
tudo no papel ou em fichas para ser implantado em um sistema de banco de dados. Para ser
montado o DER, teremos que ter o conhecimento do problema, no qual é descrito em um mini
mundo. Esse mini mundo narra como o problema a ser tratado funciona, descrevendo todos os
processos no qual ele funciona na empresa.
Vamos criar o DER, tendo como base o mini mundo abaixo descrito:
A empresa XETER gostaria de acabar com todos os cadernos do setor de Recursos Humanos, nos
quais armazenam as informações dos funcionários e dos seus departamentos nos quais os mesmos
estão lotados. As informações guardadas no caderno dos funcionários são as seguintes: matrícula,
nome, sexo, data de nascimento e o departamento no qual está lotado. Os departamentos guardam as
seguintes informações: nome do departamento e sala.
Sabemos que os funcionários só podem estar lotado em um departamento e no departamento
poderemos ter um ou mais funcionários trabalhando nele.
De acordo com as informações obtidas pelo mini mundo acima, veremos a construção do seu DER.

DEPARTAMENTO LOTADO FUNCIONÁRIO


(1,1) (1,n)

Modelo Lógico
Departamento (codDepartamento, nomeDepartamento, sala)
Funcionario (matrícula, nome, sexo, nascimento, codDepartamento)

Modelo Físico
Este será implantado em um SGDB, no nosso caso no MySql.

16
A clínica ETER Saúde gostaria de informatizar o seu setor de agendamento de consultas dos seus
pacientes. Sabe-se que os dados são armazenados em fichas. A ficha dos médicos têm as seguintes
informações: crm, nome e especialidade. A ficha dos pacientes possuem as seguintes informações:
cpf, nome, telefone, endereço e nascimento. Todas os agendamento das consulas são obtidas as
seguintes informações: data da consulta, médico da consulta e nome do paciente. Os pacientes
poderão no mesmo dia se consultar com mais de um médico.
De acordo com o mini mundo acima, crie o DER.

MÉDICO CONSULTA PACIENTE


(1,n) (1,n)

Modelo Lógico
Medico (crm, nome, especialidade)
Paciente (cpf, nome, telefone, endereço, nascimento)
Consulta (dataConsulta, crm, cpf)

Modelo Físico
Este será implantado em um SGDB, no nosso caso no MySql.

17
Exercícios de Fixação

Solução:

18
Solução:

19
Solução:

20
Modelo Lógico

21
Solução:

Modelo Lógico

22
Solução:

Modelo Lógico

23
AULA 6
SGBD MySQL
O MySql é o banco de dados de tecnologia de Código Aberto, em outras palavras, conhecido como
Open Source. Por ser código aberto, as empresas terão o seu código fonte disponível e licenciado,
sendo o seu direito autoral para estudos, modificações e distribuição do software de graça para
todos e para qualquer finalidade. Seu desenvolvedor Oracle Corporation, lançada em 23 de maio de
1995 e sua licença é GPL (General Public License - Licença Pública Geral) e Comercial.
O MySql é o SGBD mais conhecido no mundo, por causa, dele rodar em diferentes sistemas
operacionais, tendo assim, um preferencia em grandes empresas pelo mundo.
O MySql utiliza a linguagem SQL como interface.
Modelo Cliente x Servidor

Solicitação

Resposta

Cliente Servidor

O Cliente faz a Solicitação ao Servidor e o Servidor retorna com a Resposta ao Cliente.

O Cliente digita os comandos SQL para a criação de um Banco de dados e envia esses comandos ao
Servidor MySql que executa os comandos criando o Banco de dados. Ao criar o Banco de dados o
Cliente poderá enviar comandos ao MySql para criar tabelas com ou sem relacionamentos, podendo
inserir, excluir, alterar e consultar essas informações. O servidor MySql irá executar esses
comandos e respondendo as solicitações feitas, apresentando o resultado ao Cliente.

MySQL Browser

É uma ferramenta gráfica para criar, executar e otimizar solicitações SQL em um ambiente gráfico.
Onde o Cliente poderá escrever os comandos SQL para serem executados pelo MySql.

Abra o MySql
No botão iniciar, procure pelo aplicativo MySql Browser. Abra-o.

As seguinte informações deverão ser fornecidas na abertura, conforme a imagem abaixo:

24
Verifique se as opções Server Host e Username estão conforme as informações apresentadas na
imagem acima. Após verificar as informações que deverão ser fornecidas, clicar no botão OK.

Janela do Query Browser

Local onde será digitado os comandos SQL.


Botão Executar. Este botão executa os
comandos SQL (query) digitados.
Local onde é apresentado ao Cliente o
resultado da execução dos comandos SQL
(query).
Todos os resultados da query executada são
mostrados na área de resultado.

25
Inserindo comandos Sql (query)

O intuito da criação desses comandos Sql não é pular etapas em um Projeto de Banco de dados, e
sim, demonstrar ao aluno o SGBD sendo trabalhado na execução dos comandos Sql. O aluno ainda
não sabe o que é Diagrama Entidade-Relacionamento (DER) e com isso, não aprendeu como criá-lo
e implementá-lo no SGBD.
Lembro ainda, que este mesmo SGBD não será mais utilizado em outras aulas, somente está sendo
demonstrado ao aluno o que é um SGBD. Somente no 2º ano é que iremos aprender como utilizar
este SGBD MySql ou outro similar.
Faremos uma pequena demonstração do SGBD MySql a seguir.

ENTIDADE: ALUNO
ATRIBUTOS : Matricula (atributo identificador), Nome, Logradouro, Numero, Bairro, Municipio,
Estado e Data de nascimento.

Dado o DER acima, crie o Banco de dados chamado bd<turma>SeuNome e a tabela Aluno.

Criando o Banco de dados

O primeiro comando a ser executado será o de criação um banco de dados. Iremos criar um banco
de dados chamado bdturmaSeuNome, por exemplo:
- Sua turma é 1111 e o seu nome é José, então o nome será bd1111jose.
Observe que o nome jose está sem acento.

26
Digite o seguinte comando: create database bd1111jose; Clicar no botão Executar.

Digite o seguinte comando: use bd1111jose; Clicar no botão Executar.


O comando use bd1111jose; abre o banco de dados bd1111jose para uso.
Em Schemata será mostrado o nome do banco de dados criado. Posicione o ponteiro do mouse em
Schemata, pressione o botão direito do mouse e escolha Refresh.

Criando a tabela Aluno


Com o banco de dados bd1111jose aberto para uso, poderemos criar a(s) sua(s) tabela(s). No caso,
a tabela Aluno.
Digite o seguinte comando:
create table Aluno(Matricula int, Nome char(45) not null, Logradouro char(50), Numero int,
Bairro char(40), Municipio varchar(30), Estado char(2) e DataDeNascimento date);

Execute o comando Sql clicando no botão Executar.

Verificando a existência da tabela


Digite o seguinte comando: describe Aluno;
Execute o comando Sql clicando no botão Executar.

Inserindo um registro na tabela


Digite o seguinte comando: insert into Aluno values (1,"Isabel da Silva","Rua Dona
Antônia",34,"Cascadura","Rio de Janeiro","RJ",'1990/10/18');
Execute o comando Sql clicando no botão Executar.

Realizando uma consulta simples


Digite o seguinte comando: select * from Aluno;

Execute o comando Sql clicando no botão Executar.

27
AULA 7
GENERALIZAÇÃO / ESPECIALIZAÇÃO
Além de relacionamentos e atributos, propriedades podem ser atribuídas a entidades através do
conceito de generalização/especialização. A partir deste conceito é possível atribuir propriedades
particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica. No DER,
o símbolo para representar generalização/especialização é um triângulo isósceles, conforme o
exemplo abaixo. A generalização/especialização mostrada neste exemplo expressa que a entidade
CLIENTE é dividida em dois subconjuntos, as entidades PESSOA FÍSICA e PESSOA JURÍDICA,
cada uma com propriedades próprias.

Associada ao conceito de generalização/especialização está a idéia de herança de propriedades.


Herdar propriedades significa que cada ocorrência da entidade especializada possui além de suas
próprias propriedades da ocorrência da entidade genérica correspondente. Assim, segundo o DER
acima a entidade PESSOA FÍSICA possui, além dos seus atributos particulares, CPF e sexo,
também todas as propriedades da ocorrência da entidade CLIENTE correspondente, ou seja, os
atributos nome e código, o seu identificador, bem como o relacionamento com a entidade FILIAL.

GENERALIZAÇÃO/ESPECIALIZAÇÃO TOTAL OU PARCIAL

A generalização/especialização pode ser classificada em dois tipos, total ou parcial, de acordo com
a obrigatoriedade ou não de a cada ocorrência da entidade genérica corresponder uma ocorrência da
entidade especializada.
Em uma generalização/especialização, total para cada ocorrência em uma das entidades
especializadas. Esse é o caso do exemplo abaixo no qual a toda ocorrência da entidade CLIENTE
corresponde uma ocorrência em uma das duas especializações. Esse tipo de
generalização/especialização é simbolizado por um “t ”.

28
Em uma generalização/especialização parcial, nem toda ocorrência da entidade genérica possui uma
ocorrência correspondente em uma entidade especializada. Esse é o caso do exemplo abaixo, no
qual nem toda entidade FUNCIONÁRIO possui uma entidade correspondente em uma das
especializações (nem todo o funcionário é motorista ou secretária). Este tipo de
generalização/especialização é simbolizado por um “p” conforme o exemplo. Usualmente, quando
há uma especialização parcial, na entidade genérica (no exemplo, FUNCIONÁRIO) aparece um
atributo que identifica o tipo de ocorrência da entidade genérica (no exemplo, trata-se de tipo de
funcionário).

GENERALIZAÇÃO/ESPECIALIZAÇÃO COMPARTILHADA OU EXCLUSIVA

Além da classificação em total e parcial, uma generalização também pode ser classificada em
compartilhada e exclusiva.
Generalização/especialização exclusiva significa que, em uma hierarquia de
generalização/especialização, uma ocorrência de entidade genérica é especializada no máximo uma
vez, nas folhas da árvore de generalização/especialização mostrados até aqui. Exemplificando, no
exemplo anterior, uma instância (ocorrência) de FUNCIONÁRIO aparece uma vez somente nas
entidades especializadas (MOTORISTA ou SECRETÁRIA), já que um funcionário ou é motorista
ou é secretária, mas não ambas as funções ao mesmo tempo. Este tipo de
generalização/especialização é chamada de “exclusiva” pela execução mútua da aparição de uma
ocorrência de FUNCIONÁRIO nas entidades MOTORISTA ou SECRETÁRIA.
Já a generalização/especialização compartilhada indica que, em uma hierarquia pode aparecer em
várias entidades nas folhas da árvore de generalização/especialização.
No exemplo abaixo, considera-se o conjunto de pessoas vinculadas a uma universidade. Neste
caso, a especialização é compartilhada, já que a mesa pessoa pode aparecer em múltiplas
especializações. Uma pessoa pode ser professor e aluno ou funcionário e aluno ao mesmo tempo.
O fato de tratar-se de uma generalização/especialização compartilhada é indicado, no DER pela
letra “c ” junto ao triângulo representativo da generalização/especialização, sendo a
generalização/especialização exclusiva indicada pela letra “x ” junto ao triângulo.

29
As combinações de tipos de entidades e as letras usadas para identificá-las no DER estão
apresentadas na tabela abaixo.

NÍVEIS DE GENERALIZAÇÃO/ESPECIALIZAÇÃO
Uma entidade pode ser especializada em qualquer número de entidades, inclusive em uma única.
Exemplificando, se no exemplo da generalização FUNCIONÁRIO, apenas os motoristas
possuíssem propriedades particulares, haveria apenas uma entidade especializada, a de motorista.
Além disso, não há um limite no número de níveis hierárquicos da generalização/especialização
pode, por sua vez, ser entidade genérica em uma outra generalização/especialização. É admissível,
inclusive, que uma mesma entidade seja uma especialização de diversas entidades genéricas (a
chamada herança múltipla). O exemplo abaixo apresenta um DER em que aparecem múltiplos
níveis de generalização/especialização, bem como o conceito de herança múltipla.

30
Agregação

Não é possível relacionamento entre relacionamentos, mas, em alguns casos, um relacionamento só


passa a existir quando ocorre um outro relacionamento (figura 1). Para resolver este problema
fazemos uso da agregação.
Só pode haver agregação quando o relacionamento, que dará partida ao fato, for NxN.
Podemos fazer uso também de entidade associativa, que nada mais é do que levar em consideração
o relacionamento que gerou o fato como se fosse uma entidade (é desenhado um retângulo ao redor
do relacionamento – figura 2).

Figura 1 – Agregação

Figura 2 – Entidade Associativa

31
MATERIAL
COMPLEMENTAR

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

Você também pode gostar