Você está na página 1de 12

Modelagem e Desenvolvimento de Banco de Dados

AGENDA 1
O que são Dados?

São uma representação simbólica, bruta e desprovida de significado. Pode ser


número, letra, caractere, som, nome, data, figura, símbolo, temperatura,
pressão, umidade, etc. Podemos dizer que os dados são a principal matéria-
prima dos sistemas de informação. São coletados dos mais diversos tipos de
fontes, como instrumentos, pesquisas, eventos, observações, etc. 

O que é um Banco de Dados?

São um conjunto integrado de elementos de dados relacionados logicamente.


Reúne os registros armazenados previamente em arquivos distintos em uma
fonte comum de registros de dados, fornecendo os dados que são utilizados
em muitas aplicações. 

O que um Sistema Gerenciador de Banco de Dados (SGBD)?

São programas dedicados às operações de busca e à correlação de dados,


possibilitando o acesso rápido a estes e bases de grande volume, sua
combinação gera informações úteis, além, claro, de mecanismos para que
novos dados sejam cadastrados, e também para que dados existentes sejam
modificados ou apagados.

O que é uma Linguagem de consulta estruturada (SQL)?

É uma abreviação de Search and Query Language, é uma linguagem de


consulta utilizada pela maioria dos SGBDs atuais, tais como o Oracle e o
MySQL. 

O que é um Administrador de Banco de Dados (DBA)?

É um profissional responsável por gerenciar, instalar, configurar, atualizar e


monitorar sistemas de banco de dados.
Quais são as características de Banco de Dados e a suas funções?
Persistente: define que as informações do BD ficarão armazenadas por um
longe tempo;
Compartilhamento: define que o BD compartilhado em que os usuários podem
acessar as informações ao mesmo tempo;
Inter-relacionamento: é a relação entre informações de entidades diferentes
dentro da mesma base de dados.
A relação entre entidade e relacionamentos chamamos de relação ER.

Sistemas
Identifiqu
Gerenciado
e se o
res de Identifique seus Descreva as principais características de cada
sistema
Bancos de fornecedores sistema
é gratuito
Dados
ou pago
Relacionais
   Segurança com diversos recurso;
 Necessita de um hardware mais potente;
Oracle Pago  Oracle Corporation
 Oferece uma suíte de desenvolvimento
Database

 Facilidade na atualização dos dados;


  Sistemas integrados de criptografia;
Pago Microsoft
 Muito utilizado em sites de e-commerce.
SQL Server

Gratuito Oracle Corporation  Open Source (código aberto), cujo foco são


MySQL os sistemas online;
 Fácil integração com o PHP;
 Primeira opção para aplicativos baseados
na Web

Gratuito  Open Source;


PostgreSQL  SGDB’s mais avançados, com recursos
PostgreSQL Global
como consultas complexas, chaves
Development Group
estrangeiras.

RESUMO PUC:

 Dados são valores que podem, futuramente, ser


utilizados para extrairmos informações.
 Bancos de Dados são coleções de dados
relacionados de forma a dar sentido e permitir a
extração de informações.
 Sistemas Gerenciadores de Bancos de Dados
devem garantir a integridade, segurança e
coerência dos dados, além de fornecer uma
interface para pesquisa e alteração dos dados
armazenados.
 Bancos de dados surgiram na década de 70 e
tornaram-se um componente fundamental dos
sistemas de informação a partir da década de 80,
com a ascensão dos bancos de dados relacionais.
AGENDA 2
O que é Cardinalidade?
É a propriedade que envolve os relacionamentos, é a especificação de quantas
vezes existe a relação entre as entidades. Exemplos:
(1,1) (1,1)
HOMEM CASAR MULHER
R

(1,N) (1,N)
EMPREGADO POSSUI DEPENDENTES

1-Descreva o conceito de banco de dados.


