Você está na página 1de 46

Implementar

banco de dados
Conceito de banco de
dados
Banco de Dados: Conjunto organizado de
dados que podem ser facilmente acessados,
gerenciados e atualizados.
Importância: Facilita o armazenamento
eficiente e a recuperação de informações para
suportar aplicações e processos de negócios.
Outros Métodos de
Armazenamento de Dados
Arquivos Tradicionais:
Dados dispersos em arquivos separados.
Dificuldade em gerenciar e atualizar informações.
Planilhas Eletrônicas:
Limitações na manipulação de grandes conjuntos
de dados.
Dificuldade em manter a integridade dos dados.
Texto Não Estruturado:
Falta de organização e estrutura.
Exemplos Práticos:

Caso de Uso - Armazém de Produtos:


Comparação do uso de um banco de dados versus planilhas para rastrear
inventário.
Demonstração de como um banco de dados facilita consultas e atualizações.

Sistema de Cadastro de Clientes:


Criação de um pequeno banco de dados para armazenar informações de
clientes.
Realização de consultas simples para destacar a eficiência do banco de dados.
Tipos de Bancos de Dados
Bancos de Dados Relacionais
Estruturados em tabelas relacionadas.
Utilizam SQL para consultas e manipulação.
Exemplo: MySQL, PostgreSQL, Oracle.

Bancos de Dados NoSQL

Não seguem o modelo relacional.


Flexíveis, escaláveis e adequados para dados não estruturados.
Exemplo: MongoDB, Cassandra, Redis.
Exemplo de banco de dados relacional

A modelagem de dados relacional é uma abordagem para organizar dados em tabelas


inter-relacionadas. Pode ser comparada a uma planilha, onde cada linha representa uma
entrada específica e cada coluna é um atributo ou característica dessa entrada. No
contexto da gestão de pedidos:

Criação de Tabelas: Você cria tabelas para representar diferentes entidades


relacionadas ao sistema, como clientes, produtos e pedidos. Cada tabela tem colunas
que representam os atributos dessas entidades.

Definição de Chaves Estrangeiras: Para estabelecer relações entre as tabelas, você


usa chaves estrangeiras. Por exemplo, em uma tabela de pedidos, pode haver uma
coluna que referencia o cliente associado usando a chave primária da tabela de clientes.
Utilização de Bancos NoSQL em Aplicações Web

Bancos de dados NoSQL são uma alternativa aos bancos de dados relacionais e são
projetados para lidar com volumes massivos de dados e casos de uso mais flexíveis. Um
exemplo comum é o MongoDB, um banco de dados NoSQL baseado em documentos.
No contexto de uma aplicação web para gerenciamento de documentos:

Integração do MongoDB: Em vez de usar tabelas, você armazena dados em


documentos BSON (formato JSON-like) no MongoDB. Cada documento pode ter
uma estrutura diferente, proporcionando flexibilidade.
Aplicação Web: A aplicação web pode interagir com o MongoDB usando sua
linguagem de consulta específica. Isso permite armazenar e recuperar documentos
de forma eficiente, sendo especialmente útil quando os dados não têm uma estrutura
fixa.
SGDB

FUNCIONALIDADES BÁSICAS:

C reate

R ead

U pdate

D elete

O CRUD é uma abordagem comum e essencial em sistemas que envolvem interação


com bancos de dados, pois fornece uma estrutura simples e intuitiva para realizar
operações básicas de manipulação de dados.
SGDB

FUNCIONALIDADES BÁSICAS:

C reate -- (Criação): Inserir novos registros ou dados no banco de


dados. Isso envolve a adição de novas entradas para representar novos
itens, usuários, transações ou qualquer outra entidade que o sistema
esteja gerenciando.

R ead -- (Leitura): Recuperar dados do banco de dados. Essa


operação envolve a consulta do banco de dados para obter
informações existentes. Pode ser uma busca geral, uma consulta
específica ou a leitura de um registro específico.
SGDB

FUNCIONALIDADES BÁSICAS:

U pdate -- (Atualização): Modificar dados existentes no banco de


dados. Isso pode envolver a modificação de valores de campos
específicos em um registro ou a atualização de informações de um item
existente.

D elete -- (Exclusão): Remover dados do banco de dados. Essa


operação envolve a exclusão de registros ou dados específicos,
removendo assim as informações do sistema.
Características do Banco de Dados
Relacionamento entre Tabelas:
Os bancos de dados relacionais permitem que você crie relações
entre tabelas. Isso significa que você pode conectar registros em
uma tabela a registros em outra, estabelecendo assim uma
estrutura mais organizada para armazenar e recuperar
informações.

Linguagem de Consulta Estruturada (SQL):


