Você está na página 1de 48

Disciplina: Administração de

Banco de Dados
Curso: Tecnologia de Informação

Prof. Michel Bernardo


Introdução

▪ O termo banco de dados (do original database) é tão utilizado que precisamos
começar definindo o que é um banco de dados.

▪ Um banco de dados é uma coleção de dados relacionados.

▪ Ele tem as seguintes propriedades implícitas:


1. representa algum aspecto do mundo real, às vezes chamado de minimundo
ou de universo de discurso;
2. é uma coleção logicamente coerente de dados com algum significado
inerente; e
3. É projetado, montado e preenchido com dados para uma finalidade
específica.

▪ Um banco de dados pode ter qualquer tamanho e complexidade.

▪ Um banco de dados pode ser gerado e mantido manualmente, ou pode ser


computadorizado.
Introdução
Diagrama simplificado de um ambiente de sistema de banco de dados:

▪ Um sistema de gerenciamento de banco de


dados (SGBD) é um sistema
computadorizado que permite que os
usuários criem e mantenham um banco de
dados.

▪ O SGBD é um sistema de software de uso


geral que facilita o processo de definição,
construção, manipulação e
compartilhamento de bancos de dados
entre diversos usuários e aplicações.
Exemplo 1
Banco de dados que armazena informações de aluno e disciplina:
Exemplo 1
Banco de dados que armazena informações de aluno e disciplina:
Características da abordagem de banco de dados

1. Natureza de autodescrição de um sistema de banco de dados.


Sistema contém não apenas o próprio banco de dados, mas também uma
definição ou descrição completa de sua estrutura e suas restrições e está
armazenada no catálogo do SGBD

2. Isolamento entre programas e dados, e abstração de dados.


A estrutura dos arquivos de dados é armazenada no catálogo do SGBD
separadamente dos programas de acesso. Os programas de aplicação do usuário
podem operar sobre os dados invocando as operações por meio de seus nomes
e argumentos, independentemente de como as operações são implementadas.

3. Suporte de múltiplas visões dos dados.


Um banco de dados normalmente tem muitos usuários, cada um podendo exigir
uma perspectiva ou visão diferente.

▪ 4. Compartilhamento de dados e processamento de transação multiusuário.


Um SGBD multiusuário precisa permitir que múltiplos usuários acessem o
banco de dados ao mesmo tempo.
Pessoas envolvidas com banco de dados
Diretamente ou indiretamente

▪ Em grandes organizações, muitas pessoas estão envolvidas no projeto, uso e


manutenção de um grande banco de dados, com centenas ou milhares de
usuários:

1. Administradores de banco de dados

2. Projetistas de banco de dados

3. Usuários finais

4. Analistas de sistemas e programadores de aplicações (engenheiros de


software)

▪ Além destes, outros estão associados ao projeto, desenvolvimento e operação


do software do SGBD e do ambiente de sistema, são os trabalhadores dos
bastidores.
Vantagens de utilizar um sistema SGBD

▪ Controlar a redundância

▪ Restringir o acesso não autorizado

▪ Oferecer armazenamento persistente para objetos do programa

▪ Oferecer estruturas de armazenamento e técnicas de pesquisa para o


processamento eficiente de consulta

▪ Oferecer backup e recuperação

▪ Oferecer múltiplas interfaces do usuário

▪ Representar relacionamentos complexos entre os dados

▪ Impor restrições de integridade

▪ Permitir dedução e ações usando regras e gatilhos


Situações em que não se recomenda banco de dados

▪ Existem algumas situações em que um SGBD pode envolver custos adicionais


com Hardware, Software e Treinamentos desnecessários, que não
aconteceriam no processamento de arquivos tradicional.

• Aplicações de banco de dados simples e bem definidas, para as quais não se


esperam muitas mudanças.
• Aplicações sem acesso de múltiplos usuários aos dados.
• Requisito rigorosos, de tempo real, que podem não ser atendidos em
decorrência da sobrecarga de operações executadas pelo SGBD.
• Sistemas embarcados com capacidade de armazenamento limitada, nos
quais um SGBD de uso geral não seria apropriado.
Modelos de Dados, esquemas e instâncias

▪ A abstração de dados geralmente se refere à supressão de detalhes de


organização e armazenamento, destacando os recursos essenciais para melhor
conhecimento desses dados.

▪ Um modelo de dados oferece os meios necessários para alcançar essa


abstração.

▪ Modelos de dados de alto nível ou conceituais oferecem conceitos próximos


ao modo como muitos usuários percebem os dados.

