Você está na página 1de 52

Banco de Dados

Conceitos de banco de dados e sistemas gerenciadores de


bancos de dados (SGBD)

Professor Eduardo Benjamin


Título: Banco de Dados
Conceitos de banco de dados e sistemas gerenciadores
de bancos de dados (SGBD)
o Banco de Dados
1º 2.1. Conceitos de banco de dados e
sistemas gerenciadores de BD(SGBD)
B
L
O Segmento
C 01
O
Em 1970, Edgar F. Codd, um matemático formado em Oxford que trabalhava no
IBM San Jose Research Lab, publicou um artigo mostrando como as informações
armazenadas em grandes bancos de dados podiam ser acessadas sem saber como
as informações estavam estruturadas ou onde residiam no banco de dados.
Conceito de Banco de Dados relacional
Tabela Funcionários
O banco de dados relacional (SQL) surgiu na
Código Nome Dpto Função Salário
década de 70 e, desde então, as empresas
foram implementando esse conceito, 0001-4 Alberto Dias 003 Auxiliar R$ 2.000,00
alcançando uma grande popularidade. Hoje, 0002-6 Pedro Silva 003 Gerente R$ 9.000,00

está presente na maior parte dos sistemas. 0003-1 Marcos Hal 004 Supervisor R$ 4.500,00
0004-2 Beatriz Lima 004 Assistente R$ 2.200,00

Ele é baseado no modelo relacional, uma 0005-8 Dráuzio Paz 011 Chefe Setor R$ 3.800,00

forma intuitiva e direta de representar os 0006-3 Eliana Santos 011 Analista R$ 6.000,00

dados em tabelas, que também são Tabela Departamento


chamados de relações. Em resumo: na Código Nome
horizontal, temos as linhas e na vertical as
003 Diretoria
colunas. Cada coluna representa um campo
004 Recursos Humanos
diferente de dados e informações.
011 Financeiro
O que é um banco de dados?

Um Banco de Dados (ou Base de Dados)


é uma coleção de dados relacionados,
organizados e armazenados visando
facilitar a manipulação desses dados,
permitindo realizar alterações,
inserções, remoções e consultas.
SGBD – Sistema Gerenciador de Banco Dados

Folha de
pagamento
Sistema de
Gerenciamento Banco de
Faturamento
de Banco de Dados
Dados
Compras
SGBD – Gerenciador de Banco Dados

Tabela Funcionários
S
G Banco
Tabela Produtos
B de
D Dados
Tabela Pedidos
Elementos envolvidos com os banco de dados
Hardware: memória
Dados: valores Software: Sistema
secundária, unidades
fisicamente registrados Gerenciador de Banco
de controle, canais de
no banco de dados. de Dados (SGDB).
comunicação, etc.

Programadores De Aplicações: Usuários Finais: utilizam uma linguagem


responsáveis pelos programas de de consulta integrante do sistema ou uma
aplicação que utilizem o BD. aplicação desenvolvida.

DBA: administrador do BD, ou seja, o


responsável pelo controle do BD
Banco de Dados Relacional
Estrutura do Banco de Dados Relacional
O banco de dados e a estrutura do banco de dados são definidos no processo de
instalação. A estrutura do banco de dados depende de se o banco de dados é
Oracle Database, IBM® Db2 ou Microsoft SQL Server.

Um conjunto de tabelas de catálogos do sistema que descrevem a


estrutura lógica e física dos dados
Um arquivo de configuração contendo os valores de parâmetro
BD alocados para o banco de dados
Um log de recuperação com transações contínuas e transações
arquiváveis
Estrutura do Banco de Dados Relacional
1. Dicionário de Dados
2. Contêiner
3. Partição de Armazenamento
4. Objeto de Negócios
Componentes 5. Objeto de Banco de Dados
6. Tabela
do Banco de 7. Linha
Dados 8. Coluna
9. Visualização
10. Índice Remissivo
11. Relacionamento
12. Junção
Dicionário de Dados
Repositório de informações sobre os programas de
aplicativos, bancos de dados, modelos de dados lógicos e
autorizações para uma organização.

Contêiner
Local de armazenamento de dados, por exemplo, um
arquivo, diretório ou dispositivo que é usado para definir um
banco de dados.
Partição de Armazenamento
Uma unidade lógica de armazenamento em um banco de dados tal
como uma coleção de contêineres. As partições de armazenamento do
banco de dados são chamadas de espaços de tabela no Db2 e Oracle e
chamadas de grupos de arquivos no SQL Server.

Objeto de Negócios
Uma entidade tangível dentro de um aplicativo que os usuários criam,
acessam e manipulam enquanto executam um caso de uso.
Objeto de Banco de Dados
Um objeto que existe em uma instalação de um sistema de banco de
dados, tal como uma instância, um banco de dados, um grupo de
partições de bancos de dados, um buffer pool, uma tabela ou um
índice. Um objeto de banco de dados contém dados e não possui
nenhum comportamento.

