Você está na página 1de 35

Modelagem

em Banco de
Dados
Prof. Camilo de Lelis Tosta Paula
2º período do curso de
Análise e Desenvolvimento de Sistemas
• Um sistema de gerenciamento de banco de dados (SGBD) é

2. Sistemas de um software que possui recursos capazes de manipular as


informações do banco de dados e interagir com o usuário.

BD: conceitos e • Exemplos de SGBDs são: Oracle, SQL Server,


DB2, PostgreSQL, MySQL, o próprio Access ou Paradox,
arquitetura entre outros.

2
Componentes de
um SGBD

• SGBD: é o sistema de gerenciamentos do


banco de dados por meio do qual vamos
manipular todo o banco de dados.
• Hardware e Software: o hardware é parte
física do computador, na qual vai funcionar
o banco de dados; os softwares são os
programas que estão instalados
no hardware. Portanto, o SGBD é
um software que está instalado
no hardware.
• Usuário: é quem gerencia o banco de
dados por meio do SGBD.

3
Conceito

• Devemos conceituar um
sistema de banco de dados
como o conjunto de quatro
componentes básicos:
• dados,
• hardware,
• software e
• usuários.
• Date conceituou que “sistema
de bancos de dados pode ser
considerado como uma sala de
arquivos eletrônica”.
Componentes de um sistema de banco de dados
4
Objetivos

• Sistema de banco de dados irão


isolar o usuário dos detalhes
internos do banco de dados
(promover a abstração de dados)
e promover a independência dos
dados em relação às aplicações,
ou seja, tornar independente da
aplicação, a estratégia de acesso
e a forma de armazenamento.

5
Abstração de
Dados

• É o processo de identificar as qualidades ou


propriedades importantes do problema que
está sendo modelado.

• Através de um modelo abstrato, pode-se


concentrar nas características relevantes e
ignorar as irrelevantes.

• Abstração é fruto do raciocínio.

• Uma linguagem de programação é uma


abstração do funcionamento do computador

• Importante conceito dentro da POO.

• Exemplos: Objeto representando uma pessoa;


tipos de dados básicos de uma linguagem –
int; double; char;

6
Abstração de Dados

• O sistema de banco de dados


deve garantir uma visão
totalmente abstrata do banco
de dados para o usuário, ou
seja, para o usuário do banco de
dados pouco importa qual
unidade de armazenamento
está sendo usada para guardar
seus dados, contanto que os
mesmos estejam disponíveis no
momento necessário.

7
Níveis
os sistemas de bancos de dados podem ser formados
por uma abstração composta por três níveis:

• Nível de visão do usuário: são as partes do banco


de dados que o usuário tem acesso de acordo com
a necessidade individual de cada usuário ou grupo
de usuários.
• Nível conceitual: define quais os dados que estão
armazenados e qual o relacionamento entre eles.
• Nível físico: é o nível mais baixo de abstração, em
que define efetivamente de que maneira os dados
estão armazenados.

8
Estrutura ou nível

• Podemos dividir também em 2 tipos:


• Alto Nível - podemos chamar de modelo
de dados conceitual ou modelo Entidade-
Relacionamento, o seu principal conceito
é uma projeção dos dados que deixa o
mais próximo possível da visão que o
usuário tem dos dados.
• Baixo Nível - conhecido como modelo de
dados físico, é o que fornece uma visão
mas detalhada do modo como os dados
estão armazenados no computador.

9
O que é um esquema
de banco de dados?

• representa a configuração lógica da totalidade ou de parte de


uma base de dados relacional. Ele pode existir tanto como uma
representação visual quanto como um conjunto de fórmulas
conhecidas como restrições de integridade que regem um banco
de dados. Estas fórmulas são expressadas em uma linguagem de
definição de dados, como SQL. Como parte de um dicionário de
dados, um esquema de banco de dados indica como as entidades
que compõem o banco de dados se relacionam entre si, incluindo
tabelas, exibições, procedimentos armazenados e muito mais.

10
Esquemas

• Quando é usado o termo descrição


do banco de dados, entendemos
como a chamada de “esquema de
um banco de dados” que é
especificada durante um projeto de
banco de dados.
• É uma representação visual de um
banco de dados, um conjunto de
regras que governa um banco de
dados ou todo o conjunto de
objetos pertencentes a um
determinado usuário.

11
Projeto de banco
de dados

• Todo bom sistema de banco de


dados deve apresentar um
projeto, que visa a organização
das informações e utilização de
técnicas para que o futuro
sistema obtenha boa
performance e também facilite
infinitamente as manutenções
que venham a acontecer.

12
O projeto de Banco de
Dados se dá em duas fases:

• Modelagem conceitual;
• Projeto lógico.
• Estas duas etapas se referem a
um sistema de banco de dados ainda
não implementado, ou seja, que ainda
não exista, um novo projeto.

13
• Para os casos em que o banco de dados já exista, mas
é um sistema legado, por exemplo, ou um sistema muito
Caso já exista antigo sem documentação, o processo de projeto de
banco de dados se dará através da utilização de uma
técnica chamada de Engenharia Reversa

14
Modelo Conceitual

• É a descrição do BD de maneira
independente ao SGBD, ou seja,
define quais os dados que
aparecerão no BD, mas sem se
importar com a implementação que
se dará ao BD. Desta forma, há uma
abstração em nível de SGBD.
• Uma das técnicas mais utilizadas
dentre os profissionais da área é a
abordagem entidade-
relacionamento (ER), onde o modelo
é representado graficamente
através do diagrama entidade-
relacionamento (DER).