▪ Os modelos de dados de baixo nível ou físicos oferecem conceitos que


descrevem os detalhes de como os dados são armazenados no computador,
em geral em discos magnéticos.

▪ Entre esses dois extremos está uma classe de modelos de dados


representativos (ou de implementação), que são normalmente utilizados nos
SGBDs comerciais.
Esquema de Dados

▪ Em um modelo de dados, é importante distinguir entre a descrição do banco


de dados e o próprio banco de dados.

▪ A descrição de um banco de dados é chamada de esquema do banco de


dados, que é especificado durante o projeto e não se espera que mude com
frequência.

▪ A representação de um esquema é chamada de diagrama de esquema.

▪ Chamamos cada objeto no esquema — por exemplo, ALUNO ou DISCIPLINA —


de construtor do esquema.

▪ Um diagrama de esquema representa apenas alguns aspectos de um


esquema, como os nomes de tipos de registro e itens de dados, e alguns tipos
de restrições.
Esquema de Dados
Exemplo 1
Arquitetura de 3 Esquemas

▪ Uma arquitetura para sistemas de banco de dados, chamada arquitetura de


três esquemas, foi proposta para ajudar a alcançar e a visualizar essas
características.
Arquiteturas centralizadas e
cliente/servidor para SGBDs
Arquitetura cliente/servidor lógica em duas camadas

Em um paradigma, a comunicação na camada de aplicação se dá entre dois


aplicativos em execução denominados processos: um cliente e um servidor.
Um cliente é um programa em execução que inicia a comunicação enviando
um pedido (ou solicitação); um servidor é outro programa que aguarda
pedidos de clientes.
Arquiteturas centralizadas e
cliente/servidor para SGBDs
Arquitetura cliente/servidor física em duas camadas
Arquiteturas centralizadas e
cliente/servidor para SGBDs
Arquitetura cliente/servidor lógica de três camadas, com algumas
nomenclaturas comumente utilizadas
Arquitetura Cliente/Servidor

Em um paradigma, a comunicação na camada de aplicação se dá


entre dois aplicativos em execução denominados processos: um
cliente e um servidor. Um cliente é um programa em execução que
inicia a comunicação enviando um pedido (ou solicitação); um
servidor é outro programa que aguarda pedidos de clientes.
Arquitetura Cliente/Servidor
Fotos do Google

Dentro da sala de rede do campus, roteadores e switches permitem que nossos


centros de dados se comuniquem. Aqui, os cabos de fibra óptica (bandejas
amarelas próximas ao teto) ligam nossas unidades funcionando em velocidades
que podem ser 200 mil vezes mais rápidas que uma conexão de Internet
residencial comum.
https://www.tecmundo.com.br/google/104430-conheca-estrutura-monstruosa-utilizada-
google-servidores.htm ; https://www.google.com/about/datacenters/gallery/#/all 18
Arquitetura Cliente/Servidor
Fotos do Google

Nosso data center em Council Bluffs (EUA) oferece 10.684 metros


quadrados de espaço. Aproveitamos ao máximo cada centímetro para
que você possa usar serviços como o YouTube e a Pesquisa da maneira
mais eficiente possível.
19
Classificação dos sistemas
gerenciadores de banco de dados

▪ Vários critérios podem ser utilizados para classificar os SGBDs.

▪ O primeiro é o modelo de dados no qual o SGBD é baseado.

▪ O principal modelo de dados usado atualmente em muitos SGBDs comerciais


é o modelo de dados relacional, e os sistemas baseados nele são conhecidos
como sistemas SQL.

▪ O modelo de dados de objeto foi implementado em alguns sistemas


comerciais, mas não tem seu uso generalizado.

▪ Recentemente, os chamados sistemas big data, também conhecidos como


sistemas de armazenamento de chave-valor e sistemas NOSQL, utilizam
diversos modelos de dados.
Introdução sobre bancos de dados NoSQL

• O termo “NoSQL”, “não relacional”, “não sql”, foi primeiramente utilizado,


em 1998, (entretanto o termo “banco de dados” não relacionais existe
desde 1960) como o nome de um banco de dados não relacional de código
aberto e pode ser explicado como: um termo genérico que representa os
bancos de dados não relacionais.
• Existem várias famílias de produtos NoSQLe cada família compartilha de
um mesmo modelo de armazenamento. O mais tradicional, em vez de
possuir uma tabela com um número fixo de colunas tipadas, trabalha com o
conceito de chave-valor, ou KVS (acrônimo para Key-Value Store). Isso
significa que, em vez de incluir um conjunto de atributos, a operação insere,
apenas, uma chave e um valor, e nada mais.

