Академический Документы
Профессиональный Документы
Культура Документы
Restrio de domnio:
Restrio de opcionalidade:
Tipo fraco de entidade Tipo de relacionamento 1:1 Tipo de relacionamento 1:N Tipo de relacionamento N:N
Normalizao
Normalizao
Dependncias Funcionais (DF)
Restrio de Integridade envolvendo dois conjuntos de atributos de uma relao Notao Formal Seja R um conjunto de atributos de uma relao R Seja R um conjunto de atributos de uma relao R A dependncia funcional vale em R se para quaisquer tuplas t1 e t2 temos: t1[] = t2[] t1[] = t2[]
Normalizao
Dependncias Funcionais (DF)
DF uma generalizao do conceito de superchave
Se K uma superchave de R ento K R, ou seja, t1[K] = t2[K] t1[R] = t2[R]
Normalizao
Utilizao de DFs:
um conjunto F de DFs serve para:
Restringir o conjunto de relaes vlidas, diz-se ento que: F vale em R Testar se uma instncia r de relao R satisfaz F, diz-se ento que: R satisfaz F
Normalizao
DFs Triviais
Se ento Exemplos: A A AB A AB B
Normalizao
Formas Normais
So regras que se apiam fortemente no conceito de dependncias funcionais para estabelecer um bom projeto de banco de dados relacional. A normalizao o processo em que relaes que no obedecem a certas formas normais so decompostas em outras relaes que obedecem s mesmas.
Normalizao
Primeira Forma Normal (1FN)
Uma relao est em 1FN se todos os seus atributos so definidos sobre domnios atmicos e cada atributo est associado a um nico valor do seu domnio.
Normalizao
Terceira Forma Normal (3FN)
Uma relao est em 3FN se ela est em 2FN e um atributo que no compe uma chave candidata no depende funcionalmente de maneira transitiva de uma chave candidata, ou em outros termos, uma relao est em 3FN se para cada dependncia funcional que vale na relao, uma das seguintes condies for satisfeita: uma dependncia funcional trivial uma superchave da relao um atributo que compe uma chave candidata
Normalizao
Forma Normal Boyce-Codd (FNBC)
Uma relao R est em FNBC em relao a um conjunto de dependncias funcionais F se para toda DF em F+ da forma onde R e R, pelo menos uma das seguintes dependncias funcionais vlida: uma dependncia funcional trivial uma superchave da relao
Normalizao
Propriedades desejveis na decomposio de relaes
Decomposio com juno sem perdas (ligao no perdedora)
Seja R1 e R2 duas relaes obtidas da decomposio da relao R em que vale o conjunto de dependncias funcionais F. A decomposio sem perdas se uma das seguintes condies for satisfeita: R1 R2 R1 estiver contida em F+ R1 R2 R2 estiver contida em F+
Normalizao
Propriedades desejveis na decomposio de relaes
Preservao de dependncias funcionais
Definio: Uma Restrio Fi para uma relao Ri obtida pela decomposio de R (R decomposta em R1,R2,...,RN) o conjunto de DFs em F+ que incluem apenas atributos de Ri Seja Fd = F1 F2 ... Fn-1 Fn A decomposio de R em R1,R2,...,RN preserva DFs se Fd+ = F+
Normalizao
Comparao entre FNBC e 3FN
A FNBC mais restritiva, isto , toda relao em FNBC est em 3FN mas no vice-versa A decomposio em relaes na 3FN sempre preservam as propriedades e em FNBC nem sempre Relaes em 3FN podem conter repeties de informao (redundncias) e podem exigir valores nulos o que no acontece em FNBC Se no for possvel obter relaes em FNBC sem perda de juno e com preservao das dependncias funcionais ento obter relaes em 3FN que mantenham as demais propriedades.
Controle de Acesso
Controle de Acesso
Restries para acesso aos dados
So as regras que devem ser obedecidas para garantir acessos legais e evitar acessos ilegais Mecanismo bsico a criao de usurios / contas/ perfis e associao de privilgios a esses usurios/ contas/ perfis Em SBDs Relacionais so usados comandos SQL para autorizao e revogao de privilgios
Autorizao de Privilgios em SQL: GRANT
Autorizao com propagao ou sem propagao
Controle de Acesso
Tipos de Privilgios:
Privilgios de Sistema (ou de conta) Privilgios de Objetos
Vises tambm podem ser utilizadas como mecanismo de controle de acesso aos dados
Necessrio quando o controle de acesso envolve predicados sobre os dados
Linguagens Relacionais
Operao Interseco ()
(<relao>) (<relao>)
operao comutativa unio de tuplas remoo de duplicatas compatibilidade de unio tabela resultante com cardinalidade maior e mesmo grau
SQL
Padres SQL
Primeiras padronizaes: 1986 (ANSI), 1987 (ISO) 1989 (ISO)
Integridade referencial Null Default Check constraints
1992: SQL2
Criao explcita de schema (CREATE SCHEMA) Criao de domnio (CREATE DOMAIN) Stored Procedures Novos tipos de dados (time e date) Tabelas temporrias Tabelas derivadas da clusula FROM Restrio UNIQUE UNION
SQL
Padres SQL
1999: SQL3
Extenses para O.O (SGBD objeto-relacionais)
Objetos complexos (vdeo, imagem, texto) Hierarquia de tabelas (herana simples) Tipos de dados definidos pelo usurio colees
SQL
Padres SQL
2003: SQL4
Composto por nove partes
Parte 1: SQL Framework: Parte 2: SQL Foundation Parte 3: SQL CLI (Call-Level-Interface) Parte 4: SQL-PSM (Persistent Stored Modules) Parte 9: SQL-MED (Management of External Data) Parte 10: SQL-OLB (Object Language Binding) Parte 11: SQL-Schemata Parte 13: SQL-JRT (Java Routines and Types) Parte 14: SQL-XML Partes 5, 6, 7, 8 e 12 no foram aproveitadas
DROP SCHEMA DROP SCHEMA nome-esquema CASCADE DROP SCHEMA nome-esquema RESTRICT DROP TABLE DROP TABLE nome-tabela CASCADE DROP TABLE nome-tabela RESTRICT
Remoo de atributo (coluna) ALTER TABLE nome-tabela DROP nome-atributo Deve ser especificada opo RESTRICT ou CASCADE para tratar restries de integridade referencia
Exemplo: ALTER TABLE Empregados DROP estCivil CASCADE
Adicionar/remover restries
Exemplo: ALTER TABLE Empregados DROP CONSTRAINT deptoFK CASCADE
UPDATE
O tratamento das restries de integridade referencial de tupla(s) de outra(s) tabela(s) que referencia(m) a(s) tupla(s) atualizada(s) segue o que foi especificado no comando de criao da tabela que referencia.
Comparaes numricas
Operadores de comparao (<, >, <>, =) Between
Pertinncia de valor de atributo em conjunto (IN, NOT IN) Comparao com NULL (IS NULL, IS NOT NULL)
Exemplo: SELECT max(sal), min(sal), avg(sal) FROM empregados WHERE sexo = M GROUP BY depto HAVING count(*) > 10;
SQL-DCL
CREATE USER ALTER USER DROP USER GRANT REVOKE CREATE SYNONYM
Desvantagens
Necessidade de mais camadas de processamento Desempenho
DBMS