Conjunto de arquivos que se relacionam com o intuito de criar
um sentido aos dados neles contidos, e facilitar pesquisas.
2-Descreva o conceito de sistema de gerência de banco de
dados.
SGBDs são aplicativos responsáveis por gerenciar os bancos
de dados. Têm como objetivo retirar a complexidade da
gerência desses dados das aplicações.
3-Descreva o conceito de modelo de dados.
Ferramentas que permitem o planejamento dos bancos de
dados, identificam como esses dados serão organizados e
como eles se relacionam.
4-Descreva o conceito de modelo conceitual.
Modelo conceitual é uma descrição mais abstrata de um banco
de dados, de forma independente da implementação em um
SGBD em específico. A técnica mais utilizada para essa
modelagem é a abordagem entidade-relacionamento.
5-Descreva o conceito de modelo lógico.
Modelo lógico representa a estrutura de um banco de dados
vista pelo usuário do SGBD, de forma que é dependente do
SGBD que se vai utilizar. Um exemplo é o modelo relacional,
para SGBDs relacionais.
6-Um profissional de informática e um usuário definem
formalmente que informações deverão ser armazenadas em
um banco de dados a ser construído. O resultado deste
processo é um modelo conceitual, um modelo lógico ou um
modelo físico? Justifique sua resposta.
É um modelo conceitual. Estamos tratando das primeiras
interações profissional de TI - usuário. Então devemos usar
uma linguagem conceitual, abstraindo partes técnicas do
banco de dados.
7-Um programador recebe um documento especificando
precisamente a estrutura de implementação de um banco de
dados, contendo atributos e tipos. O programador deverá
construir um software para acessar o banco de dados através
de um SGBD conforme esta estrutura. Esse documento é um
modelo conceitual, um modelo lógico ou um modelo físico?
Justifique sua resposta.
Modelo físico. O modelo físico contém todas as informações
que "espelham" a implementação do banco de dados, de forma
que o programador poderá, facilmente, desenvolver seu
aplicativo.

RESUMO PUC:

 Modelos de dados são as descrições das


informações que estão armazenadas em um
banco de dados;
 Ao projetar um banco de dados, costumamos
considerar o modelo conceitual (ou esquema
conceitual) e o modelo lógico (ou esquema
lógico).
 Modelo conceitual é uma descrição mais abstrata
de um banco de dados, de forma independente da
implementação em um SGBD em específico. A
técnica mais utilizada para essa modelagem é a
abordagem entidade-relacionamento.
 Modelo lógico representa a estrutura de um banco
de dados vista pelo usuário do SGBD, de forma
que é dependente do SGBD que se vai utilizar. Um
exemplo é o modelo relacional, para SGBDs
relacionais.
 Modelo físico contém mais detalhes relativos ao
desempenho do banco de dados, como tipos de
atributos, por exemplo.
AGENDA 3

1-Dê ao menos cinco exemplos de cada um dos conceitos


básicos da abordagem ER apresentados nesta Agenda:
entidade, relacionamento, atributo,
generalização/especificação.
2-Explique a diferença entre uma entidade e uma ocorrência de
entidade. Exemplifique.
3-Considere o DER a seguir. Para que a restrição de
cardinalidade mínima seja observada, que ocorrências de
entidade devem existir no banco de dados, quando for incluída
uma ocorrência de EMPREGADO? E quando for incluída uma
ocorrência de MESA?
4-Considere o cenário a seguir, construa o Diagrama Entidade-
Relacionamento (DER) para este cenário:
Uma pequena locadora de vídeo possui ao redor de 2.000
DVDs, cujo empréstimo deve ser controlado.
Cada DVD possui um número. Para cada filme, é necessário
saber seu título e sua categoria (comédia, drama, aventura,...).
Cada filme recebe um identificador próprio. Para cada DVD é
controlado que filme ele contém. Para cada filme há pelo
menos um DVD, e cada DVD contém somente um filme. Alguns
poucos filmes necessitam de dois DVDs.
Os clientes podem desejar encontrar os filmes estrelados pelo
seu ator predileto. Por isso, é necessário manter a informação
dos atores que estrelam em cada filme. Nem todo filme é
estrelado por atores. Para cada ator os clientes podem desejar
saber o nome real, bem como a data de nascimento.
A locadora possui muitos clientes cadastrados. Somente
clientes cadastrados podem alugar DVDs. Para cada cliente é
necessário saber seu nome, seu sobrenome, seu telefone e seu
endereço. Além disso, cada cliente recebe um número de
associado.
Finalmente, desejamos saber que DVDs cada cliente alugou, no
momento. Um cliente pode ter vários DVDs em um instante no
tempo. Não são mantidos registros históricos de aluguéis.
Considere os seguintes passos, para construir seu DER:

