Etiqueta: visualeditor |
|||
| (2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 24: | Linha 24: | ||
*Firebird | *Firebird | ||
*PostgreSQL | *PostgreSQL | ||
= Código = | = Código = | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="sql"> | ||
CREATE TABLE `canteiro` ( | |||
`canteiroid` INTEGER(11) NOT NULL AUTO_INCREMENT, | |||
`nome` CHAR(20) COLLATE DEFAULT NULL, | |||
`luzdiaria` INTEGER(2) DEFAULT NULL, | |||
`agua` INTEGER(3) DEFAULT NULL, | |||
PRIMARY KEY (`canteiroid`), | |||
UNIQUE KEY `canteiroid` (`canteiroid`) | |||
) | |||
CREATE TABLE `funcionario` ( | |||
`funcid` INTEGER(11) NOT NULL AUTO_INCREMENT, | |||
`nome` CHAR(80) COLLATE NOT NULL DEFAULT '', | |||
`idade` INTEGER(2) UNSIGNED DEFAULT NULL, | |||
PRIMARY KEY (`funcid`), | |||
UNIQUE KEY `funcid` (`funcid`) | |||
) | |||
CREATE TABLE `planta` ( | |||
`ID` INTEGER(11) NOT NULL AUTO_INCREMENT, | |||
`nome` CHAR(20) COLLATE NOT NULL DEFAULT '', | |||
`luzdiaria` INTEGER(2) DEFAULT NULL, | |||
`agura` INTEGER(2) DEFAULT NULL, | |||
`peso` INTEGER(2) DEFAULT NULL, | |||
PRIMARY KEY (`ID`), | |||
UNIQUE KEY `ID` (`ID`) | |||
) | |||
CREATE TABLE `plantio` ( | |||
`plantioID` INTEGER(11) NOT NULL AUTO_INCREMENT, | |||
`plantaID` INTEGER(11) NOT NULL, | |||
`funcID` INTEGER(11) NOT NULL , | |||
`canteiroID` INTEGER(11) NOT NULL, | |||
`Data` DATE DEFAULT NULL, | |||
`sementes` INTEGER(4) DEFAULT 0 NOT NULL, | |||
PRIMARY KEY (`plantioID`), | |||
FOREIGN KEY(`plantaID`) REFERENCES planta(ID), | |||
FOREIGN KEY(`funcID`) REFERENCES funcionario(funcID), | |||
FOREIGN KEY(`plantaID`) REFERENCES canteiro(canteiroID), | |||
UNIQUE KEY `ID` (`plantioID`) | |||
) | |||
CREATE TABLE `colhido` ( | |||
`colhidoID` INTEGER(11) NOT NULL AUTO_INCREMENT, | |||
`plantaID` INTEGER(11) NOT NULL, | |||
`funcID` INTEGER(11) NOT NULL , | |||
`canteiroID` INTEGER(11) NOT NULL, | |||
`Data` DATE DEFAULT NULL, | |||
`quantidade` INTEGER(4) DEFAULT 0 NOT NULL, | |||
`peso` DOUBLE(4,3) DEFAULT 0 NOT NULL, | |||
PRIMARY KEY (`colhidoID`), | |||
FOREIGN KEY(`plantaID`) REFERENCES planta(ID), | |||
FOREIGN KEY(`funcID`) REFERENCES funcionario(funcID), | |||
FOREIGN KEY(`plantaID`) REFERENCES canteiro(canteiroID), | |||
UNIQUE KEY `ID` (`colhidoID`) | |||
) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
= Diagrama de Casos de Uso = | = Diagrama de Casos de Uso = | ||
[[Arquivo:Diagrama-bd.jpeg]] | [[Arquivo:Diagrama-bd.jpeg]] | ||
Criando um diagrama para um banco de dados | Criando um diagrama para criar um banco de dados para uma plantação. | ||
= Interações com as tecnologias = | = Interações com as tecnologias = | ||
| Linha 148: | Linha 98: | ||
= Informações adicionais = | = Informações adicionais = | ||
Ranking de sistemas de bancos de dados mais usados em 2015/2016: | |||
[[Arquivo:Tabela sgbd.jpg]] | [[Arquivo:Tabela sgbd.jpg]] | ||
= Referências bibliográficas = | = Referências bibliográficas = | ||
Edição atual tal como às 12h05min de 18 de outubro de 2017
Conceito
Surge em 1974 e foi desenvolvida nos laboratórios da IBM como interface para o SGBDR (Sistema Gerenciador de Banco de Dados Relacional).
Antes de entender o conceito de SQL é necessário compreender o que é um banco de dados,que é um agrupado de registros que podem ser sobre: pessoas, lugares entre outras coisas. Registros que são organizados para gerar algum tipo de informação.
- SQL é uma abreviatura de “Structured Query Language” (Linguagem de Consulta Estruturada) uma linguagem padrão de gerenciamento de dados que interage com os principais bancos de dados baseados no modelo relacional.
- SQL é uma linguagem de consulta, onde se dá comandos para o ambiente de banco de dados e se têm o retorno de uma “Query” (solicitação/resposta).
- SQL não é bem uma linguagem de programação, é uma linguagem feita exclusivamente para criar tabelas, manipular os dados das tabelas e principalmente consultar esses dados. É através da SQL que os programas interagem com bancos de dados relacionais, basicamente todas as linguagens de programação tem bibliotecas para acessar esses bancos de dados relacionais, portanto não importa se usa JAVA, PHP ou CSharp, sempre pode se usar a SQL para integrar um programa a um banco de dados.“Structured Query Language”.
- SQL é basicamente dividido em quatro linguagens:
- DML - Linguagem de Manipulação de Dados: pega as informações das tabelas e as altera, insere ou exclui (são os três comandos padrões da SQL que são INSERT, DELETE e UPDATE.
- DDL - Linguagem de Definição de Dados: seria as funções CREATE, DROP ou ALTER, altera as estruturas das tabelas.
- DCL - Linguagem de Controle de Dados: define as regras de controles de acessos dentro do banco de dados,concede acessos a usuários para alterar uma tabela, selecionar dados entre outras coisas.
- DTL - Linguagem de Transação de Dados: controla as transações ou pontos de partidas. quando se quer alterar alguma uma tabela no SGBDR, é preciso confirmar a ação antes de alterar o banco de dados.
Softwares
Para armazenar as informações de um banco de dados é necessário algum software para gerenciar o banco de dados (SGBDs), os principais softwares gerenciadores pagos que armazenam grandes quantidades de dados são:
- ORACLE
- SQL server (microsoft)
- IBM
Também há soluções de SGBDs gratuitas como:
- MySQL
- MariaDB
- Firebird
- PostgreSQL
Código
<syntaxhighlight lang="sql"> CREATE TABLE `canteiro` ( `canteiroid` INTEGER(11) NOT NULL AUTO_INCREMENT, `nome` CHAR(20) COLLATE DEFAULT NULL, `luzdiaria` INTEGER(2) DEFAULT NULL, `agua` INTEGER(3) DEFAULT NULL, PRIMARY KEY (`canteiroid`), UNIQUE KEY `canteiroid` (`canteiroid`) )
CREATE TABLE `funcionario` ( `funcid` INTEGER(11) NOT NULL AUTO_INCREMENT, `nome` CHAR(80) COLLATE NOT NULL DEFAULT , `idade` INTEGER(2) UNSIGNED DEFAULT NULL, PRIMARY KEY (`funcid`), UNIQUE KEY `funcid` (`funcid`) )
CREATE TABLE `planta` ( `ID` INTEGER(11) NOT NULL AUTO_INCREMENT, `nome` CHAR(20) COLLATE NOT NULL DEFAULT , `luzdiaria` INTEGER(2) DEFAULT NULL, `agura` INTEGER(2) DEFAULT NULL, `peso` INTEGER(2) DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `ID` (`ID`) )
CREATE TABLE `plantio` ( `plantioID` INTEGER(11) NOT NULL AUTO_INCREMENT, `plantaID` INTEGER(11) NOT NULL, `funcID` INTEGER(11) NOT NULL , `canteiroID` INTEGER(11) NOT NULL, `Data` DATE DEFAULT NULL, `sementes` INTEGER(4) DEFAULT 0 NOT NULL, PRIMARY KEY (`plantioID`), FOREIGN KEY(`plantaID`) REFERENCES planta(ID), FOREIGN KEY(`funcID`) REFERENCES funcionario(funcID), FOREIGN KEY(`plantaID`) REFERENCES canteiro(canteiroID), UNIQUE KEY `ID` (`plantioID`) )
CREATE TABLE `colhido` (
`colhidoID` INTEGER(11) NOT NULL AUTO_INCREMENT,
`plantaID` INTEGER(11) NOT NULL,
`funcID` INTEGER(11) NOT NULL ,
`canteiroID` INTEGER(11) NOT NULL,
`Data` DATE DEFAULT NULL,
`quantidade` INTEGER(4) DEFAULT 0 NOT NULL,
`peso` DOUBLE(4,3) DEFAULT 0 NOT NULL,
PRIMARY KEY (`colhidoID`),
FOREIGN KEY(`plantaID`) REFERENCES planta(ID),
FOREIGN KEY(`funcID`) REFERENCES funcionario(funcID),
FOREIGN KEY(`plantaID`) REFERENCES canteiro(canteiroID),
UNIQUE KEY `ID` (`colhidoID`)
)
</syntaxhighlight>
Diagrama de Casos de Uso
Criando um diagrama para criar um banco de dados para uma plantação.
Interações com as tecnologias
Informações adicionais
Ranking de sistemas de bancos de dados mais usados em 2015/2016:
Referências bibliográficas
http://download.dominiosistemas.com.br/manuais/Introdu%E7%E3o%20a%20SQL.pdf
http://www.csiits.com/home/PDF/ApostilaSQL2.pdf
http://www.devmedia.com.br/principais-instrucoes-em-sql/37262

