Regras para o desenho de tabelas | Parte 3

Depois de vermos a importância das chaves primárias, na terceira parte das regras para o desenho de tabelas vamos ver como elas se relacionam entre si. É essa associação entre os dados armazenados em duas ou mais tabelas que dá forma a uma base de dados relacional. Um grupo de tabelas isoladas, como que ilhas - sem vista entre si - num vasto oceano, não passa de uma tulha...

Regras para o desenho de tabelas | Parte 2

É muito comum que, no momento de declarar a chave primária de uma tabela, não haja a mínima preocupação com a compreensão do seu contexto no âmbito do processo de negócio, e seja atribuída uma chave primária com valor abstracto e com o formato numérico. Veja-se o exemplo da tabela Género da Figura 1 em que se utiliza o campo GéneroID como chave primária e.g., o género "Comédia"...

MySQL | Denominações CASE SENSITIVE

A variável lower_case_table_names condiciona a forma como o servidor de MySQL armazena e gera os nomes dos objectos da base de dados, comparando os nomes entre si e com os comandos produzidos pelos utilizadores. Por defeito, e.g., em Windows e de modo a assegurar uma melhor interoperabilidade entre bases de dados instaladas em diferentes computadores e sistemas operativos, o valor dessa variável é "1", o que significa que todos os...

Regras para o desenho de tabelas | Parte 1

Para que cada linha de uma tabela tenha utilidade ela tem que ter uma identidade própria, quer dizer, deve ser diferente de todas as outras linhas. A distinção entre as linhas faz-se utilizando o conjunto mínimo de colunas que contenham os valores necessários e suficientes para tornar única cada linha. São os valores contidos nesse conjunto mínimo que distinguem as linhas...

Representação de dados numa base de dados

Uma tabela típica num base de dados relacional (BDr) contém dados sobre um único tema, ou objecto-informativo, e tem uma denominação unívoca no esquema em que está incluída. Já um esquema é uma representação de um processo de negócio. Por exemplo, o esquema da Figura 1 denomina-se Cinema e é composto pelas tabelas Filme, Actor e Actores do Filme; neste esquema só pode haver...

A organização e gestão dos dados

A informação numa base de dados relacional está guardada em tabelas que são constituídas por linhas e colunas. As tabelas organizam-se numa base de dados de acordo com um determinado esquema. Cada tabela é um objecto bem definido, com um propósito concreto, e com uma denominação única no esquema. Uma tabela é normalmente constituída por muitas colunas e linhas mas há casos particulares em que pode existir apenas uma única coluna; ou o inverso...

Componentes de uma base de dados

Uma base de dados, no sentido estrito de "qualquer coisa que informa", e não de um sistema de gestão de base de dados, é composta por tabelas, que por sua vez estão estruturadas em linhas e colunas, e cada linha tem uma identidade própria na tabela. Cada linha é interceptada por pelo menos uma coluna, e cada um desses pontos de intersecção é uma peça de informação. Uma...

Sistema de Gestão de Base de Dados Relacional | SGBDR

O MySQL tal como o Oracle ou o SQL Server, é um Sistema de Gestão de Base de Dados Relacional, i.e., aquilo que aparentemente é unicamente uma base de dados é muito mais do que isso. Um SGBDR além de ser composto por dados (aquilo que é mais evidente para os utilizadores sem conhecimentos técnicos) engloba uma série de componentes que permitem e facilitam a entrada e manipulação dos dados, ou dito de outro modo, um sistema de gestão de base de...

MySQL | Algumas características

O MySQL é o sistema de gestão de bases de dados open source mais utilizado em todo o mundo. Quando comparado com outros sistemas de uso livre como, por exemplo, o PostgreSQL, o MySQL tem muitas vantagens das quais se referem algumas em seguida: Apesar de ser um SGBDR (Sistema de Gestão de Base de Dados Relacional) com altos níveis de performance é todavia de fácil utilização, quer nas tarefas de exploração da informação quer em termos de administração...