a. Identifique as Entidades (desenhe-as)
b. Identifique os Relacionamentos (represente-os no
seu diagrama)
c. Identifique os Atributos e Identificadores (não se
esqueça de representá-los).

DICA: utilize o brModelo(é necessário ter o Java instalado  para


executar ele) para fazer o DER, mas caso tenha alguma
dificuldade com ele, podes usar alguma ferramenta on-line
como draw.io, lucidchart ou ainda o Visual-paradigm. No caso
de usar alguma ferramenta online, será necessário tirar um
print ou exportar o diagrama para imagem para que possa
enviar aqui.

AGENDA 4

Baixe aqui o arquivo com as tabelas. Analise as informações


do arquivo. Suponha que cada uma das operações de
atualização descritas no questionário seja aplicada diretamente
ao banco de dados mostrado na tabela. Para cada item,
informe se há violação de integridade, se houver informe qual o
tipo e porque ela ocorre.

Ex:   Insira < ‘ProdutoA’,4, ‘Salvador’,7> em Projeto

Resposta:  Violação de integridade referencial na chave


estrangeira DNUM - 7 não existe

Ex:   Modifique o atributo nome da tupla de Empregado com


ssn='987987987’ para ‘Joaquim’

Resposta:  Sem violação de integridade


Clique no botão Iniciar tentativa e veja as operações de
atualização.

1- Insira < ‘Daniela’, ‘B’, ‘Claro’, ‘943775543’, ‘1952-06-21’,


‘Rua M,' , 'F', 58000, ‘888665555’,1> em empregado. 
Sem violação de integridade.
2- Insira < ‘Produção’,4, ‘943775543’, ‘1998-10-01’>
em Departamento 
Sem violação de integridade.

3- Insira < ‘677678989’, null, ’40,0’ > em Trabalha_em


Violação de integridade referencial, null não pertence ao
PNO
4- Insira < ‘453453453’, ‘John’, 'M', ‘1970-12-12’, ‘Conjuge’>
em Dependente
Sem violação de integridade
5- Remova as tuplas de Trabalha_em com ESSN =
‘333445555’ 
Sem violação de integridade
6- Remova a tupla de Empregado com SSN = ‘987654321’ 
7- Remova a tupla de Projeto com o PjNome = ‘ProdutoX’ 
8- Modifique o gerssn e gerdatainicio da tupla
de Departamento com o dnumero=5 para ‘123456789’ e
‘1999-01-10’, respectivamente. 
9- Modifique o atributo superssn da tupla de Empregado
com ssn='999887777’ para ‘943775543’ 
10- Modifique o atributo horas da tupla de Trabalha_em com
essn= ‘999887777’ e pno=10 para ‘5,0’  
 Geralmente iniciamos o projeto de um banco de
dados pelo Modelo Conceitual. Para implementá-
lo, futuramente, necessitamos convertê-lo para o
Modelo Relacional

 De maneira geral, Entidades são convertidas


diretamente para Tabelas (relações).
Relacionamentos podem ser convertidos
em Tabelas ou Atributos de Tabelas, a conversão
dependerá do tipo de relacionamento.

 Outras características,
como Generalização/Especialização também
podem (e devem) ser convertidas.

 Devemos também, garantir que o Modelo


Relacional obtido tenha algumas características,
evitando redundância de dados e erros no futuro.
Para isso existe o processo de Normalização.

 Para normalizar um Modelo Relacional, devemos


garantir, ao menos, que ele atenda às 3 Formas
Normais.

 Na Primeira Forma Normal (1FN), todos os


atributos de uma tabela devem ser atômicos, ou
seja, a tabela não deve conter grupos repetidos e
nem atributos com mais de um valor.

 Na Segunda Forma Normal (2FN), além de atender


à 1FN, todos os atributos não chaves da tabela
devem depender unicamente da chave primária
(não podendo depender apenas de parte dela).

 Na Terceira Forma Normal (3FN), além de atender


à 1FN e 2FN, os atributos não chave de uma
tabela devem ser mutuamente independentes e
dependentes unicamente e exclusivamente da
chave primária (um atributo B é funcionalmente
dependente de A se, e somente se, para cada valor
de A só existe um valor de B).

Você também pode gostar