É uma linguagem padronizada usada para interagir com bancos de
dados relacionais. Com o SQL, os usuários podem executar
operações como consultas para recuperar dados, inserir novos
registros, atualizar informações existentes e excluir dados.
Características do Banco de Dados
Integridade Referencial:
Garante que as relações entre tabelas sejam mantidas de maneira
consistente. Isso significa que, se uma tabela faz referência a dados
em outra tabela, a integridade referencial garante que esses dados
referenciados estejam sempre presentes e corretos.

Normalização de Dados:
É um processo de organização de dados em um banco de dados
relacional para reduzir a redundância e melhorar a eficiência. Ela
envolve a divisão de tabelas grandes em tabelas menores e mais
relacionadas, reduzindo assim a duplicação de informações.
Características do Banco de Dados
Segurança:
Os sistemas de gerenciamento de banco de dados oferecem
recursos de segurança para controlar o acesso aos dados. Isso
inclui a autenticação de usuários, concessão de privilégios
específicos, criptografia de dados sensíveis e auditoria de
atividades.

Flexibilidade e Extensibilidade:
Bancos de dados devem ser flexíveis para acomodar mudanças
nos requisitos do sistema ao longo do tempo. A capacidade de
adicionar novas tabelas, campos ou modificar a estrutura existente
sem afetar negativamente as operações é um aspecto importante.
Características do Banco de Dados
Suporte a Transações ACID:
ACID é um acrônimo que descreve as propriedades essenciais das
transações em um banco de dados. ACID representa Atomicidade
(a transação é uma operação única e indivisível), Consistência (a
transação leva o banco de dados de um estado consistente para
outro), Isolamento (transações concorrentes são isoladas umas das
outras) e Durabilidade (as alterações da transação são
permanentes).
Organização da SQL
Organização da SQL

DML - Linguagem de Manipulação de Dados:


Esses comandos são usados para manipular dados dentro das
tabelas. Alguns comandos DML incluem:
SELECT: Recupera dados de uma ou mais tabelas.
INSERT: Adiciona novos registros a uma tabela.
UPDATE: Modifica dados existentes em uma tabela.
DELETE: Remove registros de uma tabela.
Organização da SQL

DDL - Linguagem de Definição de Dados:


Essa categoria inclui comandos que definem a estrutura do banco
de dados, como criação, alteração e exclusão de tabelas. Alguns
comandos DDL comuns são:
CREATE TABLE: Cria uma nova tabela.
ALTER TABLE: Modifica a estrutura de uma tabela existente.
DROP TABLE: Exclui uma tabela.
CREATE INDEX: Cria um índice para otimizar consultas.
Organização da SQL

DQL - Linguagem de Consulta de Dados:


É uma subcategoria da linguagem SQL que se concentra
exclusivamente em operações de consulta de dados. Enquanto a
linguagem SQL em geral (também conhecida como DML -
Linguagem de Manipulação de Dados) inclui comandos para
inserção, atualização e exclusão de dados, a DQL se dedica
principalmente a recuperar informações armazenadas no banco de
dados. O comando principal associado à DQL é o SELECT.
Organização da SQL

DCL - Linguagem de Controle de Dados:


Essa categoria inclui comandos relacionados a privilégios e controle
de acesso. Alguns comandos DCL são:
GRANT: Concede privilégios a usuários ou papéis.
REVOKE: Revoga privilégios previamente concedidos.
Organização da SQL

TCL - Linguagem de Controle de Transação:


Esses comandos controlam o início, o término e outros aspectos relacionados
às transações. Alguns comandos TCL são:
- COMMIT: Confirma as alterações feitas durante uma transação.
- ROLLBACK: Desfaz as alterações feitas durante uma transação não
confirmada.
- SAVEPOINT: Define um ponto dentro de uma transação para a qual você
pode voltar mais tarde.
MER e DER: Modelagem de Banco de Dados
MER (Modelo de Entidade-Relacionamento):
É uma técnica de modelagem de dados usada para representar as entidades que
fazem parte de um sistema e os relacionamentos entre essas entidades. Ele é
frequentemente utilizado no design de bancos de dados e serve como uma
representação visual das relações entre diferentes elementos do sistema. No MER,
as entidades são representadas por retângulos e os relacionamentos por linhas que
conectam esses retângulos. A modelagem ajuda a entender a estrutura de dados e
as associações entre elas, sendo uma etapa importante no processo de
desenvolvimento de sistemas de banco de dados.
MER e DER: Modelagem de Banco de Dados

DER (Diagrama de Entidade-Relacionamento):


É uma representação gráfica do Modelo de Entidade-Relacionamento. Em outras
palavras, o DER é uma instância específica de um modelo MER. Ele detalha as
entidades específicas, seus atributos e os relacionamentos entre elas em um
formato visual. O DER é uma ferramenta importante no projeto de bancos de dados,
pois fornece uma visão mais clara e detalhada da estrutura de dados.
Principais elementos do DER:

Entidades: Representadas por retângulos, as entidades são objetos do mundo


