E o que é afinal um banco de dados? Não tem nada a ver com a imagem abaixo ... Na verdade, um Banco de Dados (em inglês Data Base) é uma coleção organizada de qualquer tipo de dados relacionados que criam uma informação, dando mais eficiência a uma pesquisa ou estudo. Em outras palavras, o objetivo principal de um banco de dados é armazenar um grande volume de informação e que estas informações possam ser acessadas a qualquer hora e por vários usuários simultaneamente, estando disponíveis sempre que necessários. É a peça chave da grande maioria de sistemas e softwares que conhecemos.
Banco de Dados - Não tem nada a ver com isso |
BD Mysql da Oracle |
Existem hoje no mercado vários softwares de banco de dados, sendo os mais conhecidos o MySQL da Oracle, o PostgreSQL, o SQLServer da Microsoft e o Firebird, que embora seja novo no mercado, está tendo uma boa aceitação. É claro que existem vários outros, inclusive aquele que aprendemos no curso de informática (figurinha carimbada né) o Accsess, que vem junto no pacote Office da Microsoft. No entanto, vale lembrar que o Accsess, embora seja um banco de dados, não oferece uma infraestrutura robusta necessária para uma página Web ou software, assim, ninguém o usa nestes casos.
O PostgreSQL é Código Aberto |
Pois bem, apesar da idéia inicial, o SQL não ficou só na consulta. Atualmente, a linguagem é dividida em conjuntos, cada um específico para uma atuação no banco. São elas:
- Comandos DML (Data Manipulation Language ou Linguagem de Manipulação de Dados): Conjuntos de comandos responsáveis pela manipulação de dados armazenados: criação, alteração, e deleção da estrutura de dados já armazenados no sistema. Os comandos deste conjunto são INSERT, UPDATE e DELETE.
- Comandos DQL (Data Query Language ou Linguagem de Consulta de Dados): Conjuntos de comandos para a consulta de dados do banco. Embora tenha apenas um comando, é o mais utilizado da linguagem. Trata-se do comando SELECT.
- Comandos DDL (Data Definition Language ou Linguagem de Definição de Dados): esta parte é responsável pela criação, alteração e deleção de estruturas das tabelas e índices do sistema. Os comandos são: CREATE e DROP. Alguns bancos aceitam também a opção ALTER, onde o usuário pode alterar um objeto. Além disso, existem os seguintes comandos: CREATE TABLE, CREATE INDEX, CREATE VIEW, ALTER TABLE, ALTER INDEX, DROP INDEX, DROP VIEW. (com um curso básico de inglês já dá para ter uma idéia da serventia destes comandos ...)
- Comandos DCL (Data Control Language ou Linguagem de Controle de Dados): Responsável pela criação dos usuários e definição das permissões de cada um no banco de dados. Os dois comandos deste conjunto: GRANT e REVOKE.
- Comandos DTL (Data Tranaction Language ou Linguagem de Transação de Dados): inicializa e finaliza as transações de banco de dados. Os comandos são: BEGIN WORK, COMMIT e ROLLBACK.
Aparecendo no mercado: Firebird |
Mas, para ter uma idéia de como se cria um banco de dados, vamos para um pequenos exemplo:
CREATE DATABASE Curso_ASistema
CREATE TABLE
`alunos` (
`IDAluno`
INT(11) NOT NULL AUTO_INCREMENT,
`Nome` VARCHAR
(60) COLLATE utf8mb4_bin NOT NULL,
`Email` VARCHAR
(60) COLLATE utf8mb4_bin NOT NULL,
`SituacaoAluno`
VARCHAR (15) COLLATE utf8mb4_bin NOT NULL,
`DataNascimento`
DATE NOT NULL,
`TelefoneResidencial` VARCHAR (10) COLLATE utf8mb4_bin DEFAULT NULL,
`TelefoneCelular`
VARCHAR (10) COLLATE utf8mb4_bin DEFAULT NULL,
PRIMARY KEY
(`IDAluno`)
) ;
SQLServer - da Microsoft |
Meu chegado, quanta coisa ... E realmente, como eu disse, isso aqui é um resumo do resumo do resumo de Banco de Dados. Tanto que nas empresas tem uma figurinha importante que merece nosso respeito: o DBA ou Database Administrator ou Administrador de Banco de Dados.Ele é responsável pelo gerenciamento de vários bancos de dados, dos mais variados sistemas. E digo por experiência própria: esquecer um WHERE no comando do SQL complica o banco todo ... ( em um sistema eu dei o comando para alterar apenas um usuário e esqueci do tal WHERE ... mudou todo o banco ...)
Antes de encerrar este post, vale lembrar dos SGBD's ou Sistemas Gerenciadores de Banco de Dados. A criação e gerenciamento dos bancos podem ser feitos com estes programas, que facilitam o trabalho do DBA, embora, na hora da programação, tem de ser usado o SQL.