https://goo.gl/forms/wvvwMzniHtedIa6u2
O grande objetivo de um sistema de banco de dados é prover aos usuários uma visão abstrata dos dados. Isto é, o sistema omite certos detalhes de como os dados são armazenados e mantidos. Entretanto, para que o sistema possa ser utilizado, os dados devem ser buscados de forma eficiente.
Nível Interno ou físico: o nível mais baixo de abstração descreve como os dados estão realmente armazenados. Neste nível se desenham os arquivos que contém a informação, a localização dos mesmos e sua organização, ou seja, criam-se os arquivos de configuração.
Sistema Gerenciados de Banco de Dados como um o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma base de dados. Seu principal objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, a manipulação e a organização dos dados.
O SGBD disponibiliza uma interface para que seus
usuários possam incluir, alterar ou consultar dados previamente armazenados. O SGBD então é responsável por manipular os dados contidos no banco de dados.
rollback e retorna ao seu estado consistente anterior, caso todas a transação aconteça é executado o commit;
Isolamento: A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.
Durabilidade: A propriedade de durabilidade garante que o que foi salvo, não será mais perdido.
armazenada em mais de um lugar pode acontecer de você atualizar em um lugar e esquecer-se de atualizar no outro, ficando o banco de dados inconsistente.
Controle de Acesso - O SGDB tem mecanismos para criação de regras de segurança, que vão desde a definição de login e senha para os usuários, até a permissão de acesso ao SGBD e acesso aos dados
armazenados. É possível definir por exemplo que um usuário tem permissão somente para leitura de dados, e um outro usuário tenha permissão para criar base de dados e manipulá-la, mas não pode criar novos usuários ou fazer backup.
| PERGUNTAS | RESPOSTAS |
|---|---|
| Sobre que objetos ou coisas precisamos guardar Informação? | Sim, temos que guardas as informações de todos os pedidos. |
| Há mais de um objeto deste tipo? | Sim, existem diversos pedidos e não apenas um. |
| Existe uma chave capaz de identificar cada um dos objetos unicamente? | Sim, cada pedido realizado possui um número único para controle de pedidos. |
O grau de um relacionamento indica quantas entidades estão envolvidas em um relacionamento.
É aquele em que duas entidades estão ligadas por um relacionamento.
É quando existem três entidades envolvidas em um relacionamento. Digamos que queremos acrescentar na nossa modelagem que um professor leciona uma disciplina para uma turma.
Teríamos então que associar mais uma entidade ao relacionamento leciona. Ficaríamos então com um relacionamento ternário.
Data Definition Language - são usadas para definir a estrutura de banco de dados ou esquema. Alguns exemplos:
CREATE- para criar objetos no banco de dados
ALTER – altera a estrutura da base de dados
TRUNCATE – remover todos os registros de uma tabela, incluindo todos os espaços alocados para os registros são removidos
COMMENT – adicionar comentários ao dicionário de dados
RENAME – para renomear um objeto
Data Manipulation Language - são utilizados para o gerenciamento de dados dentro de objetos do banco. Alguns exemplos:
INSERT – inserir dados em uma tabela
UPDATE – atualiza os dados existentes em uma tabela
DELETE – exclui registros de uma tabela,
CALL – chamar um subprograma PL / SQL
EXPLAIN PLAN – explicar o caminho de acesso aos dados
LOCK TABLE – controle de concorrência
Data Query Language - Ultilizado nas consultas dos dados:
SELECT- recuperar dados do banco de dados.
Data Control Language - Conjunto de comandos utilizados para controlar o nível de acesso de usuários. Alguns exemplos:
GRANT – atribui privilégios de acesso do usuário a objetos do banco de dados
REVOKE – remove os privilégios de acesso aos objetos obtidos com o comando GRANT
TCL – Transaction Control Language – (Controle de Transações) são usados para gerenciar as mudanças feitas por instruções DML . Ele permite que as declarações a serem agrupadas em transações lógicas .
COMMIT – salvar o trabalho feito
SAVEPOINT – identificar um ponto em uma transação para que mais tarde você pode efetuar um ROLLBACK
ROLLBACK – restaurar banco de dados ao original desde o último COMMIT
|
Char |
Este tipo de dados armazena uma string de tamanho fixo, com espaços à direita. O tamanho varia de 1 a 255 caracteres. Na consulta, o MySQL ignora os espaços que não foram ocupados. |
|
Varchar |
Armazena uma string de tamanho variável, com tamanho mínimo de 1 caracter e máximo de 255. |
| Tinyblob, Blob, Mediumblob, Longblob | Estes tipos de campo armazenam dados no formato binário. |
| String |
|---|
| Date | Este tipo de dados pode armazenar uma data no formato AAAA-MM-DD |
| Datetime | Pode armazenar uma data no formato AAAA-MM-DD e uma hora no formato HH:MM:SS |
|
Timestamp |
Temos a possibilidade de inserir automaticamente a data/hora atual. Para que isso acontece, basta que ao campo não seja atribuído nenhum valor no momento de inserção do registo. |
| Time | Armazena um valor horário, no formato HH:MM:SS. |
| Year | Armazena um numero anual de dois ou quatro dígitos |
| Data/Hora |
|---|
|
Int |
Tipo de dados que pode variar de -2147483648 a 2147483647 e de 0 a 4294967295, caso o parâmetro UNSIGNED seja utilizado. |
|
Float |
Armazena um número do tipo ponto flutuante de precisão simples. Varia de -3.402823466E+38 a -1.175494351E-38, 0, e 1.175494351E-38 a 3.402823466E+38 |
|
Double |
Armazena um número do tipo ponto flutuante de precisão dupla. |
| Decimal | Tipo de dados que se comporta como o do tipo CHAR, ou seja, cada dígito ocupa 1 byte. |
| Numéricos |
|---|
O termo NoSQL foi primeiramente utilizado em 1998 como o nome de um banco de dados não relacional de código aberto.
Seu autor, Carlo Strozzi, alega que o movimento NoSQL "é completamente distinto do modelo relacional e portanto deveria ser mais apropriadamente chamado "NoREL" ou algo que produzisse o mesmo efeito".
Não possui tabelas, possui conjuntos de dados chamados collections, que, ao contrário de tabelas, não têm constraints (chave primária, chave estrangeira) e nem transações, além de não ter as limitações de uma tabela relacional. Dentro de uma coluna, você pode ter um array, uma lista de valores, algo impossível em uma tabela convencional.
Os bancos de dados NoSQL são ideais para muitos aplicativos de big data, mobilidade e web, que exigem maior escala e capacidade de resposta que as oferecidas pelos bancos de dados relacionais tradicionais. Com estruturas de dados mais simples e escalabilidade horizontal, os bancos de dados NoSQL respondem geralmente com maior velocidade e podem ser escalados com maior facilidade que os bancos de dados relacionais.
Com o crescimento de serviços no começo do século, o tráfego de informações também aumentou, e foi preciso criar uma forma simples de enviar informação de um servidor para um web browser, sem a necessidade de nenhum plugin para funcionar (como Flash).
Por esse motivo, Douglas Crockford identificou uma prática usada desde 1996 pela Netscape como a solução desse problema. Ele criou uma especi-
ficação para ela e batizou-a como Notação de Objetos JavaScript (JavaScript Object Notation), ou simplesmente JSON.
db.collection.insert(json);
db.professores.insert({nome: ‘Daniel’, idade:35, disciplinas:[‘Iniciação à Programacao’, ‘Introdução à Banco de dados’], sexo: ‘m’});
db.professores.find()
db.professores.find({nome: ‘Jean’})
db.professores.find({nome: ‘Daniel’, idade:35})
db.professores.find({idade: {$gt:30}})