POSTGRESQL

 

CRIAÇÃO DE TABELAS

 

Imagine que você é professor de matemàtica de uma instituição de ensino e deseja guardar informações de seus estudantes, as informações a serem armazenadas são : o nome, matricula e media do aluno na disciplina. Para essa tarefa é contratada uma equipe de TI, para realizar a implementaõão deste sistema de gerência de alunos. São passadas as seguinte informaõões para a equipe, o aluno deve ser identificado pela matricula que é unica para cada aluno, o nome não deve passar de 50 caracteres, nota deve ser um numero real, e todos esse dados devem ser obrigatorios para serem armazenados.

Partindo dessas informações, a equipe de TI começa a realização da estrutura que ira armazenar os dados, para isso eles criam uma tabela com as respectivas informações que irà guardar os dados dos alunos, a equipe desenvolvimento optou por utilizar o banco de dados postegresql.

A criação da tabela que irá guardar os dados refenrentes a alunos da turma ficou da seguinte forma


-- Script para criação da tabela
  create table aluno(

      matricula int primary key not null,
      nome char(50) not null,
      media real not null

   );



O resultado no pgadmin sera esse :




Para a criação de tabelas no postegresql usa-se o comando create table "nome_tabela" , seguido de uma (, indicando quais serão os atributos da tabela, para o dado exemplo os atributos foram matricula, nome e media do aluno, que são os dados que serão armazenados.

Para cada atributo da tabela é necessario especificar de que tipo aquele dado será, para o exemplo anterior foram utilizados os seguintes tipo de Dados int, char e real. abaixo será apresentado em detalhes cada um desses destes tipo e alguns outros que são suportados pelo postegresql.

  • int
  • Tipo de dado utilizado para descrever valores inteiros sem casas decimais, no banco postegresql o tipo integer é capaz de armazenar valores inteiros de no maximo 4 bytes mais o seu sinal de magnitude. Observação: Caso seja necessario armazenar valores maiores do que 4 bytes pode ser utilizado bigint que será capaz de armazenar valores de até 8 bytes caso os valores armazenados não sejam substancialmente grandes pode-se utilizar smallint que armazena valores de até 2 bytes.
  • char
  • Tipo de dado geralmente utilizado para armazenar valores textuais, para esse tipo de dado é necessario descrever a quantidade de caracteres maximos que serão permitidos por registro. Observação: tanto char quanto character no postegresql correspondem ao mesmo tipo de dado.
  • real
  • Tipo de dados para armazenar valores com ponto flutuante de precisão simples. Observaç ão : O tipo real também pode ser utilizado como float4, ambos representam o mesmo tipo de dado.
  • double
  • Tipo de dado utilizado para representar valores com precisão dupla.
  • time
  • Tipo de dado utilizado para indicar o horario do dia.
  • timestamp
  • O timestamp diferente do time é utilizado para indicar tanto a data quando o horario do dia.
  • date
  • Tipo de dado utilizado para indicar data segundo o padrão americano(ano, mês, dia)
  • boolean
  • Tipo utilizado para representar apenas os valores verdadeiro e falso. Observação : no postegresql boolean e bool representam o mesmo tipo de dado.

Ainda para criação de tabelas podem ser necessarios realizar algumas restrições quanto aos atributos das tabela, tais como não ser permitido o armazenamento de atributos nulos, criaç ão de atributos identificados da tabela(chaves primarias) e atributos de referencia a outras tabelas(chaves estrangeiras) No exemplo acima para a criação da tabela, apareceram as seguintes comandos primary key, not null.

  • primary key
  • indica qual será a chave primaria da tabela, o valor da chave primaria não será repetido dentro da tabela sendo um valor unico para cada registro.
  • not null
  • Para armazenar atributo que é acompanhado de not null, indica que necessariamente é obrigatorio indicar um valor para esse atributo não sendo permitido campos nulos
  • Foreing key
  • Indica o valor da chave primaria da tabela a qual será feita uma referencia exemplo: No exemplo imagine que exista mais uma tabela, a tabela disciplina e nela será armazenado o nome da disciplina e o nome do professor que ministra, alem de um identificador para cada disciplina.



    -- Script para criação da tabela

    create table disciplina(

                  idDisciplina int primary key not null,
                  nomeDisciplina char (50) not null,
                  nomeProfessor char (50) not null

             );




    Agora é necessario saber a qual disciplina o aluno cursa ent ão a tabela aluno receberá como foreign key o id da disciplina ficando assim agora.


    -- Script para criação da tabela

    create table aluno(

                  matricula int primary key not null,
                  nome char(50) not null,
                  media real not null,
                  idDisciplinaAluno int not null
                  FOREIGN KEY (idDisciplinaAluno) REFERENCES disciplina (idDisciplina)
               );




    Para indicar a chave estrangeira na tabela, é necessario indicar qual é o atributo da tabela que irá fazer referencia a tabela no caso na tabela aluno o idDisciplinaAluno irá fazer referencia a chave primaria da tabela disciplina idDisciplina


    Atividade de Fixação

     

    No intuito de fixar a aprendizagem iniciada por meio deste módulo e verificar como está sua compreensão sobre o mesmo, são sugeridos alguns exercícios de fixação para serem resolvidos. Clique no link de exercícios ao lado, pois será por meio dele iniciada a lista de exercícios sobre os conteúdos estudados até este momento. Boa revisão sobre os mesmos!!