Tabela
Um objeto de banco de dados que contém uma coleção de dados para
um tópico específico. As tabelas consistem em linhas e colunas.
Coluna
O componente vertical de uma tabela de banco de dados. Uma coluna
possui um nome e um tipo de dados específico, por exemplo,
caractere, decimal ou número inteiro.

Linha
O componente horizontal de uma tabela, consistindo em uma
sequência de valores, uma para cada coluna da tabela.
Visualização
Uma tabela lógica que é baseada em dados armazenados em um
conjunto subjacente de tabelas. Os dados retornados por uma
visualização são determinados por uma instrução SELECT que é
executada nas tabelas subjacentes.
Índice Remissivo
Um conjunto de ponteiros que são ordenados logicamente pelos
valores de uma chave. Os índices fornecem acesso rápido aos dados e
podem impingir a exclusividade dos valores da chave para as linhas na
tabela.
Relacionamento
Um link entre um ou mais objetos que é criado especificando uma
instrução de junção.

Junção
Uma operação relacional de SQL na qual os dados podem ser
recuperados de duas tabelas, geralmente com base em uma condição
de junção especificando colunas de junção.
Tabelas
Tabela de Funcionários
Código Nome Depto Função Admissão Salário
0001-4 Alberto Dias CPD Auxiliar 02/02/2010 R$ 2.000,00
0002-6 Pedro Silva RH Gerente 08/08/1998 R$ 9.000,00
0003-1 Marcos Hal PCP Supervisor 02/06/2000 R$ 4.500,00
0004-2 Beatriz Ferreira PCP Assistente 16/02/2011 R$ 2.200,00
0005-8 Dráuzio Martins P&D Chefe Setor 04/10/2012 R$ 3.800,00
0006-3 Eliana Pereira P&D Analista 02/10/2013 R$ 6.000,00
Denominações para elementos de uma tabela
O grau de uma
relação é o
número de
atributos uma
tabela contém.
Registro de uma tabela
Os funcionários da empresa e seus dependentes
Os funcionários da empresa e seus dependentes
Os funcionários da empresa e seus dependentes
Os funcionários da empresa e seus dependentes
Como montar uma tabela de funcionário que possibilite
colocar os seus dependentes?

Tabela deTabela de Funcionários


Funcionários
Funcionário
Código Nome Dependente 1
Depto Dependente
Função 2Admissão
Dependente 3 …
Salário
Alberto
0001-4 Dias Marquinhos
Alberto Dias CPD Auxiliar 02/02/2010 R$ 2.000,00
Pedro
0002-6 Silva
Pedro SilvaPedrinho RH Joãozinho
Gerente MariazinhaR$ 9.000,00
08/08/1998
Marcos
0003-1 HalMarcos HalJuninho PCP Supervisor 02/06/2000 R$ 4.500,00
Beatriz Ferreira
0004-2 MarcinhaPCP
Beatriz Ferreira Aninha
Assistente 16/02/2011 R$ 2.200,00
0005-8 Dráuzio Martins
Dráuzio Martins Paulinha P&D Chefe Setor 04/10/2012
Carlinha Claudinha R$ 3.800,00
+2
0006-3 Eliana Pereira
Eliana Pereira P&D Analista 02/10/2013 R$ 6.000,00
1º 2.1. Conceitos de banco de dados e
sistemas gerenciadores de BD(SGBD)
B
L
O Segmento
C 02
O
Solução: Criar duas tabelas e gerar um
relacionamento entre estas duas tabelas
Tabela
Tabela
Funcionários
Dependentes
Id-Fun Nome Depto Função
0001-4 Alberto CPD Auxiliar
Id-Fun Nome
Dias 0001-4 Marquinhos
0002-6 Pedro RH Gerente 0002-6 Pedrinho
Silva 0002-6 Joãozinho
0003-1 Marcos PCP Supervisor 0002-6 Mariazinha
Hal
Relacionamento entre as tabelas
Tabela de Tabela de
Clientes Tabela de
Pedidos Item
Tabela de
Id-Pedido Id-Cliente Tabela de Tabela
Normalização
Clientes Id-Pedido Id-Item Produto
Pedidos Item
0001-9 João
0002-8 Pedro
100 resolve
0001-9 isso 100 1 Cama
102 0001-9 100 2 TV
0003-6 Carlos 103 0002-8 100 3 Fogão
104 0003-6 102 4 Armário
103 2 TV
103 3 Fogão
Um cliente pode ter 104 3 Fogão
vários pedidos
Um pedido pode ter vários itens
As chaves de um banco de dados relacional
1º) Você se lembra destas denominações?
2º) O que é uma chave no
banco de dados?
Uma chave é um conjunto
de um ou mais atributos
(campos) que servem
para identificar de forma
única uma linha da minha
tabela.
As chaves de um banco de dados relacional
Primária Identifica de maneira única um registro
Estrangeira Permite o relacionamento (tabelas)
Candidata Por natureza não se repetem
Super Chave Identifica uma linha (tupla) única
Substitutas ou É um campo auto incremento que
Artificiais define a chave primária da tabela
A Chave primária ou Primary Key (PK)
Uma tabela pode ter somente uma chave
primária. Uma chave primária consiste em um ou
mais campos que identificam exclusivamente cada
registro que você armazena na tabela

