Mindmap
SQL (4)

Inhalt der Mindmap
SQL (4)
(3Caract.): Não procedural, linguagem de alto nível, otimizadores(que recuperam os dados), case insensitive
- Não procedural: Define o que , e não o como # diferente de PL/SQL que é procedural
Restrições de integridade (5) -> PK, FK, UK, CK, NN
- PK -> Chave primária -> Ñ pode ter nulo -> Xnão aceita repetição FK -> Chave estrangeira -> Aceita nulo -> A chave estrangeira fica do lado -> n -> aceita repetição UK -> Chave unica -> Aceita valores nulos, -> Apenas o nulo pode repetir, somente em alguns bancos -> porém Xnão aceita repetição CK -> Check constraint -> Funciona tipo o IF -> Xnão aceita na tabela se for falso -> Se TRUE aceita na tabela -> Aceita valores nulosNN -> Identificar valores nulos
- PK(3): 1. Todos os campos que formam uma PK são obrigatórios,
- É o atributo, ou conjunto de atributos, que identifica univocamente cada linha da tabela.
- 2. Xnão aceitam valores nulos (NOT NULL)
- 3. Xnão pode ter repetição
- FK: 1. Integridade referencial ( Os valores, coluna da FK devem fazer referÊncia a PK )
- faz o relacionamento com um registro de outra tabela
- 2. Vaceita valores nulos -> Indicar que é NN
- 3. Vpode ter repetição
- UNIQUE (1) : 1. • Define um atributo, ou conjunto de atributos, que não admite ocorrências repetidas nas linhas de uma tabela.
- 2. Vaceita valores nulos. Somente os nulos podem repetir -> Indicar que é NN
- 3. Porém Xnão pode ter repetição
- 2. Vaceita valores nulos. Somente os nulos podem repetir -> Indicar que é NN
- CHECKCONSTRAINT: É uma verificação para garantir a integridade de dados, conforme uma regra estabelecida.
- 2. Funciona tipo o IF -> Xnão aceita na tabela se for falso -> Se TRUE aceita na tabela -> Aceita valores nulos
- NN -> Indicar quando for not null
- 2. Funciona tipo o IF -> Xnão aceita na tabela se for falso -> Se TRUE aceita na tabela -> Aceita valores nulos
Datatype (3) (3) -> C, N, D
- Caractere -> De 1 a 30 *exceto database*Varchar -> + utlizado, por ter + tamanho *char -> tem tamanho fixoP/ +tamanho : LONG -> CLOB P/ +tamanho binário -> LONG RAW -> BLOBNumber or numeric-> Precisão: numero total de digitos-> Escala: Numero de casa decimais Date -> dataNo oracle -> = datetimeTIMESTAMP -> Para fusos horários, precisão de segundos
- a. Precisão -> qntd total de digitos incluindo tb a escala -> limite 38 digitos
- b. Escala -> qntd total de digitos decimais ( opcional )
- 480.90 -> P:5, E:2 = (qntd total de digito, precisao) =(12,6)
- b. Escala -> qntd total de digitos decimais ( opcional )
- c. Xnão pode ter datatype booleano ( verdadeiro ou falso ) -> Fazer um CK para isso e por NN obrigatório
- Regras para nomes (5)
- 1. XNão pode ter espaços em brancos -> Colocar underline 2. Xnão pode ter nomes reservados 3. Xnão pode ter letras acentuadas 4. Xnão poder ter caracter 5.Xnão pode começar com n°
P r á t i c a
- Entidade (tabela) moeda cota muitas (n) taxa cambial -> ent. forte Entidade(tabela) taxa cambial cota uma unica e obrigatória moeda -> ent. fraca
- Relacionamentos: Apenas (2) binário ou auto-relacionamento
- Cardinalidade 1:N (2) -> a FK e o atributo multivalorado ficará na tabela do lado “n”.
- Como excluir -> DROP
- NOVALIDATE
- evitar NOVALIDATE -> E sim fazer um UPDATE
- ALTER
- • Desabilitando uma constraint: DISABLE ALTER TABLE taxa_cambial DISABLE CONSTRAINT fk_taxa_moeda; • Habilitando / reabilitando uma constraint: ENABLEALTER TABLE taxa_cambial ENABLE CONSTRAINT fk_taxa_moeda;• Eliminando uma constraint: DROP ALTER TABLE taxa_cambialDROP CONSTRAINT fk_taxa_moeda;
- ADD
- Adiciona constraints e colunas
- MODIFY -> Apenas para not null e default
- DEFAULT
- Delimitação
- DESC
- SELECT * FROM
- DEFAULT
- Modificações
- Utilizando o comando ALTER TABLE com a cláusula MODIFY, podemos modificar várias definições de uma coluna: tipo, tamanho, obrigatoriedade (not null) e valor default.
- *Para modificar o datatype de uma coluna, ela deve estar vazia (todos os registros sem valor nesta coluna) ou deve haver compatibilidade entre o tipo atual e o novo. – Exemplo 1: Ao tentar alterar uma coluna do tipo VARCHAR para NUMBER (ou vice-versa), caso haja dados, resultará em erro. – Exemplo 2: Mudar o tipo de dados de VARCHAR para CHAR é possível, mesmo que já existam dados.
- Modificando tamanho - observações • Sempre é possível aumentar o tamanho de uma coluna (dentro do limite do datatype), porém geralmente não é possível diminuir seu tamanho caso a coluna já contenha dados. • Um coluna do tipo VARCHAR, pode ser diminuída até o tamanho do maior dado existente nela. • Colunas do tipo NUMBER ou CHAR não podem ser diminuídas se contiverem dados.
- ALTER TABLE nome MODIFY, podemos modificar várias definições de uma coluna
- Acrescentado colunas!! PROVA
- Como adicionar uma coluna ->
- • Porém, se a tabela contiver registros, um problema comum é não conseguir adicionar uma coluna com NOT NULL — é necessário primeiro adicionar a coluna, depois “popular” a coluna e, finalmente, alterá-la para NOT NULL (adicionar a constraint).
- Eliminando colunas
- Renomear
- NOVALIDATE
- Como excluir -> DROP
- Cardinalidade 1:N (2) -> a FK e o atributo multivalorado ficará na tabela do lado “n”.
- Relacionamentos: Apenas (2) binário ou auto-relacionamento
- Quais constraints criam indices? Apenas primary key e unique
- • Constraints de chave primária (PK) ou unique (UK), automaticamente, criam índices para que o SGBD possa fazer a verificação (validação) de maneira eficiente. • Esses índices têm os mesmos nomes das respectivas constraints.
- 1° Criar a tabela e as colunas para isso: create table -> nome da table ( col1 varchar2/number (qntd) );
- create table -> nome da table ( col1 varchar2/number (qntd) )
- 2. Como adicionar constrainst
- 3. Criar a tabela (desc) -> gerar o resultado da consulta ( select * from ) user_constraints where
- 4. Como adicionar constraints NOT NULL -> alter table -> modify -> constraint tipo_nomedatable_nomedacoluna not null;
- 5. Como criar/adicionar chaves compostas -> Defini-la fora da especificação da coluna
- Chave primária composta -: É quando a pk tem mais de 1 coluna
- a. Ao criar a tabela
- b. Depois de criada -> alter table nomedatable -> add constraint tipo_nomedatable) -> nome extenso ( col1, col2);
- 6. Como criar/adicionar check constraint
- Aceita null
- a. Ao criar
- b. Depois de criada > alter table nomedatable -> add constraint tipo_nomedatable_nomedacol -> check ( restrição da col - pensar no i: val_taxa > 0) );
- c. Para check constraints compostas -> Definir a constraint fora da coluna
- 7. Default -> é a delimitação, só poderá assumir aquele valor definido
- Depois do datatype DEFAULT antes das chaves -> NOT NULL caso tiver sempre no final
- a. Ao criar
- b. Depois de criada
- 8. FK -> REFERENCES
- a. Ao criar
- Indicação opcional do campo da PK
- FK com exclusão em cascata
- Caso seja excluído um registro da tabela “pai”, todos os registros da tabela “filho”, que estiverem relacionados, também serão excluídos automaticamente!
- FK com exclusão em cascata
- Indicação opcional do campo da PK
- b. Depois de criada
- a. Ao criar
- As chaves compostas
- Eliminando uma constraint “not null”
- Mysql Alter column
- 5. Como criar/adicionar chaves compostas -> Defini-la fora da especificação da coluna
- 4. Como adicionar constraints NOT NULL -> alter table -> modify -> constraint tipo_nomedatable_nomedacoluna not null;
- a. Ao criar a tabela
- b. Depois de criada -> alter table nomedatabela -> add constraints ex: pk_nomedatabela -> nome extenso: primary key (nomedacoluna);
- 3. Criar a tabela (desc) -> gerar o resultado da consulta ( select * from ) user_constraints where
- Entidade (tabela) moeda cota muitas (n) taxa cambial -> ent. forte Entidade(tabela) taxa cambial cota uma unica e obrigatória moeda -> ent. fraca
Trabalham com tabelas e retornam tabelas
Nomenclatura: caso tiver chave_nome da coluna_ nome da tabela
Dominio
- Continuo ->
- Discreto ->
- OR -> Check ( sexo = 'F' OR sexo 'M')); -> Check ( sexo IN ('F','M'));
Criar primeiro todas as tabelas -> Alter table add or modify(not null, default) or references(fk)
* Modelagem conceitual -CARACTERISTICAS E DIFERENÇAS: ( Ñ tem tecnologia ) logico: ( tipo de tecnologia: tipo de banco ) fisico:( tecnologia )
- * 12 REGRAS DE CODI
- * CONSTRAINTS: TIPOS E CARACTERISTICA E O QUE ELAS VALIDAM
- * NORMALIZAÇÃO E ANOMALIAS DE ATUALIZAÇÃO -> PROBLEMAS SE AS TABELAS NÃO ESTIVEREM NORMALIZADAS
- * SQL DDL -> ESCRITA DE COMANDO
- Create table com 2 colunas ( basico ) Alter table ( Adicionar colunas, add constraints )
- * MODELAGEM CONCEITUAL PESADA-> INTERPRETAR O MODELO -> CARDINALIDADE, RELACIONAMENTO, GENERALIZAÇÃO E ESPECIALIZAÇÃO -> E AS TRANSFORMAÇÕES PARA O BANCO RELACIONAL
- * DESNORMALIZAÇÃO -> CAMPO CALCULADO( PERFOMANCE ), PEGAR O VALOR DE OUTRA TABELA ( MANTER HISTORICO ) E O QUE PODE TER SÓ QUE JUSTIFICADA.
- * ELABORAR UM MODELO CONCEITUAL E ADAPTAR PARA O LOGICO RELACIONAL
- Pensamento sempre na 3 FN Conceitual: Notação peter chen Relacional: pé de galinha
- * ELABORAR UM MODELO CONCEITUAL E ADAPTAR PARA O LOGICO RELACIONAL
- * DESNORMALIZAÇÃO -> CAMPO CALCULADO( PERFOMANCE ), PEGAR O VALOR DE OUTRA TABELA ( MANTER HISTORICO ) E O QUE PODE TER SÓ QUE JUSTIFICADA.
- * SQL DDL -> ESCRITA DE COMANDO
- * NORMALIZAÇÃO E ANOMALIAS DE ATUALIZAÇÃO -> PROBLEMAS SE AS TABELAS NÃO ESTIVEREM NORMALIZADAS
- * CONSTRAINTS: TIPOS E CARACTERISTICA E O QUE ELAS VALIDAM
- !! PROVA !!
- Modelagem (+) PESO
- * 12 REGRAS DE CODI
Bilder und Dateien der Mindmap
Informationen
- Beschreibung
- Mindmap am SQL (4), erstellt von Millena Dias am 30/04/2019.
- Erstellt von
- Millena Dias
- Aufrufe
- 0
- Bewertung