MySQL | Dicionário de dados

Uma instalação de MySQL tem por defeito três bases de dados (de sistema): information_schema, mysql e performance_schema. O repositório mysql contém o dicionário de dados do sistema MySQL. Uma cópia, apenas com a função de leitura, é guardada na base de dados information_schema. O dicionário de dados é totalmente constituído por tabelas. Nunca, em nenhum caso - nem com nenhuma justificação -, se deve alterar directamente as tabelas do dicionário...

MySQL | Utilizador | Login

A segurança do MySQL avalia os utilizadores consoante as suas coordenadas de origem. A chave de segurança é composta por três parâmetros: nome do utilizador (user name), palavra-chave (password) e computador (host). Na gestão de utilizadores convém ter muita atenção com os valores para host pois frequentemente a entrada de um utilizador é recusada apenas por ter a máquina de origem mal atribuída. O parâmetro host pode ter três valores: localhost....

MySQL | Listener

O listener ("aquele que ouve") é um serviço lançado quando o daemon(1) do MySQL é iniciado. O listener é um subprocesso dependente do próprio servidor da base de dados, e corre ma porta que estiver especificada no ficheiro de configuração mysql.ini. Por defeito, quer seja em Windows ou Linux, por exemplo, está assignado à porta 3306. Num sistema Windows pode verificar-se...

MySQL | Motores de base de dados

São os motores (engines) de base de dados que orientam os processos que asseguram a integridade dos dados, o modo como a estrutura física dos dados se organiza e, ainda, os mecanismos que asseguram a associação entre as estruturas lógicas e físicas do sistema. No MySQL 5.6 existem os seguintes tipos principais de motores: InnoDB. Motor que implementa o mecanismo ACID. MyISAM. Anteriormente à versão 5.6 era o motor por defeito do MySQL; motor...

MySQL | Motor InnoDB

O motor InnoDB mantém um conjunto de logs em tudo semelhante ao que faz o Oracle. Esses logs (ou registos) destinam-se a assegurar a integridade das transacções ao mesmo tempo qye optimizam o custo transaccional. Este tipo de motor faz com o MySQL seja uma base de dados tipicamente transaccional. O InnoDB implementa as transacções ACID, o lock a nível da linha, além de assegurar a integridade referencia...

MySQL 5.6 | Arquitectura | Parte I

O superutilizador/DBA principal em MySQL denomina-se root (em Oracle é o utilizador SYS). Em MySQL uma base de dados é gerida de uma forma lógica e é o SGBDR que trata do armazenamento físico. O trabalho em SQL é controlado pela componente "MySQL Monitor" (em Oracle quem trata disso é o PL/SQL). A partir da versão 5.6 o MySQL já inclui a capacidade de processar XML. Em MySQL é possível trabalhar com vários motores de base de dados, mas o único...

Duas relações com a mesma chave primária?

Por vezes surgem propostas de modelos de dados em que co-existem duas, por vezes mais, relações com a mesma chave primária (CP). Ora, isso teoricamente é um erro dado que duas relações com uma CP idêntica são uma única relação. Regra: Os objectos que tenham uma relação de 1:1 entre si devem manter-se juntos: um aluno tem um número de aluno (não tem dois);...

Associação 1:1 entre objectos

A associação, ou relação, entre peças de informação é fundamental para no desenho do modelo de dados relacional. Tudo o que tenha o grau 1:1 deve manter-se na mesma relação. A não observação desta regra leva a que no mesmo modelo de dados possam existir várias relações com a mesma chave primária. O que em si mesmo é uma impossibilidade lógica, pois duas relações com a mesma chave primária são uma e a mesma cois...

Media library - Itens

Por vezes surgem em modelos de dados construções particulares que são confusas pois fogem aos estereótipos. No caso do modelo proposta por Williams (2011) há uma secção sobre a tipificação de atributos de suportes de informação como se pode ver na Figura 1. Figura 1: Tipificação de atributos. Como se trata de um centro de documentação onde são possíveis tipos muito...