Please enable JavaScript.
Coggle requires JavaScript to display documents.
BANCO DE DADOS RELACIONAL (13 REGRAS DE COBB (0 - todas as regras se…
BANCO DE DADOS RELACIONAL
CONCEITO
ESTRUTURA DE DADOS TABULAR
base do modelo são as
relações
representadas como
tabelas
cada linha é uma
TUPLA
, cada coluna é um
ATRIBUTO
conjunto de valores possível dos atributos são os
DOMÌNIOS
cada domínio tem um tipo de dados específico
o domínio é atômico
cada tupla contem um valor apropriado para cada atributo
atributos não são ordenados: nem da direita pra esquerda
tuplas não são ordenadas
não existem tuplas duplicadas
relação é o cruzamento da tupla com seus atributos
tabelas são bidimensionais
grau ou aridade
grau 1 = unária = 1 atributo
grau 0 = nulária = 0 atributos
grau 2 = binária = 2 atributos
UTILIZAÇÃO DO SQL
tipos de dados
string
CHARACTER OU CHAR
: cadeias de tamanho fixo
CHARACTER VARYING ou VARCHAR
: cadeias de tamaho variável
CHARACTER LARGE OBJECT ou CLOB
: armazenar grandes objetos
numéricos
binário
datetime
interval
boolean
XML
é possível estender os tipos de dados básicos - criar outros tipos de dados
user defined datatypes
estado ou extensão
r
r = {t1, t2, t3, t4, ..., tm} onde cada um dos valores t1 é uma lista
ordenada
de
n
valores tn = <v1, v2, v3, v4, v5...>
modelo lógico, nunca físico
RESTRIÇÕES DE INTEGRIDADE
INTEGRIDADE DECLARATIVA
implementada através de parâmetros opcionais de linguagem de definição de dados. Ex: chave primária, domínio e integridade referencial
INTEGRIDADE PROCEDURAL
um programa na linguagem procedural nativa no SGBD, pode ser criada através de triggers, stored procedures ou assertions
INTEGRIDADE DE DOMÍNIO - comando CHECK
restringe os valores válidos que podem ser associados a um atributo
INTEGRIDADE DE CHAVE - comando UNIQUE
garante a
unicidade
do valor primária em cada uma das tuplas de uma relação
INTEGRIDADE DE VAZIO
verifica se um valor de determinado atributo pode ou não ser nulo. NULL ou NOT NULL
INTEGRIDADE DE ENTIDADE
garante que a chave primária não receba valor nulo
INTEGRIDADE REFERENCIAL
garante a referência de um valor a outro valor. O valor que faz referência é chamado de chave estrangeira (FK) e só pode estar ligado a uma chave primária (PK)
INTEGRIDADE SEMÂNTICA - assertions ou triggers
asserção é um predicado que expressa uma condição que desejamos estar sempre satisfeita no banco de dados
trigger é um comando executado automaticamente em consequência de uma modificação predefinida no banco de dados
SÃO CONSTUÍDOS POR
coleção de estruturas de dados: tuplas ou relações
coleção de operadores (linguagem SQL)
coleção de restrições de integridade
tem capacidade de representar a herança, mas
não encapsulamento
baixa redundância
TABELAS
CREATE TABLE
no comando são descritos as colunas, os tipos e as restrições de integridade associados
definido o atributo e depois: nome, um tipo para especificar o domínio e um restrição
restrições de chave e integridade podem ser definidas junto com o atributo ou depois com os comando ALTER TABLE
VISÕES
VIEWs
objeto SQL criado dentro do banco de dados
facilitar a visualização
restringir o acesso
de campos ou colunas a alguns usuários
uma tabela virtual, pois só existe durante sua utilização
ÍNDICES
mecanismo utilizado p/ melhorar a velocidade de acesso aos dados
composto por chave + ponteiro
chave:
atributo ou conjunto de atributos usado p/ procurar os registros em um arquivo
ponteiro:
identificador p/ um bloco em disco
agilizam a busca e a recuperação de registros
envolvem armazenamento de dados auxiliares contidos nos arquivos de índices
em tabelas grandes e com atributos poucos esparsos (pouco variáveis) diminui a rapidez das respostas
ÁLGEBRA RELACIONAL
SELEÇÃO
SIGMA < p > (R)
p: predicado
R: tabela
a entrada é uma única tabela, e o comando
seleciona um conjuntos de tuplas
que satisfaçam um predicado nos valores dos atributos
PROJEÇÃO
PI < A1, A2, A5> (R)
A1: atributos p/ mostrar
R: tabela
a entrada é uma única tabela, o comando
seleciona alguns atributos
e não a tupla inteira
RENAME
unificar em um único conjunto duas listas diferentes
rediz ambiguidade em selfjoin
RHO
x
< A1, A2, A3...> (E)
x
: o novo nome dado p/ relação E
A1, A2: primeiro atributo da relação, os novos nomes serão descritos no comando
PRODUTO CARTESIANO
RxS = {t1.t2 : t1 E R e t2 E S}
t1: tuplas da relação R
t2: tuplas da relação S
cada tupla da linha R será multiplicada pelas tuplas da relação S
a quantidade de atributos é a soma das duas relações
a quantidade de tuplas é a multiplicação
UNIÃO, INTERSEÇÃO, DIFERENÇA
13 REGRAS DE COBB
0
- todas as regras se baseiam na premissa de que para um modelo ser considerado relacional, seus recursos devem ser exclusivamente relacionais
1
- todas as
informações
são representadas no
nível lógico
e são estruturadas apenas por valores em tabelas
2
-
acesso garantido
: todos os dados precisam ser acessíveis
3 - valores nulos devem ser suportados sistematicamente
4
- o catálogo online (metadados) deve ser representado no mesmo nível lógico e na mesma linguagem relacional
5
- podem haver várias linguagens, mas uma deles deve suportar todos os seguintes comandos: definição de dados, views, manipulação de dados, restrições de integridade, autorização de acesso e transações
6
- views devem ser atualizáveis pelo sistema
7
- capacidade de
inserir, atualizar e excluir dados
deve ser possível de ser feita por um simples comando
8
- independência física de dados
9
- independência lógica de dados
10
- independência de integridade
11
- independência de distribuição
12 - não transposição das regras
: se um sistema possui uma linguagem de baixo nivel não pode ser usada para subverter regras de integridade e restrições definidas no nível mais alto
NORMALIZAÇÃO
1FN
- atributos devem ser atômicos
2FN
- atributos só pode depender da chave primária
3FN
- não se aceita dependência transitiva
não se pode chegar em um atributo dependendo de outro
MAPEANDO MODELO ER EM RELACIONAL
1- ENTIDADES REGULARES
2 - ENTIDADES FRACAS
3 - RELACIONAMENTOS BINÁRIOS 1:1
4 - RELACIONAMENTO BINÁRIOS 1:N
5 - RELACIONAMENTOS BINÁRIOS N:N
6 - ATRIBUTOS MULTIVALORADOS
7 - N-ÁRIOS (TERNÁRIOS, QUATERNÁRIO...)
8 - HERANÇA E ESPECIALIZAÇÃO
GERAL
RELACIONAMENTOS
um relacionamento N:N pode ter atributos específicos do relacionamento
associação intuitiva
GRAU
- quantidade de entidades no relacionamento
podem guardar o histórico dos relacionamentos
um relacionamento 1:1, pode ter sua cardinalidade modificada p/ n:n caso se deseje guardar o histórico dos relacionamento ao longo do tempo
CHAVES
chave primária pode ser simples ou composta
de mais de um atributo
ESTRANGEIRA
ligação lógica entre duas tabelas
relaciona a uma chave primária
tabelas diferentes mesmo banco de dados
CATÁLOGO ou METADADOS
descrição da estrutura do banco de dados
informações sobre o tipo e o formato de armazenamento de cada dado
informações sobre as restrições
operações do tipo
CRUD (create, read, update, delete)
são funcionalidade básicas
FECHAMENTO
propriedade que define que
todas as operações são executadas sobre uma ou mais tabelas e tem sempre como retorno outra relação
COMANDOS
UNION - seleciona linhas
não
duplicadas
UNION ALL - seleciona linhas duplicadas
relação R
R(A1, A2, A3, A4, ..., An)
R = nome da relação
An = lista dos atrbutos
ordem das tuplas e dos atributos não é importante
todo atributo possui valor atômico
cada atributo tem um nome único dentro da relação
todas as tuplas devem ser únicas
grau: número de atributos
cardinalidade: número de tuplas
pode haver relação sem nenhum atributo