21
Característica de bancos de dados NoSQL

• Eles não usam SQL como uma linguagem de consulta, no entanto, alguns
deles usam as linguagens de consulta semelhantes a SQL, como CQL, no
Cassandra.
• Em geral, esses são projetos de código aberto.
• Muitos dos bancos de dados NoSQL nasceram da necessidade de executar
os serviços em cluster, o que influenciou o seu modelo de dados, como a
sua abordagem à consistência. No entanto, nem em todos os bancos de
dados o NoSQLé orientado para executar em um cluster.
• Os bancos de dados NoSQL não possuem um esquema fixo.
• De todos os recursos dos bancos de dados NoSQL, destaca a inexistência
de um esquema. Quando guardar os dados em um banco de dados
relacional, a primeira coisa a fazer é definir um esquema que indica quais
tabelas existem, quais colunas de cada tabela e que tipo de dados cada
coluna possui.

22
Usando modelos de dados conceituais de alto nível
para o projeto do banco de dados

▪ Um diagrama simplificado para ilustrar as principais


fases do projeto de banco de dados:
• Nível de abstração: modelo conceitual

• Nível de abstração: modelo físico

• Nível de abstração: modelo lógico

24
Tipos de entidade, conjuntos de
entidades, atributos e chaves

▪ Entidades e seus atributos. O conceito básico que o modelo ER representa é


uma entidade, que é uma coisa ou objeto no mundo real com uma existência
independente.

▪ Cada entidade possui atributos — as propriedades específicas que a


descrevem.

▪ Vários tipos de atributos ocorrem no modelo ER:

1. simples versus composto,

2. valor único versus multivalorado e

3. armazenado versus derivado.


Tipos de entidade, conjuntos de
entidades, atributos e chaves

▪ Atributos compostos versus simples. Atributos compostos podem ser


divididos em subpartes menores, que representam atributos mais básicos,
com significados independentes.

▪ Os atributos não divisíveis são chamados atributos simples ou atômicos.

▪ Atributos compostos são úteis para modelar situações em que um usuário às


vezes se refere ao atributo composto como uma unidade, mas outras vezes se
refere especificamente a seus componentes.

▪ Se o atributo composto for referenciado apenas como um todo, não é


necessário subdividi-lo em atributos componentes.
Tipos de entidade, conjuntos de
entidades, atributos e chaves

▪ Atributos de valor único versus multivalorados. A maioria dos atributos


possui um valor único para uma entidade em particular; tais atributos são
chamados de valor único.

▪ Um atributo multivalorado pode ter um limite mínimo e um máximo para


restringir o número de valores permitidos para cada entidade individual.

▪ Atributos armazenados versus derivados. Em alguns casos, dois (ou mais)


valores de atributo estão relacionados.

▪ Para uma entidade de pessoa em particular, o valor de Idade pode ser


determinado pela data atual (hoje) e o valor da Data_nascimento dessa
pessoa.
Tipos de entidade, conjuntos de
entidades, atributos e chaves

▪ O atributo Idade, portanto, é chamado de atributo derivado e considerado


derivável do atributo Data_nascimento, que é chamado, por sua vez, de
atributo armazenado.

▪ Valores NULL. Em alguns casos, uma entidade em particular pode não ter um
valor aplicável para um atributo.

▪ Atributos complexos. Podemos representar o aninhamento arbitrário ao


agrupar componentes de um atributo composto entre parênteses ( ) e separá-
los com vírgulas, e ao exibir os atributos multivalorados entre chaves { }.

▪ Esses atributos são chamados de atributos complexos.


Tipos de entidade, conjuntos de
entidades, atributos e chaves

▪ Um tipo de entidade define uma coleção (ou conjunto) de entidades que têm
os mesmos atributos.

▪ A coleção de todas as entidades de determinado tipo de entidade no banco de


dados, em qualquer ponto no tempo, é chamada de conjunto de entidades ou
coleção de entidades.

▪ Um tipo de entidade descreve o esquema ou conotação para um conjunto de


entidades que compartilham a mesma estrutura.

▪ A coleção de entidades de determinado tipo é agrupada em um conjunto de


entidades, que também é chamado de extensão do tipo de entidade.
Tipos de entidade, conjuntos de
entidades, atributos e chaves

▪ Dois tipos de entidade, FUNCIONARIO e EMPRESA, e algumas entidades


membros de cada uma:
Tipos de entidade, conjuntos de
entidades, atributos e chaves

▪ Atributos-chave de um tipo de entidade. Um tipo de entidade normalmente