real sobre os quais armazenamos dados.
Principais elementos do DER:
Atributos: Características específicas de uma entidade, representadas por elipses
conectadas à entidade.
Desenvolver diagramas
https://app.creately.com/
Principais elementos do DER:
Relacionamentos: Linhas que conectam entidades, indicando como elas estão
associadas.
Principais elementos do DER:
Cardinalidade: Define a quantidade de instâncias em uma entidade que podem
estar relacionadas a uma instância na outra entidade.
Cardinalidades
(1,1): Significa que uma instância de uma entidade está associada a no máximo
uma instância da entidade relacionada, e vice-versa. Isso é representado pela
notação "1:1" em um DER.
(1, n): Indica que uma instância de uma entidade pode estar associada a várias
instâncias da entidade relacionada, mas uma instância da entidade relacionada está
associada a no máximo uma instância da entidade original. Isso é representado pela
notação "1:n".
(n, 1): É o oposto de 1:n, onde uma instância da entidade relacionada pode estar
associada a várias instâncias da entidade original, mas cada instância da entidade
original está associada a no máximo uma instância da entidade relacionada. A
notação é "n:1".
(0, n): Representa uma cardinalidade que significa "zero ou mais". Essa notação é
usada para indicar que uma instância de uma entidade pode estar associada a zero
ou mais instâncias da entidade relacionada.
Desenvolver diagramas com IA
https://app.quickdatabasediagrams.com/
Modelagem de
Dados Relacionais
Tabelas;
Colunas;
Registros.
Tabelas:
É uma estrutura fundamental que organiza e armazena
dados de maneira tabular, semelhante a uma planilha. Ela é
composta por linhas e colunas, onde cada linha representa
uma entrada específica (um registro) e cada coluna
representa um atributo ou campo dessa entrada. As tabelas
são usadas para organizar os dados de forma estruturada e
facilitar a recuperação e manipulação dessas informações.
Colunas:

É uma estrutura dentro de uma tabela que representa um


atributo específico dos dados armazenados. Em uma tabela
de "Clientes", as colunas podem incluir informações como
"Nome", "Endereço", "Telefone", etc.
Linhas ou Registros:

Cada linha em uma tabela representa uma instância única


de dados. Por exemplo, em uma tabela de "Clientes", cada
linha pode representar informações sobre um cliente
específico.
Chave Primária (Primary Key):
A chave primária é um ou mais campos em uma tabela
que serve para identificar de maneira única cada
registro na tabela.
Essa chave garante a unicidade dos dados na tabela, o
que significa que não pode haver dois registros com o
mesmo valor na coluna da chave primária.
Geralmente, a chave primária é usada como referência
para estabelecer relacionamentos com outras tabelas.
Chave Estrangeira (Foreign Key):
A chave estrangeira é um campo em uma tabela que
estabelece uma relação com a chave primária de outra
tabela.
Ela cria um vínculo entre as duas tabelas, permitindo a
referência a registros na tabela relacionada.
A chave estrangeira não precisa ser única na tabela em
que está localizada, mas deve corresponder a um valor
existente na tabela referenciada.
Exemplo Prático: Suponha que você tenha duas tabelas em um banco
de dados: "Clientes" e "Pedidos".
Na tabela "Clientes", o campo "IDCliente" pode ser a chave primária,
identificando exclusivamente cada cliente.
Na tabela "Pedidos", o campo "IDPedido" pode ser a chave primária, e o
campo "IDCliente" pode ser uma chave estrangeira referenciando a
tabela "Clientes".
No slide anterior temos o exemplo, a chave estrangeira "IDCliente" na tabela
"Pedidos" está relacionada à chave primária "IDCliente" na tabela "Clientes",
estabelecendo assim uma relação entre pedidos e clientes. Essa relação é
fundamental para manter a integridade referencial no banco de dados.

Comandos:
CREATE TABLE {{nome}}
{{coluna}} {{tipo}} {{opção}} COMMENT {{comentário}}
Tipos de Dados:
Os dados podem variar muito entre os diversos SGBD, os
mais comuns são:

Inteiro (Integer) - 0, 1, 2 , 3 ...


Decimal/Númerico (Decimal/Numeric) - 1,00 , R$ 100,00
Caractere/Varchar (Character/Varchar) - string
Data e Hora (Date/Time) - 05/12/2023 / 19:00
Booleano (Boolean) - True ou False
Texto longo (Text) - exemplo comentário com muitos texto
Opções:
Restrições de valor:
NOT NULL - É obrigatório fornecer um valor para esse
campo durante a inserção de um novo registro na tabela.
UNIQUE - nenhum valor duplicado é permitido na coluna
ou conjunto de colunas.
DEFAULT - define um valor padrão para uma coluna.
Tabelas Colunas e Registros:
Tabelas Colunas e Registros:
Tabelas Colunas e Registros:
Tabelas Colunas e Registros:
Operações CRUD:
INSERT INTO

Você também pode gostar