Banco de Dados Flashcards

1
Q

O que é SGBD?

A

) é um software que
possui recursos capazes de manipular as informações do banco de dados e
interagir com o usuário. Exemplos de SGBDs são: Oracle, SQL Server, DB2,
PostgreSQL, MySQL, o próprio Access ou Paradox, entre outros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que é o Banco de dados?

A

Um banco de dados é uma coleção
organizada de informações - ou dados -
estruturadas, normalmente armazenadas
eletronicamente em um sistema de
computador.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que é sistema de banco de dados?

A

SISTEMA DE BANCO DE DADOS: BANCO DE DADOS + SOFTWARE QUE O MANIPULA

  • Um conjunto de quatro componentes básicos: dados, hardware, software e
    usuários. Date conceituou que “sistema de bancos de dados pode ser
    considerado como uma sala de arquivos eletrônica”.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quais são as vantagens do uso do SGBD?

A
  • Dados armazenados em um único local
  • evita-se redefinições;
  • minimiza-se redundância.
  • Dados compartilhados pelas aplicações
  • facilita integração de aplicações;
  • evita redefinição de dados
  • Dados mais independentes das aplicações
  • novas operações de manipulação de dados não requerem modificação “pesada” no código da
    aplicação
  • aplicações não se preocupam mais com o gerenciamento dos dados
  • Maior flexibilidade de acesso
  • linguagens para BD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quando não usar um SGBD?

A
  • Quando minha aplicação é simples
  • lida com poucos dados operacionais que podem ser mantidos em um ou poucos arquivos.
  • Quando minha aplicação faz processamento pesado mas não requer
    gerenciamento de dados operacionais.
  • Quando o custo para instalação e administração de um SGBD é muito alto
  • equipamento, pessoal, treinamento.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais são os tipos de banco de dados?

A
  • Banco de Dados Relacional - é uma forma de organizar dados em tabelas, linhas e colunas
  • Banco de dados Hierárquico - é um modelo de dados que organiza os registros em uma estrutura semelhante a uma árvore
  • Banco de dados de rede - é um modelo de banco de dados que organiza dados em uma estrutura similar a uma rede
  • Banco de dados Objeto-Relacional - é um sistema que combina recursos de bancos de dados relacionais e orientados a objetos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é um DBA?

A

Administrador de banco de
dados é o profissional responsável por gerenciar, instalar, configurar,
atualizar e monitorar um
banco de dados ou sistemas
de bancos de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é Abstração de dados?

A

O grande objetivo de um sistema de banco de dados é prover os usuários com
uma visão abstrata dos dados.
Isto é, o sistema omite certos detalhes de como os dados são armazenados e mantidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quais são os níveis de abstração de dados?

A

Nível Externo - A mais alto nível de abstração descreve apenas parte do banco de dados.

Nível conceitual - O descreve quais dados estão armazenados de fato no banco de dados e as relações que existem entre
eles. Aqui o banco de dados inteiro é descrito em termos de um pequeno número de
estruturas relativamente simples.

Nível físico -O nível mais baixo de abstração descreve como os dados estão realmente armazenados. No nível físico, complexas estruturas de
dados de baixo nível são descritas em detalhes;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que é a independência de dados?

A

A habilidade de modificar a definição de um esquema em um nível sem afetar a
definição de esquema num nível mais alto é chamada de independência de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é a independência física de dados?

A

É a habilidade de modificar o esquema físico sem a necessidade de reescrever os
programas aplicativos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Ao mudar os dados do HD para o SSD muda algo?

A

Apenas a forma como os dados são fisicamente armazenados (de HDD local para SSD na nuvem).
O que não muda?
● Os aplicativos que acessam o banco de dados continuam funcionando sem alterações.
● As consultas SQL e os relatórios continuam os mesmos.
● O modelo lógico do banco de dados permanece inalterado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que é Independência lógica de dados?

A

É a habilidade de modificar o esquema conceitual sem a necessidade de
reescrever os programas aplicativos.

As modificações no nível conceitual são necessárias quando a estrutura lógica do
banco de dados é alterada (por exemplo, a adição de contas de bolsas de mercado
num sistema bancário).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que é a linguagem de manipulação de dados?

A

