Você está na página 1de 37

BANCOS DE DADOS

RELACIONAIS
Prof. MSc. Jailson Santos
AGENDA DA AULA

01 03
Introdução Modelagem de
Banco de dados

02 04
Características Introdução a
ACID e SQL
Cardinalidade
01
INTRODUÇÃO
O que é um
Banco de
Dados?
O Modelo Relacional
Neste modelo, a representação dos dados
ocorre por tabelas, em que cada linha é um
registro com o seu endereço (ID ou chave).
Nas tabelas, as colunas têm as
características dos dados ali armazenados,
que são chamadas de atributos. Assim, cada
atributo se relaciona com um valor
registrado, em uma lógica parecida com a
cartesiana.
Utilização dos bancos
de dados relacionais
Por ser eficiente, simples e organizado, empresas de todos
os tamanhos investem e utilizam esse modelo para guardar
suas informações e consultá-las sempre que necessário,
sobretudo quando se trata de empresas onde a rapidez e
confiabilidade na busca é algo primordial como cartórios,
hospitais e delegacias, por exemplo.

A data da existência desses bancos com esse modelo é de


1970, porém, até hoje é um dos modelos mais amplamente
utilizados e aprovados para banco de dados.
02
CARACTERÍSTICAS ACID
Características ACID

Atomicidade
O banco de dados relacional é
considerado uma das formas mais
seguras e eficientes de guardar Consistência
os dados. Para isso, ele conta
com uma série de características
e propriedades que lhe assegura Isolamento
esse status, as propriedades
ACID.
Durabilidade
Características ACID
- Atomicidade: é o conceito que dá a ideia de indivisibilidade, ou seja, as transações que
acontecem com partes de informações discretas devem ser totalmente executadas, caso
contrário, se forem divididas, não serão executadas;

- Consistência: garante que se manterá o estado inicial dos dados, caso ocorra alguma
falha, ou cria um outro estado dos dados, que também é válido;

- Isolamento: esse conceito é como se fosse uma proteção quando uma transação não foi
validada, mas está em andamento, então, o conceito garante que deve permanecer isolada,
ou seja, não haverá interferência por outra ação que acontece concomitantemente;

- Durabilidade: esse conceito permite que os dados fiquem disponíveis, independentemente


de falha ou de reinício do sistema.
02
CARDINALIDADE
Cardinalidade
A cardinalidade é uma propriedade importante que pode ser entendida como um número
que é expresso por meio de um comportamento. Desse modo, a cardinalidade acontece
por meio de um conjunto de associações entre entidades, esse conjunto pode ser
chamado de relacionamento. Por sua vez, podemos dizer que entidade é algo ou uma
“coisa” em que se deseja guardar as informações no banco de dados.
Tipos de cardinalidade

Máxima Mínima
(1 e N) (0 e 1)
Diz respeito ao máximo Representa o número
número de ocorrências de mínimo de ocorrências de
uma entidade em que se uma entidade por meio do
esteja relacionado relacionamento
03
MODELAGEM DE BANCOS
DE DADOS
Modelagem de banco
de dados
No processo de desenvolvimento de softwares é comum criar um modelo conceitual que
irá nortear todo o projeto, sobretudo a concepção do banco de dados. Neste sentido,
comumente é utilizado o MER (Modelo Entidade Relacionamento) que se trata de um
modelo conceitual para descrever os objetos (entidades) envolvidos no negócio, suas
características (atributos) e como elas se relacionam entre si (relacionamentos).
Classificação das
entidades
- Entidades físicas: são tangíveis e visíveis no mundo real, como cliente (pessoas ou empresa), ou
um produto (um carro, computador, roupa).
- Entidades lógicas: são aquelas que existem geralmente em decorrência da interação entre ou
com entidades físicas, como a função de um usuário do sistema.
- Entidades fortes: são aquelas cuja existência independe de outras entidades. Ex: em um sistema
de vendas, a entidade produto vai existir independente de quaisquer outras;
- Entidades fracas: ao contrário das entidades fortes, as fracas dependem de outras entidades para
existirem. No exemplo anterior, a entidade venda é uma entidade fraca, pois não existe venda
sem produto (itens vendidos);
- Entidades associativas: esse tipo de entidade surge quando há a necessidade de associar uma
entidade a um relacionamento existente.
Tipos de
atributos
- Descritivos: representam características intrínsecas de uma entidade;
- Nominativos: além de serem descritivos, estes têm a função de definir e identificar um objeto
(nome, código e números);
- Referenciais: representam a ligação de um entidade com outra em um relacionamento.

Quanto à sua estrutura, é possível classificá-los como:


- - Simples: um único atributo define uma característica da entidade;
- - Compostos: para definir uma informação da entidade, são usados vários atributos. Ex: o
atributo endereço é composto por rua, número, bairro etc.)
Chave primária (PK) e
chave estrangeira (FK)
Alguns atributos representam valores
únicos que identificam a entidade
dentro do domínio e não podem se
repetir, a eles damos o nome de
Chave Primária (PK). Já os atributos
referenciais são chamados de Chave
Estrangeira (FK).
Diagrama Entidade
Relacionamento (DER)
Enquanto o MER é um modelo conceitual, o Diagrama Entidade Relacionamento (DER) é a
sua representação gráfica e principal ferramenta. O diagrama facilita ainda a comunicação
entre os integrantes da equipe, pois oferece uma linguagem comum utilizada tanto pelo
analista, até os desenvolvedores.
Em sua notação original, proposta por Peter Chen (idealizador do diagrama), as entidades
deveriam ser representadas por retângulos, seus atributos por elipses e os relacionamentos
por losangos, ligados às entidades por linhas, contendo sua cardinalidade. Porém, notações
modernas abandonaram o uso de elipses para atributos e passaram a utilizar o formato
mais utilizado na UML (Linguagem de Modelagem Unificada), em que os atributos já
aparecem listados na própria entidade. Essa forma torna o diagrama mais limpo e fácil de
ser lido.
DER de um E-commerce
DER de uma
estrutura
educacional
04
INTRODUÇÃO A SQL
O que é SQL?
A Structure Query Language – SQL (ou Linguagem
Estruturada de Consulta) é uma linguagem declarativa
que permite definir, consultar e atualizar dados, além
de possuir funcionalidades para definições nos bancos
de dados relacionais.
Surgimento da SQL
Sua origem se deu a partir dos estudos acerca do
modelo relacional de Codd, por volta de 1970. No
entanto, a primeira versão aplicável da linguagem só
foi desenvolvida mais tarde, em 1974 pela empresa
IBM, sendo nomeada na época de SEQUEL (Linguagem
de Consulta Estruturada em Inglês). Depois, a SEQUEL
foi ampliada, revisada e renomeada para SQL.
Surgimento da SQL
A motivação da IBM para desenvolver a SQL foi a de
utilizar uma interface amigável para seu sistema
experimental de banco de dados relacional, conhecido
como System R. Seu sucesso foi tão grande que em
1982 a SQL se tornou a linguagem oficial padrão no
âmbito de sistemas relacionais, instituída pela ANSI
(Instituto Americano de Padrões). Posteriormente, ela
passou a ser a referência por outras entidades de
padronização como a ISO (Organização Internacional de
Normalização).
O que é possível fazer
através da linguagem
SQL?
- Consultas interativas (Query AdHoc)
- Acessibilidade a banco de dados
- Otimização da gestão pelo DBA
(Administrador do Banco de Dados)
- Relacionamento servidor/cliente
- Transações entre bancos de dados
- Comunicação sistemas/máquinas
Alguns sistemas SGBD É um software utilizado para o

que usam a SQL gerenciamento de uma base de


dados, responsáveis por controlar,
acessar, organizar e proteger as
informações de uma aplicação
A linguagem SQL apresenta uma
organização estrutural muito bem
definida que divide seus comandos em 5
subconjuntos diferentes. Cada um desses
conjuntos apresenta objetivos específicos
que será explicado a seguir.
DML: linguagem de
manipulação de dados
O DML (Data Manipulation Language) é o
subconjunto do SQL que define os comandos
usados para manipular os dados
armazenados em um banco. Esse é um dos
conjuntos mais utilizados, pois ele fornece
operadores que nos permitem inserir, excluir
e alterar os registros de uma tabela, por
exemplo. Os comandos mais importantes
desse subconjunto são: INSERT, DELETE e
UPDATE.
DQL: linguagem de
consulta de dados
O DQL (Data Query Language) é o conjunto
SQL que define o comando mais popular da
linguagem, o SELECT. Esse comando é
essencial para que possamos consultar os
dados que armazenamos em nosso banco.
DDL: linguagem de
definição de dados
O DDL (Data Definition Language) é o
subconjunto SQL que apresenta comandos
usados para gerenciar as estruturas do banco
de dados. Com ele, podemos criar, atualizar
e remover objetos da base, como tabelas e
índices. Os comandos definidos pelo DDL
são: CREATE, DROP e ALTER.
DCL: linguagem de
controle de dados
O DCL (Data Control Language) é o
subconjunto no qual encontramos comandos
para controlar o acesso aos dados da nossa
base. Utilizando esse conjunto, conseguimos
estabelecer restrições e permissões para
quem acessa o banco por meio dos comandos
GRANT e REVOKE.
DTL: linguagem de
transação de dados
O DTL (Data Transaction Language) — também
conhecido como TCL (Transaction Control
Language) — é o subconjunto SQL que define
comandos que utilizamos quando é
necessário gerenciar transações feitas no
banco. Isso significa que eles permitem
iniciar, confirmar e desfazer determinadas
alterações. Os comandos estabelecidos pelo
conjunto são COMMIT, BEGIN e ROLLBACK.
Vamos
codar!
Referências
HEUSER, C. A. Projeto de bancos de dados. Porto Alegre: Bookman, 2009.
NAVATHE, E. Sistemas de banco de dados. 6. ed. São Paulo: Pearson, 2011.
NOGARE, D. Do banco de dados relacional à tomada de decisão. São Paulo: Mvtech Livro, 2014.
MEDEIROS, F. L. Banco de dados: princípios e práticas. Curitiba: InterSaberes, 2013.
Alguma dúvida?

jailson.silva@ufsc.br

CREDITS: This presentation template was created by


Slidesgo, incluiding icons by Flaticon, and
infographics & images by Freepik.

Você também pode gostar