tem um ou mais atributos cujos valores são distintos para cada entidade
individual no conjunto de entidades.

▪ Esse atributo é denominado atributo-chave, e seus valores podem ser usados


para identificar cada entidade de maneira exclusiva.

▪ Especificar que um atributo é uma chave de um tipo de entidade significa que


a propriedade anterior da exclusividade precisa ser mantida para cada
conjunto de entidades do tipo de entidade.

▪ Alguns tipos de entidade possuem mais de um atributo-chave.


Tipos de entidade, conjuntos de
entidades, atributos e chaves

▪ Conjuntos (domínios) de valores dos atributos.

▪ Cada atributo simples de um tipo de entidade é associado a um conjunto de


valores, o qual especifica o conjunto de valores que podem ser designados a
esse atributo para cada entidade individual.

▪ O conjunto de valores oferece todos os valores possíveis.

▪ Em geral, apenas um pequeno número desses valores existe no banco de


dados em determinado momento.

▪ Esses valores representam os dados do estado atual do minimundo e


correspondem aos dados conforme realmente existem no minimundo.
Tipos e conjuntos de
relacionamentos, papéis e
restrições estruturais

▪ Um tipo de relacionamento R entre n tipos de entidade E1, E2, ..., En define um


conjunto de associações — ou um conjunto de relacionamentos — entre as
entidades desses tipos de entidade.

▪ Matematicamente, o conjunto de relacionamentos R é um conjunto de


instâncias de relacionamento ri.

▪ Informalmente, cada instância de relacionamento ri em R é uma associação de


entidades, em que a associação inclui exatamente uma entidade de cada tipo
de entidade participante.

▪ Nos diagramas ER, os tipos de relacionamento são exibidos como caixas em


forma de losango, que são conectadas por linhas retas às caixas retangulares
que representam os tipos de entidade participantes.
Tipos e conjuntos de
relacionamentos, papéis e
restrições estruturais

▪ O grau de um tipo de relacionamento é o número dos tipos de entidade


participantes.

▪ Às vezes, é conveniente pensar em um tipo de relacionamento binário em


termos de atributos.

▪ Cada tipo de entidade que participa de um tipo de relacionamento


desempenha nele um papel em particular.

▪ O nome do papel significa o papel que uma entidade participante do tipo de


entidade desempenha em cada instância de relacionamento, e ajuda a
explicar o que o relacionamento significa.

▪ Os tipos de relacionamento costumam ter certas restrições.


Tipos e conjuntos de
relacionamentos, papéis e
restrições estruturais

▪ A razão de cardinalidade para um relacionamento binário especifica o


número máximo de instâncias de relacionamento em que uma entidade pode
participar.

▪ A restrição de participação especifica se a existência de uma entidade


depende de ela estar relacionada a outra entidade por meio do tipo de
relacionamento.

▪ Essa restrição especifica o número mínimo de instâncias de relacionamento


em que cada entidade pode participar, e às vezes é chamada de restrição de
cardinalidade mínima.

▪ Existem dois tipos de restrições de participação — total e parcial.


Tipos de entidade fraca

▪ Tipos de entidade que não possuem atributos-chave próprios são chamados


tipos de entidade fraca.

▪ Ao contrário, os tipos de entidade regulares que possuem um atributo-chave


são chamados de tipos de entidade fortes.

▪ As entidades pertencentes a um tipo de entidade fraca são identificadas por


estarem relacionadas a entidades específicas de outro tipo em combinação
com um de seus valores de atributo.

▪ Chamamos esse outro tipo de entidade de tipo de entidade de identificação


ou proprietário, e chamamos o tipo de relacionamento que relaciona um tipo
de entidade fraca a seu proprietário de relacionamento de identificação do
tipo de entidade fraca.
Tipos de entidade fraca

▪ Um tipo de entidade fraca normalmente tem uma chave parcial, que é o


atributo que pode identificar exclusivamente as entidades fracas que estão
relacionadas à mesma entidade proprietária.

▪ Em diagramas ER, tanto um tipo de entidade fraca quanto seu relacionamento


de identificação são distinguidos ao delimitar suas caixas e losangos com
linhas duplas.

▪ O atributo de chave parcial é sublinhado com uma linha tracejada ou


pontilhada.

▪ Em geral, podemos definir qualquer quantidade de níveis de tipos de entidade


fraca; um tipo de entidade proprietário pode ele mesmo ser um tipo de
entidade fraca.
Diagramas ER, convenções de
nomes e questões de projeto