Os níveis de abstração discutidos anteriormente (níveis físico, conceitual e de
visão) não se aplicam somente à definição ou estrutura de dados, mas também à
sua manipulação.
A manipulação de dados significa:
● a busca da informação armazenada no BD;
● a inserção de novas informações nos BD;
● a eliminação de informações no BD;
● a modificação de dados armazenados no BD.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que é uma entidade no Modelo Entidade-Relacionamento?

A

Uma entidade é algo do
mundo real que possui uma existência independente. Uma entidade pode ser um
objeto com uma existência física - uma pessoa, carro ou empregado - ou pode ser
um objeto com existência conceitual - uma companhia, um trabalho ou um curso
universitário.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quais são os tipos de entidades?

A

Uma base de dados irá conter normalmente grupos de entidades que são
similares.
Uma companhia com centenas de empregados pode querer agrupar as
informações similares com respeito a empregados.
Estas entidades, empregados, compartilham os mesmos atributos, mas cada
entidade terá seus próprios valores para cada atributo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

O que é um atributo-chave?

A

Tal atributo é chamado atributo-chave, e o seu valor pode ser usado para identificar cada entidade unicamente. Algumas vezes, um conjunto de atributos
pode formar uma chave.
Nestes casos, os atributos podem ser agrupados em um atributo composto, que
virá a ser um atributo-chave do tipo de entidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Cite um exemplo de Relacionamentos, Papéis e Restrições Estruturais em banco de dados.

A

Por exemplo, considere-se que um tipo de relacionamento TRABALHA-PARA exista
entre tipos de entidades EMPREGADO e DEPARTAMENTO.
Este relacionamento associa cada empregado com o departamento em que este
trabalha. Cada instância de relacionamento em TRABALHA-PARA associa uma entidade
empregado e uma entidade departamento

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

O que é uma entidade fraca?

A

Entidades que pertencem a um tipo de entidade-fraca são identificadas por estarem associadas a entidades específicas de um outro tipo de entidade em combinação com alguns de seus valores de atributos.

Exemplo: Copias de um livro.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Quais são os tipos de atributos?

A

Atributo simples - Não possui qualquer característica especial.

Atributo composto - O seu conteúdo é formado por vários itens menores. Exemplo: Endereço. Seu conteúdo poderá ser dividido em vários outros atributos, como: Rua, Número,
Complemento, Bairro, Cep e Cidade.

Atributo multivalorado - O seu conteúdo é formado por mais de um valor.Exemplo: Telefone. Uma pessoa poderá ter mais de um número de telefone.

Atributo determinante - Identifica de forma única uma entidade, ou seja, não pode haver dados repetidos. É indicado sublinhando-se o nome do atributo. Exemplo: CNPJ, CPF, Código do fornecedor, Número da matrícula, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Quais são os tipos de chaves?

A

Chave primária - é o conjunto de atributos que identificam unicamente uma entidade.

Chave alternativa - também conhecida como chave secundária, é aquela chave
candidata que não é primária. De acordo com as regras do negócio, às vezes pode
ser conveniente identificar entidades por atributos que não são únicos dentre
todas as instâncias.

Chave estrangeira - são atributos de uma entidade cujos valores aparecem como
chave primária em outra entidade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

O que são relacionamento entre entidades?

A

Um tipo de Relacionamento define um conjunto de associações entre n tipos de entidade E1 , E2 ,…,En
Exemplo: Trabalha-para entre Empregado e Departamento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

O que é cardinalidade no relacionamento com entidades?

A

Cardinalidade: Especifica o número de instâncias de um tipo de relacionamento do
qual uma entidade pode participar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

O que é participação no relacionamento com entidades?

A

