Please enable JavaScript.
Coggle requires JavaScript to display documents.
Aula 20.1 - Coggle Diagram
Aula 20.1
Regras
de Codd
Para que um BD seja considerado relacional, deve seguir as 13 regras definidas por E.FCood
Regra 0: Para que um BD seja qualificado como relacional, deve utilizar recursos exclusivamente relacionais
Regra 1-Informação: Todas infor. do BD são representadas de forma explicita no nível logico e estruturadas em apenas uma forma: por valores e tabelas
Regra 2-Acesso garantido: Todos os dados precisam ser assessiveis(pela combinação de nome de tabela, do valor chave primária e do nome da coluna)
Regra 3-Tratamento sistemático de valores nulos: Val. nulos devem ser suportados de forma sistemática p/ representar inf inexistentes e inf inaplicáveis (sgbd tbm deve manipula-los de forma sistemática
Regra 4-Catálogo online dinamico: A descrição/metadados=representada no nivel logico da mesma forma dos dados ordinários(permitindo que usuarios autorizados utilizem a msm lingua. relacional aplicada para dados regulares0
Regra 5-Sublinguagem ampla dos dados: deve suportar varias linguag. e varias formas de recup. de infor.
- Entretanto deve haver pelo menos uma linguagem com sintaxe bem definida para os itens: definição de dados, definiçõ de views, manipulação de dados, restições de integridade e transações
Regra 6-Atulizações de visualizações: Todas as "views" ou visoes dos dados que sao teoricamente atualizaveis devem tbm ser atualizaveis pelo sistema
Regra 7-Inserção, atualização e exclusão de alto nível: Capacidade de manipular atraves de um simples comando deve se extender às operações de inclusão, alteração o exclusão de dados
Regra8-Independencia física de dados: Mudanças no meio físico não alteram programas de aplicação e recursos ad hoc
Regra9-Independencia lógica de dados: Mudanças nas relações e nas views(tabelas) na devem afetar programas de aplicação e recursos ad hoc
Regr10-Independencia de integridade: Aplicações não sao afetadas quando ha mudanças nas regras de restrições de integridade
Regr11-Independencia de distribuição: Aplicações não sao logicamente afetadas quando ha mudanças geográfica dos dados
Regr12-Não transposição das regras: Se um sist. possui linguagem de baixo nível, ela não pode ser usada para subverter as regas de integridades e restrições definidas no nível mais alto
Algebra
Relacional
-
Navathe-3motivos da importancia da AR
- Fonece alicerce formal para o modelo relacional
- É usado como base para implementação e otimizaçao de consultas
- Alguns dos seus conceitos são incorporados na linguagem SQL padrao
-
Seleção
-
-
É perfeitamente possível que o predicado seja uma composiçãao de restrições sore diferentes colunas da tabela
Cada restrição é conhecida como termo e os termos podem ser ligados por conectivos ^v¬
- Cada termo pode ser composto por um <atributo>operador<atributo/constante>
- operadores:=≠≲≳<>
Projeção
Também recebe uma entrada como relação, contudo suas restrições são feitas sobre as colunas da tabela
-
-
União:RUS - o resultado contém as tuplas que estão em R,S ou em ambas
-
-
Produto
cartesiano
Combina infor. de duas relações, fazendo uma junçã de todas as linhas da primeira com todas da segunda
-
-
Divisão
seu resultado será composto basicamente pelos elementos da primeira tabela que se relacionem com todos os elementos da segunda tabela
-
Taxonomia
Fundamentais: seleção, projeção, união, intersecção, diferença, produto cartesiano e rename
- Binárias: união, intersecção, subtração, prod cartesiano, junção e divisão
- Unárias/primárias: projeção, seleção e rename
Rename
ρx(x:novo nome dado à relação) <A1, 12,...An>(novos nomes dados aos atributos) (E) E=relação: ρx<A1, A2,...An>(E)
Modelo
Relacional
-
-
- Características fundamentais
- Estrutura tabular
- Regras de integridade
- Operadores relacionais
- Utilização do SQL(Structured Query Language)
- Linha= tupla
- Coluna= atributo
- Domínio: conjunto de valores atomicos
- Restrições de integridade: conjunto de restrições básicas para dados e relacionamentos
- Operadores relacionais: usados para manipular as nformações pertenentes a cada uma das restrições do nosso modelo
- Propriedades:
- Cada tupla contém exatamente 1 valor (do tipo apropriado) para cada atributo
- Atributos não são ordenados da esquerda para a direita
- Tuplas n são ordenadas de cima para baixo
- Não exstem tuplas duplicadas
Um esquema relacional pode ser definido por
R (A1, A2,..., An)
ex Aluno (Nome, Endereço, Turma, Responsável)
-
Tabela
Para criar tabela basta utilizar a sintaxe CREATE TABLE
- usado para especificar uma nova relação dando-lhe um nome e especificando seus atributos e restriçõs iniciais
Comando DESK: seguido pelo nome da tabela, fornece uma descrição das colunas com o seu tipo
Os atributos são definidos prmeiro e, a cada atributo, é dado um nome, um tipo para espcificar o dominio de seus valores e alguma restrição de atributo
Restrições de chave, de integridade de entidade e de integridade referencial podem ser especificas no mesmo comando após os atributos serem declarados ou poderão ser adicionadas depois usando o comando ALTER TABLE
Comando DROP<TABLE> remove todas as informalçoes de uma relação do BD
- Modificador CASCADE deleta também tabelas que sejam filhas da tabela removida ou ajustar a integridade referencial
Tipos
SQL inclui 7 tipos de dados pré-definidos: string(conjunto de caracteres), numéricos, bnário, datetime, interval, boolean e XML
-
-
Tabelas são descritas por meio de colunas, restrições e tipos de dados
Visões
Facilitar a visualização dos dados dispersos em diversas tablas tornando-os mas natura e intuitivo ao entendimento humano
-
-
-
A view é considerada uma tabela virtual pois so existe durante o período em que vc está utilizando a mesma
Indices
-
É composto por uma chave que é um atributo ou conjunto de atributos usado para procurar registros em um arquivo
-
agilizam a busca para recuperação de registros envolvendo armazenamento de dados auxiliares que são armazenados nos arquivos de indices
Regras de
integridade
- Integriade declarativa: Implementada através de parâmetros opcionais da linguagem de definição de dados(DLL)
- Os tipos mais comuns são: chave primária(PK), domínio e integridade referencial
- Integriade procedural: Programa-cuja lógica é escrita pelo programador
- Supre as necessidades não cobertas pela integrid. relativa e pode ser criada através de tiggers(gatilhos), stored procedures(procedientos armazenados) ou assertions(afirmações)
- ex: um tigger é uma estrutura conhecida como EVENTO-CONDIÇÃO-AÇÃO
- Integridade de domínio: Restringe os valores válidos que podem ser associados a um determinado atributo
- Integridade de chave: Garante a unicidade do valor da chave primária em cada uma das tuplas
- implementado pela palavra-chave UNIQUE
- Integridade de vazio(def if(x!=null?x==null)): Verifica se determinado atributo pode ou não ter valor nulo associado a suas instâncias
- Podemos definir uma colona como NULL ou NOT NULL em SQL
- Integridade de Entidade(PK != null): Garante que a chave primária n receba valor nulo
- Integridade de Refrencial(FK == PK(Chave candidata)Il FK==null): Garante que o valor q aparece em uma relação para um dado conjunto de atributos também apareça para um conjunto de atributos em outra relação
- Em SQL é implementada por meio de uma referencia da chave estrangeira (FK) de uma relação
- Integridade Semantica):
- Assertions: predicado que expressa uma condiçõ que desejamos q seja sempre satisfeita no BD
- Um gatilho é um comandoexecutad automaticamente em consequenci de uma modificação no BD