Resumo da
notação para
diagramas ER:
Diagramas ER, convenções de
nomes e questões de projeto

▪ Como uma prática geral, dada uma descrição narrativa dos requisitos do
banco de dados, os substantivos que aparecem na narrativa tendem a gerar
nomes de tipo de entidade, e os verbos tendem a indicar nomes de tipos de
relacionamento.

▪ Os nomes de atributo costumam surgir de substantivos adicionais que


descrevem os nomes correspondentes a tipos de entidade.

▪ Outra consideração de nomeação envolve a escolha de nomes de


relacionamento binário para tornar o diagrama ER do esquema legível da
esquerda para a direita e de cima para baixo.

▪ O processo de projeto de esquema deve ser considerado um processo de


refinamento iterativo, no qual um projeto inicial é criado e depois refinado
iterativamente até que o mais adequado seja alcançado.
Diagramas ER, convenções de
nomes e questões de projeto

▪ Existem muitas notações diagramáticas alternativas para exibir diagramas ER.

▪ A figura a seguir mostra o esquema de banco de dados EMPRESA usando a


notação (min, max).

▪ Em geral, usa-se ou a notação de razão de cardinalidade/linha simples/


▪ linha dupla ou a notação (min, max).

▪ A notação (min, max) é mais precisa, e podemos usá-la para especificar


algumas restrições estruturais para os tipos de relacionamento de maior grau.

▪ Porém, isso não é suficiente para especificar algumas restrições de chave nos
relacionamentos de maior grau.
Diagramas ER, convenções de
nomes e questões de projeto
Exemplo feito em sala
O banco de dados EMPRESA registra os funcionários, os departamentos e os projetos
de uma empresa. Suponha que, depois da fase de levantamento e análise de
requisitos, os projetistas de banco de dados ofereçam a seguinte descrição do
minimundo — a parte da empresa que será representada no banco de dados:

• A empresa é organizada em departamentos. Cada departamento tem um nome e


um número exclusivos e um funcionário em particular que o gerencia. Registramos
a data inicial em que esse funcionário começou a gerenciar o departamento. Um
departamento pode ter várias localizações.
• Um departamento controla uma série de projetos, em que cada projeto tem um
nome e um número exclusivos e uma localização.
• O banco de dados armazena nome, número do CPF (Cadastro de Pessoa Física),
endereço, salário, sexo (gênero) e data de nascimento de cada funcionário. Um
funcionário é designado para um departamento, mas pode trabalhar em vários
projetos, que não necessariamente são controlados pelo mesmo departamento.
Registramos o número atual de horas por semana que um funcionário trabalha em
cada projeto, bem como o supervisor direto de cada funcionário (que é outro
funcionário).
• O banco de dados registra os dependentes de cada funcionário para fins de
seguro, incluindo nome, sexo, data de nascimento e parentesco com o funcionário.
42
Tipos de relacionamento de grau
maior que dois
Escolhendo entre relacionamentos binário e ternário (ou de grau maior)

▪ Notação de diagrama ER para um tipo de relacionamento ternário:


Tipos de relacionamento de grau
maior que dois
Escolhendo entre relacionamentos binário e ternário (ou de grau maior)

▪ A figura abaixo mostra um diagrama ER para os três tipos de relacionamento


binário PODE_FORNECER, USA e FORNECE:
Tipos de relacionamento de grau
maior que dois
Escolhendo entre relacionamentos binário e ternário (ou de grau maior)

▪ Outro exemplo de tipos de relacionamento ternário versus binário:


Tipos de relacionamento de grau
maior que dois
Escolhendo entre relacionamentos binário e ternário (ou de grau maior)

▪ Os três tipos de entidade participantes FORNECEDOR, PECA e PROJETO são,


juntos, os tipos de entidade proprietária:
Tipos de relacionamento de grau
maior que dois
Escolhendo entre relacionamentos binário e ternário (ou de grau maior)

▪ Um tipo de entidade fraca ENTREVISTA com um tipo de relacionamento de


identificação ternário:
Tipos de relacionamento de grau
maior que dois

Restrições sobre relacionamentos ternários (ou de grau mais alto)

▪ Existem duas notações para especificar restrições estruturais sobre


relacionamentos n-ários, e elas especificam restrições diferentes.

▪ Assim, ambas devem ser usadas se for importante determinar totalmente as


restrições estruturais sobre um relacionamento ternário ou de grau maior.

▪ A primeira notação é baseada na notação de razão de cardinalidade dos


relacionamentos binários.

▪ A segunda notação é baseada na notação (min, max).

Você também pode gostar