Participação: Especifica se a existência de uma entidade depende de seu relacionamento com outra entidade através de um tipo de relacionamento parcial ou total.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
O que é especialização no relacionamento com entidades?
Especialização: Processo de definição de um conjunto de subclasses (sub-tipos) de um tipo de entidade.
25
O que é generalização no relacionamento com entidades
Generalização: Processo de definição de um tipo de entidade genérico (super-classe ou super-tipo) a partir de um conjunto de tipos de entidade. Toda instância de uma sub-classe (ou subtipo) é também uma instância de sua superclasse (ou super-tipo) ● Ex.: “John Smith” é um engenheiro e também um empregado
26
Na Especialização e Generalização, o que significa Herança de atributos e relacionamentos?
●Uma entidade de uma sub-classe possui todos os atributos e relacionamentos de sua super-classe, ou seja, ela herda todos os atributos e relacionamentos da super-classe; ● Além disso, uma entidade de uma sub-classe pode possuir seus próprios atributos e relacionamentos locais ou específicos. ● Superclasse (supertipo) : tipo-entidade Empregado ● Subclasses (subtipos): Secretário, Engenheiro, Técnico
27
Quais são as Restrições de Disjunção sobre Hierarquias de Especialização / Generalização?
Disjução: Sub-classes podem ser disjuntas ou sobrepostas Subclasses mutuamente exclusivas: ● uma entidade de uma superclasse deve ser membro no máximo de uma única subclasse: "Um disciplina não pode ser de graduação e de pós ao mesmo tempo" Subclasses que se sobrepõem: ● uma entidade de uma superclasse pode ser membro de mais do que uma subclasse; "um funcionário pode acumular mais de uma função ao mesmo tempo"
28
Quais são as Restrições de Completude sobre Hierarquias de Especialização / Generalização?
Completude: A completude da super-classe em relação às subclasses pode ser total ou parcial Total - cada entidade de uma superclasse deve ser membro de alguma subclasse na especialização; "Toda a disciplina é de pelo menos um tipo: Graduação, pós ou especialização." Parcial - uma entidade de uma superclasse pode não pertencer a qualquer uma das subclasses; "Um funcionário pode ser, por exemplo, Gerente de Recursos Humanos"
29
Quais são os tipos de herança?
De atributos: atributos da superclasse são herdados pelas subclasses; De relacionamentos: instâncias de relacionamentos da superclasse são herdados pelas entidades das subclasses; Observação: qualquer entidade membro de uma subclasse também deve ser membro da superclasse; qualquer entidade membro da superclasse pode ser opcionalmente incluída como membro de qualquer número (incluindo zero) de subclasses.
30
Cite um exemplo de Tipo-relacionamento Unário (1:1)
Marido - casa com - esposa
31
Cite um exemplo de Tipo-relacionamento Unário (1:n)
Supervisor - Supervisiona - Empregados (Supervisionados)
32
Cite um exemplo de Tipo-relacionamento Unário (m:n)
Disciplinas - tem como pré requisito - prés requisitos
33
Quais são as regras de integridade?
1 ª regra - Integridade de entidade: nenhum valor de uma chave primária pode ser nulo. Em termos de DER, o atributo pk deve ser sempre obrigatório, nunca opcional. 2 ª regra - Integridade referencial: numa entidade que possui uma chave estrangeira, cada valor desta chave só pode ser nulo ou igual a algum valor da pk correspondente no relacionamento. As alterações dos valores constituintes da pk ou a remoção de uma instância que contenha uma pk com uma fk associada em outra entidade pode causar problemas de integridade referencial.
34
O que é modelo lógico?
Compreende uma descrição das estruturas que serão armazenadas no banco e que resulta numa representação gráfica dos dados de uma maneira lógica, inclusive nomeando os componentes e ações que exercem uns sobre os outros.
35
Como é feito o mapeamento de tipos de entidade regular no modelo lógico?
Para cada tipo de entidade regular (forte) “E” no modelo conceitual, crie uma tabela “T” que inclua todos os atributos simples de “E”. Inclua apenas os atributos de componente simples de um atributo composto. Escolha um dos atributos chave de “E” como chave primária para “T”. Se a chave escolhida de “E” for composta, então o conjunto de atributos simples que a compõem juntos formarão a chave primária de “T”. Se várias chaves fossem identificadas para “E” durante o projeto conceitual, a informação que descreve os atributos que formam cada chave adicional é mantida a m de especificar chaves secundárias (únicas) da tabela “T”. O conhecimento sobre as chaves também é mantido para ns de indexação e outros tipos de análises.
36
Como é feito o mapeamento de tipos de entidade fraca no modelo lógico?
Para cada tipo de entidade fraca “F” no modelo conceitual: com tipo de entidade proprietária forte “E”, crie uma tabela “T” e inclua todos os atributos simples (ou componentes simples dos atributos compostos) de “F” como atributos de “T”. Além disso, inclua como atributos chave estrangeira de “T” os atributos de chave primária da tabela que correspondem aos de entidade proprietária “E”. Isso consegue mapear o tipo de relacionamento de identificação de “F”. A chave primária de “T” é a combinação das chaves primárias do proprietário “E” e a chave parcial do tipo de entidade fraca “F”, se houver.
37
Como é feito o mapeamento dos tipos de relacionamento binários 1:1 no modelo lógico?
já criamos duas tabelas ("A" e "B"), uma para cada conjunto de entidades que participa do relacionamento; ● delas, incluir como chave estrangeira a chave primária da outra; ● se o relacionamento for total em um dos dois conjuntos de entidades, então é melhor incluir a chave estrangeira no "lado total"
38
Como é feito o mapeamento de tipos de relacionamento binário 1:N no modelo lógico?
Para cada tipo de relacionamento “R” binário regular 1:N, identifique a tabela “T” que representa o tipo de entidade participante no lado N do tipo de relacionamento. Inclua como chave estrangeira em “T” a chave primária da tabela “P” que representa o outro tipo de entidade no lado N (tabela “T”) está relacionada, no máximo, a uma instância de entidade do lado 1 (tabela “P”) do tipo de relacionamento. Inclua quaisquer atributos simples (ou componentes simples dos atributos compostos) do tipo de relacionamento 1:N como atributos de “P”. já temos duas tabelas ("T","P"), uma para cada conjunto de entidades que participa do relacionamento; ● incluir como chave estrangeira, na tabela do "lado muitos" (o "lado N"), a chave primária da tabela do "lado um".
39
Como é feito o mapeamento de tipos de relacionamento binário N:N no modelo lógico?
Para cada tipo de relacionamento “R” binário N:N, crie uma nova tabela “S” para representar “R”. Inclua como atributos de chave estrangeira em “S” as chaves primárias das tabelas que representam os tipos de entidade também, quaisquer atributos simples do tipo de relacionamento N:N (ou componentes simples dos atributos compostos) como atributos de “S”. Observe que não podemos representar um tipo de relacionamento N:N por um único atributo de chave estrangeira em uma das tabelas participantes (como zemos para os tipos de relacionamento 1:1 ou 1:N) devido à razão de cardinalidade, por isso temos de criar uma tabela de relacionamento “S” separada. Complementando: ● já temos duas tabelas, uma para cada conjunto de entidades que participa do relacionamento; ● criar uma nova tabela contendo, como chaves estrangeiras, as chaves primárias dessas duas tabelas; ● a combinação dessas chaves estrangeiras forma a chave primária da nova tabela; ● incluir também, se houver, colunas com os atributos do relacionamento
40
Como é feito o mapeamento de atributos multivalorados no modelo lógico?
Para cada atributo multivalorado “A” na tabela “S”, crie uma tabela “T”. Essa tabela “T“ incluirá um atributo correspondente a “A”, mais o atributo da chave primária da tabela “S”. A chave primária de “T” é a combinação do atributo da chave primária da tabela “S” (esse atributo também será chave estrangeira) e o atributo “A”. Se o atributo multivalorado for composto, incluímos seus componentes simples. Para cada atributo multivalorado, criar uma tabela contendo: ● como chave estrangeira, a chave primária da tabela que possuía o atributo multivalorado mais o próprio atributo que era multivalorado; ● a nova chave primária também será uma chave estrangeira para a tabela que possuía o atributo; ● a chave primária da nova tabela é a combinação da chave estrangeira e do valor do atributo; ● se o atributo multivalorado for composto, incluímos seus componentes simples.
41
Como é feito o mapeamento de auto relacionamento no modelo lógico?
Para os auto relacionamentos 1:N, como existe um relacionamento entre a mesma entidade, deve se criar a chave estrangeira na própria tabela, no atributo que tem o relacionamento. Nesse caso, o atributo que terá a chave estrangeira não terá o mesmo nome da chave primária, pois não é possível repetir o nome do atributo. ex: FUNCIONARIO (matricula, nome_funcionario, matricula_gerente) sendo que o atributo matricula_gerente terá uma chave estrangeira para FUNCIONÁRIO.
41
Como é feito o mapeamento de Auto relacionamento N:N no modelo lógico?
Para os auto relacionamentos N:N, faremos da mesma forma que um relacionamento N:N tradicional, ou seja, criamos uma nova tabela para o relacionamento. Esta nova tabela terá, ao menos, duas colunas as quais serão, ao mesmo tempo,chave primária e chaves estrangeiras. Neste caso, as duas chaves estrangeiras estarão se referenciando à mesma tabela base. ex: DISCIPLINA (cod_disciplina, nome_disciplina, carga_horaria) PRE_REQUISITO (cod_disciplina,cod_disciplina_pre)
42
Como é feito o mapeamento de tipos de relacionamento n-ário (qualquer relacionamento maior que o binário) no modelo lógico?
● criar uma nova tabela contendo, como chaves estrangeiras, as chaves primárias das tabelas que representam os conjuntos de entidades participantes. ● normalmente, a combinação dessas chaves estrangeiras forma a chave primária da nova tabela, mas se a cardinalidade máxima de uma das entidades participantes for 1, então a chave estrangeira que referencia essa entidade não fará parte da chave primária da nova tabela. ------ Para cada tipo de relacionamento nário R, onde n > 2, crie uma tabela T para representar R. Inclua como atributos de chave estrangeira em T as chaves primárias das tabelas que representam as entidade participantes. Inclua, também, quaisquer atributos simples do tipo de relacionamento nário (ou componentes simples de atributos compostos) como atributos de T. A chave primária de T normalmente é uma combinação de todas as chaves estrangeiras que referenciam as tabelas representando as entidades participantes. Porém, se as restrições de cardinalidade sobre qualquer um dos tipos de entidade E participantes em R for 1, então a chave primária de T não deve incluir o atributo de chave estrangeira que referencia a relação E’ correspondente a E.
43
O que corresponde a entidade em um modelo lógico?
tabela
44
O que corresponde ao tipo de relacionamento 1:1 ou 1:N em um modelo lógico?
Chave estrangeira (ou tabela)
45
O que corresponde ao tipo de relacionamento N:N em um modelo lógico?
Nova Tabela (duas chaves estrangeira)
46
O que corresponde ao tipo de relacionamento n-ário em um modelo lógico?
Nova Tabela
47
O que corresponde a um atributo simples em um modelo lógico?
Atributo
48
O que corresponde a um atributo composto em um modelo lógico?
Conjunto de Atributos componentes simples
49
O que corresponde a um atributo multivalorado em um modelo lógico?
Tabela e Chave estrangeira
50
O que corresponde a um conjunto de valores em um modelo lógico?
Domínio
51
O que corresponde a um atributo-chave em um modelo lógico?
Chave-primária
52
Como é feito o Mapeamento da especialização / generalização no modelo lógico?
Opção 1 CLIENTE (cod_cliente, nome_cliente) FISICA (cod_cliente, cpf, sexo) JURIDICA(cod_cliente, cnpj, nome_fantasia) Opção 2 FISICA (cod_cliente, nome_cliente, cpf, sexo) JURIDICA (cod_cliente, nome_cliente, CNPJ,nome_fantasia) Opção 3 Criar uma única tabela, incluindo os atributos das 3 entidades. Nesse caso, os campos que eram das entidades especializadas deverão ser opcionais, ou seja, deverão aceitar valores nulos. Ao nal, teremos a única tabela, assim: CLIENTE (cod_cliente, nome_cliente, cpf, sexo, cnpj, nome_fantasia) Qual opção escolher? Cada uma das opções apresentadas traz vantagens e desvantagens.
53
Quais são os tipos de valores numéricos no modelo lógico?
podem ser tipos inteiros, de ponto-flutuante ou de ponto-fixo, ocupando de um a oito bytes por valor em disco, com exceção do tipo bit que armazena de zero a 64 bits por valor. São eles: BIT, TINYINT, SMALLINT, INT, MEDIUMINT e BIGINT. Tipos de numéricos de ponto-flutante FLOAT e DOUBLE que requem quatro e oito bytes, por valor, respectivamente, e de ponto-fixo DECIMAL, que requer quatro bytes aproximadamente para cada lado, precisão e escala.
54
Quais são os tipos de valores string no modelo lógico?
Podem ser binários ou não-binários, podendo ocupar espaços de tamanhos fixos ou variáveis. São eles: CHAR, VARCHAR, TEXT, BINARY, VARBINARY, BLOB, ENUM e SET. Não-binários: CHAR, VARCHAR e TEXT, este último que se divide em mais outros três, que são: TINYTEXT, MEDIUMTEXT e LONGTEXT. Binários: BINARY, VARBINARY e BLOB, este último que se divide em mais outros três, que são: TINYBLOB, MEDIUMBLOB e LONGBLOB.
55
Quais são os tipos de valores temporal no modelo lógico?
são tipos de dados utilizados normalmente para armazenar informações de data e hora, podendo ser somente a data ou a hora, de acordo com o contexto e pode ocupar de um a oito bytes por valor. São eles: DATE, TIME, DATETIME, TIMESTAMP e YEAR.
56
O que é o processo de normalização no modelo lógico?
Este processo baseia-se no conceito de forma normal. Uma forma normal é uma regra que deve ser obedecida por uma tabela para que esta seja considerada "bem projetada". Há diversas formas normais, isto é, diversas regras, cada vez mais rígidas, para verificar tabelas relacionais. Em nossa disciplina, vamos considerar três formas normais. As formas normais são denominadas simplesmente primeira, segunda e terceira forma normal, abreviadamente 1FN, 2FN e 3FN.
57
Qual é a Primeira Forma Normal (1FN) no processo de normalização no modelo lógico?
O primeiro passo da normalização consta da transformação do esquema de tabela não normalizada em um esquema relacional na primeira forma normal (1FN). Segundo Rob e Coronel (2011), uma tabela encontra-se na 1FN quando: ● todos os atributos de chave estão definidos; ● não há grupos de repetição na tabela. Em outras palavras, cada intersecção de linha/coluna contém um e somente um valor, não um conjunto de valores; ● todos os atributos são dependentes da chave primária.
58
Qual é a Segunda Forma Normal (2FN) no processo de normalização no modelo lógico?
Quando um atributo C não depende de todas as chaves estrangeiras, mas apenas uma, ou seja, errado. Segundo Rob e Coronel (2011), uma tabela encontra-se na 2FN quando: ● está em 1NF. e ● não inclui dependências parciais; ou seja, nenhum atributo é dependente apenas de uma parte da chave primária. Se a 2FN trata das dependências parciais de uma chave primária, se a chave primária for simples (formada apenas por um atributo) ela já estará na 2FN. Observe que ainda é possível uma tabela em 2NF apresentar dependência transitiva, ou seja, um ou mais atributos podem ser funcionalmente dependentes de atributos não relacionados à chave.
59
Qual é a Terceira Forma Normal (3FN) no processo de normalização no modelo lógico?
Segundo (Rob e Coronel, 2011), uma tabela encontra-se na 3FN quando: ● está em 2NF e ● não contém dependências transitivas. **quando um atributo C depende de um atributo B que não é chave
60
Quais são as divisões do SQL?
* DDL – Linguagem de Definição de Dados(Data Definition Language) * DML – Linguagem de Manipulação de Dados * DCL – Linguagem de Controle de Dados (autorização de dados e licença de usuários para controlar quem tem acesso aos dados). * DTL - Linguagem de Transação de Dados. * DQL – Linguagem de Consulta de Dados (Tem apenas um comando: SELECT).
61
Quais são as principais funcionalidades do SQL?
- Principais funcionalidades definição (DDL) e manipulação (DML) de dados - definição de visões e autorizações de acesso - definição de restrições de integridade -definição de transações -comandos para embutir em Linguagens de Programação
62
O que é a DDL no SQL?
* DDL é o conjunto de comandos SQL responsáveis pela definição dos dados, ou seja, pela criação de bancos, esquemas, tabelas, campos, tipos de dados, constraints, etc. * A SQL/DDL (Data Definition Language) permite ao usuário definir tabelas e elementos associados. * A SQL/DDL se caracteriza por poucos comandos básicos, embora implementações comerciais tenham várias extensões
63
Como criar uma tabela ou objeto no SQL?
comando CREATE
64
Como alterar uma tabela ou objeto no banco de dados?
comando ALTER
65
Como apagar uma tabela ou objeto no banco de dados?
comando DROP
66
Quais são os tipos de dados mais utilizados p usar no SQL?
* char(n) ou character(n) - Cadeia de caracteres de tamanho fixo n * varchar(n) ou character varying(n) - Cadeia de caracteres com tamanho máximo n * text - Cadeia de caracteres sem tamanho definido * int ou integer - Números inteiros (4 bytes) * numeric(precisão, escala) - Números reais sem limite de tamanho * date e time - Data e hora * datetime - Data + hora no mesmo campo * boolean - Valores booleanos
67
O que a restrição de integridade CHECK faz?
Devemos sempre dar nomes às restrições para que seja mais fácil identificar a razão pela qual a inserção de dados falha: Poderia ser assim: salario numeric(9,2) CHECK (salario > 0) Mas deve ser assim: salario numeric(9,2) CONSTRAINT salario_positivo CHECK (salario > 0)
68
O que a restrição de integridade NOT-NULL faz?
Para garantir que uma coluna não vai ter valores nulos podemos usar uma restrição do tipo NOT NULL
69
O que a restrição de integridade PRIMARY KEY faz?
Podemos definir uma, e só uma, chave primária para a tabela. Uma chave primária não pode conter valores nulos nem pode ter valores repetidos Uma chave primária pode ser composta por mais de uma coluna (campo). Nesse caso temos de usar obrigatoriamente uma restrição de tabela.
70
O que a restrição de integridade UNIQUE faz?
Chaves candidatas alternativas podem ser definidas usando restrições do tipo UNIQUE. Estas restrições são equivalentes às restrições de chave primária mas não obrigam os valores a ser não nulos No caso da restrição UNIQUE for com mais de uma coluna (campo), obrigatório o uso da restrição de tabela. Lembrar que a restrição UNIQUE cria um índice que terá um custo de manutenção para o SGBD.
71
O que a restrição de integridade FOREIGN KEY faz?
Uma restrição do tipo FOREIGN KEY permite declarar chaves estrangeiras. Uma chave estrangeira deve sempre referenciar uma chave primária ou única Podemos definir o que acontece quando uma chave estrangeira é violada durante uma operação de remoção ou alteração No exemplo, quando for apagado um departamento e caso exista(m) empregado(s) associados ao departamento que está sendo apagado, todos estes empregados também serão apagados.
72
Quais são as alternativas de ON DELETE e ON UPDATE de FOREIGN KEY?
* RESTRICT - Não deixa efetuar a operação * CASCADE - Apaga os registros associados (delete) ou altera a chave estrangeira (update). * SET NULL - A chave estrangeira passa a NULL * SET DEFAULT - A chave estrangeira passa a ter o valor padrão Se não for definido o funcionamento default é a restrição do tipo RESTRICT
73
O que é Valor DEFAULT?
Você pode definir um valor padrão que será colocado sempre quando houver uma inclusão na tabela e o valor da coluna não for especificado;
74
Como alterar uma tabela com o ALTER?
Depois de criada, uma tabela pode ser modificada. ALTER TABLE medico ADD COLUMN telefone char(10) NULL; ALTER TABLE medico ADD COLUMN cpf char(11) NULL; ALTER TABLE medico DROP COLUMN telefone; ALTER TABLE medico DROP COLUMN rg_medico; ALTER TABLE medico ADD COLUMN rg_medico char(10) NULL; ALTER TABLE medico ADD CONSTRAINT ck_medico_idade CHECK (idade_medico > 0); ALTER TABLE medico ADD CONSTRAINT un_medico_cpf UNIQUE (cpf); ALTER TABLE medico ADD CONSTRAINT fk_medico_ambulatorio FOREIGN KEY (cod_ambulatorio) REFERENCES ambulatorio(cod_ambulatorio); ALTER TABLE medico ALTER COLUMN especialidade SET NOT NULL; ALTER TABLE medico DROP CONSTRAINT un_medico_cpf; ALTER TABLE medico ALTER COLUMN especialidade DROP NOT NULL; ALTER TABLE medico ALTER COLUMN rg_medico SET DEFAULT 'SEM RG'; ALTER TABLE medico ALTER COLUMN rg_medico DROP DEFAULT; ALTER TABLE medico RENAME COLUMN cpf TO cpf_medico; ALTER TABLE medico RENAME TO medicos; ALTER TABLE ambulatorio ADD COLUMN nome_ambulatorio VARCHAR(30) NULL; ALTER TABLE medicos DROP CONSTRAINT pk_medico; ALTER TABLE ambulatorio DROP COLUMN nome_ambulatorio;
75
O que são DOMAINS?
Os domains são tipos de dados definidos pelo utilizador de forma a padronizar e evitar repetições. Um DOMAIN pode conter um valor default, restrições do tipo NOT NULL e CHECK.
76
O que são Indices?
Os índices são utilizados, principalmente, para melhorar o desempenho do banco de dados (embora a utilização não apropriada possa resultar em uma degradação de desempenho); Definidos sobre atributos para acelerar o acesso físico a dados; São definidos automaticamente índices para atributos chave pri(pk, unique); Para criar um índice * CREATE [UNIQUE] INDEX nome_índice ON nome_tabela (nome_atributo_1[{, nome_atributo_n }]); Para apagar um índice * DROP INDEX nome_ín