15
• O modelo ao lado, entre outras coisas, nos traz
informações sobre Alunos e Turmas. Para cada Aluno,
Modelo será armazenado seu número de matrícula, seu nome e

conceitual endereço, enquanto para cada turma, teremos a


informação de seu código, a sala utilizada e o período.

16
Modelo lógico

• Descreve o BD no nível do SGBD, ou


seja, depende do tipo particular de
SGBD que será usado. Não podemos
confundir com o Software que será
usado. O tipo de SGBD que o modelo
lógico trata é se o mesmo é relacional,
orientado a objetos, hierárquico, etc.
• Abordaremos o SGBD relacional. Nele,
os dados são organizados em tabelas

17
Modelo lógico

• O modelo lógico do BD relacional deve • Para o nosso exemplo,


definir quais as tabelas e o nome das
colunas que compõem estas tabelas.
poderíamos definir nosso
modelo lógico conforme o
• É importante salientar que os detalhes
internos de armazenamento, por exemplo, seguinte:
não são descritos no modelo lógico, pois
• Aluno(mat_aluno, nome,
estas informações fazem parte do modelo
físico, que nada mais é que a tradução do endereco)
modelo lógico para a linguagem do software
escolhido para implementar o sistema.
• Turma (cod_turma, sala,
periodo)

18
Instâncias

• são formadas quando um


dados são guardados no banco
por um determinado tempo
onde que se forma essas
instâncias de banco de dados,
sendo alterada toda vez que
uma alteração na base de
dados é realizada.
• O SGBD garante que todas
instâncias satisfaça ao
esquema do banco de dados,
respeitando sua estrutura e
suas restrições.

19
Na arquitetura de um SGBD têm como
principal objetivo, separar aplicações do
usuário dos dados físico que são
divididos nos esquemas abaixo:

• Nível interno ou esquema


interno;
• Nível externo ou esquema
de visão

20
Nível interno ou esquema interno

• usa um modelo de dados que


mostra a estrutura do banco de
dados mas não oferece
detalhes dos dados guardados
no banco de dados

21
Nível externo ou
esquema de visão

• descreve as visões do banco


de dados para um grupo de
usuários que mostra quais
usuários terão acesso à esse
banco.

22
Independência de
dados

• A "independência de dados"
pode ser definida como a
capacidade de se alterar um
esquema em um nível em um
banco de dados sem ter que
alterar um nível superior

23
Tipos de independência
de dados

• Independência de dados lógica:


• É a capacidade de alterar o
esquema conceitual sem ter que
alterar o esquema externo ou as
aplicações do usuário;
• Independência de dados física:
• É a capacidade de alterar o
esquema interno sem ter que
alterar o esquema conceitual, o
esquema externo ou as aplicações
do usuário.

24
Linguagens para Manipulação de Dados

• Um esquema de banco de
dados é especificado por um
conjunto de definições
expressas por uma
linguagem especial
chamada linguagem de
definição de dados (Data
Definition Language, DDL).

25
Linguagens para
Manipulação de Dados

• Um diretório de dados é um
arquivo que contém
metadados, ou seja, "dados
sobre dados".
• Este arquivo é consultado
antes que os dados sejam
lidos ou modificados no
sistema de banco de dados.

26
Linguagem de
armazenamento de Dados e
definição de dados.

• A estrutura de armazenagem e os
métodos de acesso usados em um
sistema de banco de dados são
especificados por um conjunto de
definições em um tipo especial de DDL
chamado linguagem de armazenagem e
definição de dados.
• O resultado da compilação destas
definições é um conjunto de instruções
para especificar a implementação de
detalhes do esquema de banco de dados
que estão normalmente escondidos dos
usuários.

27
Linguagem DDL

• comandos que criam, alteram


ou removem objetos
• CREATE,
• ALTER,
• DROP

28
Linguagem DCL

• comandos que ajudam na


segurança do banco de dados:
• GRANT, REVOKE.

29
Linguagem DML

• comandos responsáveis pela


manipulação dos dados;
• Select
• Insert
• Update
• delete

30
Classificação dos
SGBDs

• Usuários - monousuários, são usados


em estações de trabalho,
minicomputadores e máquinas de
grande porte.
• Localização - possuem 2 estados
localizado e distribuído. Quando é
localizado todos os dados encontram-
se em um único disco, se for distribuído
os dados estarão em várias máquinas.
• Ambiente - possui 2 tipos, os
homogêneo que é o ambiente formado
por um único SGBD e o heterogêneo
que é o ambiente composto por
diferentes SGBDs. Um exemplo é ter
um sistema rodando 2 tipos de banco
de dados.

31
Administrador de Banco de Dados
• Papel do DBA
• O Administrador de Banco de
Dados (DBA) é o profissional
responsável pela instalação,
administração e suporte dos
SGBDs, sempre assegurando
segurança, disponibilidade e
eficiência à base de dados.

32
Tarefas de um DBA
• Projeto e criação do
banco de dados;
• Ajuste e monitoramento
de desempenho;
• Backup e Recuperação;
• Segurança do banco de
dados;
• Integridade de dados;
• Suporte;
• Migração e atualização
do SGBD;

33
OBS
• Mesmo não sendo
diretamente um dos deveres
do DBA, a infraestrutura e as
modelagens lógica e física do
banco de dados, às vezes,
acabam fazendo parte do
trabalho. Estas funções são
tradicionalmente de
responsabilidade do
administrador de sistema (AS)
e administrador de dados
(AD) ou projetista.
34
35

Você também pode gostar