Normalmente, há um número de identificação exclusivo,


como um número de identificação, um número de série ou
um código, que serve como uma chave primária.
A Chave primária ou Primary Key (PK)
Exemplos de Chaves primárias

Id_Forn. Id_peça Id_ped


Nome Nome Id_Forn
Endereço Cor Id_peça
Cidade Peso Quantidade
Estado Preço
A Chave estrangeira ou Foreign Key (FK)
Uma tabela também pode ter uma ou mais chaves estrangeiras. Uma
chave estrangeira contém valores que correspondem aos valores da
chave primária de outra tabela.

Chave estrangeira, ou Foreign Key (FK), ou ainda chave externa é a


chave que permite a referência a registros oriundos de outras tabelas.
Ou seja, é o campo ou conjunto de campos que compõem a chave
primária de uma outra tabela.
A Chave estrangeira ou Foreign Key (FK)
Por exemplo, você pode ter
uma tabela de Cursos no
qual cada curso terá suas
próprias disciplinas. A
identificação da disciplina
de um determinado curso
será feita pela chave
estrangeira na tabela
Disciplina (imagem ao
lado). A chave estrangeira é
Curso Aplicado.
Super Chave
A super chave é capaz de identificar exclusivamente a linha, ou seja, é
capaz de identificar exclusivamente a tupla contendo uma combinação
específica de valores, uma maneira de fazer isso é já ter todos os
valores disponíveis.

Portanto, a tupla é uma super chave para si mesma, pois uma vez que
conhecemos os valores na tupla, sabemos claramente como encontrar
a tupla com esses valores.
A Chave candidata
Chave candidata é um atributo ou um conjunto de atributos de uma
tabela que identifica uma única linha da tabela. A chave primária é
extraída a partir do conjunto de chaves candidatas de uma tabela.

Como exemplo temos os Nos de CPF ou o RG como uma chave


candidata. Os cidadãos possuem um único CPF e um único RG. Assim
tanto o CPF como RG podem ser usadas como chave para identificar
de forma única um registro no meu banco de dados.
O banco de dados e suas tabelas
Os banco de dados e seus relacionamentos
Os Relacionamento entre Tabelas
As chaves de uma tabela
Os banco de dados e seus relacionamentos

Id_usuário.
Id_permissão
Nome
Tabelas
Endereço
Data Acesso
Cidade Id_usuário
Estado Permissão
Chave primária é aquela que não se repete na
estrutura da tabela. Identifica um registro de
maneira única.
A chave estrangeira já se repete numa determinada tabela
permitindo assim que o relacionamento entre as tabelas
possam existir.
A chave candidata poderia ter sido escolhida como primária.

A super chave identifica a tupla inteira.


Como pode
ser cobrado
em prova?
Considere as seguintes afirmativas:
1) Uma chave estrangeira é um campo que aponta para a chave primária de outra
tabela.
2) Em chaves primárias, não pode haver valores nulos nem repetição.
3) Uma tupla é a mesma coisa que uma tabela.
Assinale a alternativa correta.
A) Somente a afirmativa 1 é verdadeira.
B) Somente a afirmativa 2 é verdadeira.
C) Somente a afirmativa 3 é verdadeira.
D) Somente as afirmativas 1 e 2 são verdadeiras.
E) As afirmativas 1, 2 e 3 são verdadeiras.
Por muitas vezes, é necessário representar dados em tabelas, que
podem ser traduzidas por relações dentro de um banco de dados, como
no exemplo a seguir.
Com base no exposto e nos dados apresentados na tabela, é correto afirmar
que
A) o uso de “Nome” como chave primária é uma boa prática.
B) a tabela em questão pode ser representada pelo seguinte esquema
relacional: PESSOA(Nome: string, CPF: string, Idade: integer, Naturalidade:
string).
C) “CPF” é uma chave primária e, por isso, é possível que possua valores iguais
para diferentes linhas da tabela.
D) o terceiro atributo da segunda tupla possui valor “123.456.789-01”.
E) a tabela representa uma relação de grau 3.
REFERÊNCIAS

• IBM
https://www.ibm.com/docs/pt-br/mam/7.6.1?topic=design-
relational-database-structure

• Digital House
https://www.digitalhouse.com/br/blog/banco-de-dados-
relacional-e-nao-relacional
Até a próxima aula.

Bons estudos

Você também pode gostar