Na segunda parte vamos mostrar como criá-la e incluir registros utilizando comandos sql.
Veja a tabela "tb_paciente" exibida na imagem abaixo:
Ao observar a figura concluímos que:
- as colunas estão dispostas verticalmente (em pé). Neste exemplo temos 6 colunas, cada coluna possui um nome. Os nomes das colunas são:
- prontuario: número do prontuário do paciente;
- nome: nome do paciente;
- data_nasc: data de nascimento do paciente;
- sexo: sexo do paciente;
- peso: peso do paciente;
- proc_cirurgico: indica se o paciente já passou ou não por um procedimento cirúrgico
- cada linha, disposta horizontalmente (deitada), contém um registro (conjunto de dados), nesta tabela temos 3 registros;
- data: 15/01/2014, 01/02/2014
- um número inteiro: 1, 2, 3
- um número decimal: 40.4, 70.8, 85,7;
- caracteter: caracteres alfanuméricos, ou seja, letras (a-z A-Z) e números (0-9). Também armazena símbolos, por exemplo ,"!@$*&";
TIPOS DE DADOS NUMÉRICOS | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nome | Espaço ocupado | Descrição | Intervalo | ||||||||||||||||||||||
smallint | 2 bytes | Armazena números inteiros: o intervalo é pequeno. Estes números seriam aceitos em um campo do tipo smallint: -30000, -500, 0, 7, 800 e 31000. Estes números não seriam aceitos em um campo do tipo smallint: -40000, -36000, 32800 e 39500. Pois estão fora do intervalo. | De -32768 Até +32767 | ||||||||||||||||||||||
integer | 4 bytes | Armazena números inteiros: o intervalo é médio. Abrange a maioria das necessidades do cotidiano. Estes números seriam aceitos em um campo do tipo integer: -120341, 95000, 0, 70000, 800000 e 319425. Estes números não seriam aceitos em um campo do tipo integer: -4147483643 e 5147483646. Pois estão fora do intervalo. | De -2147483648 Até +2147483647 | ||||||||||||||||||||||
bigint | 8 bytes | Armazena números inteiros: o intervalo é grande. Estes números seriam aceitos em um campo do tipo bigint: -738526341, -4511956147, 0, 2473971242 e 1236843121. Estes números não seriam aceitos em um campo do tipo bigint: -9453372036854775864 e 9853372036854775935. Pois estão fora do intervalo. | De -9223372036854775808 Até +9223372036854775807 | ||||||||||||||||||||||
numeric | variável | As casas decimais são separadas por ponto. Utiliza-se numeric quando é necessário gravar o valor exato. Sintaxe numeric(x, y)
numeric(5, 3) Aceita no máximo 5 dígitos: 2 dígitos para inteiro e 3 para decimal.
Se o número tiver menos de 3 casas decimais, as casas serão completadas com zero. Se o número tiver mais de 3 casa decimais, o números será arredondado até 3 casas decimais. Se o número tiver mais de 2 dígitos inteiros haverá um erro: "estouro de campo". | Armazena até 131072 digítos antes do ponto e 16383 digitos depois do ponto. | ||||||||||||||||||||||
decimal | variável | É equivalente ao tipo numeric. As casas decimais são separadas por ponto. Sintaxe decimal(x, y)
decimal(5, 3) Aceita no máximo 5 dígitos: 2 dígitos para inteiro e 3 para decimal.
Se o número tiver menos de 3 casas decimais, as casas serão completadas com zero. Se o número tiver mais de 3 casa decimais, o números será arredondado até 3 casas decimais. Se o número tiver mais de 2 dígitos inteiros haverá um erro: "estouro de campo". | Armazena até 131072 digítos antes do ponto e 16383 digitos depois do ponto. | ||||||||||||||||||||||
real | 4 bytes | As casas decimais são separadas por ponto. Utiliza-se real quando não é necessário gravar o valor exato. Exemplo:
| Armazena até 6 casas decimais. | ||||||||||||||||||||||
double precision | 8 bytes | As casas decimais são separadas por ponto. Utiliza-se double precision quando não é necessário gravar o valor exato. Exemplo:
| Armazena até 15 casas decimais. | ||||||||||||||||||||||
serial | 4 bytes | Autoincremento inteiro. Seqüência crescente e automática: 1, 2, 3, ... Esse intervalo atende a maioria das necessidades. Exemplo:
Se precisássemos incluir uma nova aluna chamada Maria na tabela, o número da matrícula seria 4, pois é o próximo número da seqüência. Esse número será gerado automaticamente.
| De 1 Até 2147483647 | ||||||||||||||||||||||
smallserial | 2 bytes | Autoincremento inteiro. Seqüência crescente e automática: 1, 2, 3, ... Este intervalo é pequeno. Este tipo surgiu na versão 9.2 do PostgreSql, logo funcionará nesta versão ou em versão superiores. Exemplo:
Se precisássemos incluir uma nova aluna chamada Maria na tabela, o número da matrícula seria 4, pois é o próximo número da seqüência. Esse número será gerado automaticamente.
| De 1 Até 32767 | ||||||||||||||||||||||
bigserial | 8 bytes | Autoincremento inteiro. Seqüência crescente e automática: 1, 2, 3, ... Este intervalo é grande. Exemplo:
Se precisássemos incluir uma nova aluna chamada Maria na tabela, o número da matrícula seria 4, pois é o próximo número da seqüência. Esse número será gerado automaticamente.
| De 1 Até 9223372036854775807 |
TIPOS DE DADOS CARACTERE | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Nome | Descrição | |||||||||||
character varying(n) ou varchar(n) | varchar é uma alias(apelido) para character varying. Armazena caracteres alfanuméricos, ou seja, letras (a-z A-Z) e números (0-9). Também armazena símbolos, por exemplo ,"!@$*&". Lembrando que espaço em branco é considerado caracter. n indica a quantidade máxima de caracteres que o campo irá armazenar. Exemplo: A tabela abaixo possui uma coluna chamada "descricao" do tipo character varying(5).
Se tentarmos incluir a string "abcdef" ocorrerá um erro: "valor é muito longo para tipo character varying(5)", isso acontece porque o tamanho da string "abcdef" é 6, ou seja, o tamanho da string é maior que o tamanho permitido 5. Podemos declarar, o character varying sem o n. O campo não terá mais um limite máximo de caracteres, porém poderá armazenar no máximo 1 GB de dados.
| |||||||||||
character(n) ou char(n) | char é uma alias(apelido) para character. Armazena caracteres alfanuméricos, ou seja, letras (a-z A-Z) e números (0-9). Também armazena símbolos, por exemplo ,"!@$*&". Lembrando que espaço em branco é considerado caracter. n indica uma quantidade fixa de caracteres que o campo irá armazenar. Caso a string armazenada seja menor que o tamanho do campo, a string será completada com espaço em branco. Exemplo: A tabela abaixo possui uma coluna chamada "descricao" do tipo character(3).
A string "a" tem 1 caracter e será completada com 2 espaços em branco para manter o valor fixo de 3 caracteres. A string "ab" tem 2 caracteres e será completada com 1 espaço em branco para manter o valor fixo de 3 caracteres. Se tentarmos incluir a string "abcdef" ocorrerá um erro: "valor é muito longo para tipo character (3)", isso acontece porque o tamanho da string "abcdef" é 6, ou seja, o tamanho da string é maior que o tamanho permitido 3. Devido ao preenchimento com espaços em branco, este tipo de dado é indicado para armazenar strings com valores fixos. Exemplo: armazenar as siglas dos estados brasileiros.
Podemos declarar, o character sem o n. O campo terá o limite máximo de 1 caracter.
| |||||||||||
text | O campo não tem um limite máximo de caracteres, porém poderá armazenar no máximo 1 GB de dados. |
TIPOS DE DADOS DATA E HORA | ||||
---|---|---|---|---|
Nome | Espaço ocupado | Descrição | ||
date | 4 bytes | Armazena a data.
| ||
time with time zone | 12 bytes | Armazena a hora com o fuso horário (time zone). -03 é o fuso do Brasil (horário de Brasília) Exemplo:
| ||
time without time zone ou time | 8 bytes | Armazena a hora sem fuso horário (time zone). Exemplo:
| ||
timestamp with time zone | 8 bytes | Armazena a data, hora e o fuso horário (time zone). -03 é o fuso do Brasil (horário de Brasília) Exemplo:
| ||
timestamp without time zone ou timestamp | 8 bytes | Armazena a data e a hora. Não armazena o fuso horário (time zone). Exemplo:
| ||
interval | 12 bytes | Armazena um intervalo de tempo. O intervalo pode ser, por exemplo, 1 ano (1 year), 1 dia (1 day), 1 hora (1 hour), 1 minuto (1 minute), entre outros. Exemplo:
|
TIPO BOOLEANO | ||||
---|---|---|---|---|
Nome | Espaço ocupado | Descrição | ||
boolean | 1 byte | O tipo boolean possui os seguintes estados:
Exemplo:
|
Valor nulo
O valor nulo é representado pela identificação null. Significa que nenhum valor foi inserido, em outras palavras, significa ausência de valor. O valor null pode ser utilizado com qualquer tipo de dado.Leia o artigo:
Postgresql - Criar tabela segunda parte
PostgreSql - Criar um banco de dados parte I
PostgreSql - Criar um banco de dados parte II
PostgreSql - Criar um banco de dados parte III
Nenhum comentário:
Postar um comentário