You are on page 1of 5

Os conceitos primordiais em banco de dados

Tenho notado uma grande confusão acerca do assunto “Modelo Relacional”, então estou descrevendo um pouco sobre este assunto para sanar certas dúvidas que todos têm. Descriminando conceitos que para alguns está bem fundamentado, mas que para muitos ainda está não totalmente claro. Então vamos lá. Os sistemas de gerenciamento de banco de dados evoluíram dos modelos hierárquicos para os modelos de rede e relacionais. O modelo de banco de dados mais aceito é o relacional. O Oracle o estende para um modelo relacional de objeto, o qual possibilita o armazenamento de modelos complexos de negócios em um banco de dados relacional. . O Modelo Relacional O modelo relacional tem três aspectos importantes: Estruturas As estruturas são objetos bem definidos (tabelas, visões, índices e assim por diante) que armazenam ou acessam os dados de um Banco de Dados. As estruturas e dos dados Contidos dentro delas podem ser manipulados pelas operações. As operações são ações definidas claramente que permitem aos usuários manipular os dados e as estruturas de um banco de dados. Elas devem obedecer a um conjunto predefinido de regras de integridade. de As regras de integridade são as leis que governam as operações permitidas nos dados e nas estruturas de um Banco de Dados. Elas protegem os dados e as estruturas de um banco de dados, garantindo integridade e segurança a estrutura.

Operações

Regras Integridade

Os sistemas de gerenciamento de banco de dados relacionais oferecem benefícios como: . Independência do armazenamento físico de dados e da estrutura lógica do banco de dados. . Acesso diversificado e fácil a todos os dados. . Flexibilidade completa no projeto de banco de dados.

. Os tipos de objetos são abstrações das entidades do mundo real – por exemplo. externamente. mas elas os retiram das tabelas nas quais se baseiam. Tabelas Uma tabela é a unidade básica de armazenamento do Oracle. Esquemas e Objetos de Esquema Um esquema é uma coleção de objetos de um banco de dados que estão disponíveis para um usuário. Cada coluna recebe um nome e um datatype. tais como tabelas. . os objetos do mesmo esquema podem estar em tablespaces diferentes. armazenados no banco de dados. ou NUMBER) e uma largura que pode ser predeterminada pelo datatype como tipo DATE. O Modelo Relacional de Objeto O modelo relacional de objeto permite que os usuários definam os tipos de objetos. chamadas de tabelas base das visões. ser tabelas ou visões. . ou atualizadas. Eles incluem estruturas. Os objetos de esquema são as estruturas lógicas que se referem diretamente aos dados do banco de dados. Eles fazem o modelo da estrutura da entidade e o do mundo real. consultadas. e um tablespace pode conter objetos de esquemas diferentes). (Não há nenhum relacionamento entre um tablespace e um esquema. Eles têm três tipos de componentes: . pedidos de compra – com as quais os softwares lidam. índices. seqüências. que serve para identificar o tipo do objeto. Os atributos. linhas de dados podem ser inseridas. Cada tabela é definida com um nome e um conjunto de colunas. Depois de que uma tabela é criada. Ela também pode ser vista como uma “consulta armazenada”. Armazenamento reduzido de dados e redundância. (como CHAR. especificando tanto a estrutura quanto os métodos de operação nos dados e o uso desses datatypes dentro do modelo relacional. Visões Uma visão é uma apresentação personalizada dos dados de uma ou mais tabelas. por sua vez. agrupamentos e links de banco de dados. ou escritos em uma linguagem como C. que são datatypes incorporados ou outros tipos definidos pelo usuário. . ou escala de precisão (somente para datatype NUMBER). Um nome. visões. Todo tipo de objeto tem um método construtor que cria um novo objeto segundo a especificação do datatype. Os métodos são funções ou procedimentos escritos em PL/SQL. As visões não contêm ou armazenam realmente os dados. DATE. Os métodos implementam operações específicas que um aplicativo pode executar nos dados. As tabelas base podem. procedimentos armazenados. Ela contém todos os dados armazenados em linhas e colunas que podem ser acessados pelo usuário. excluídas. sinônimos.

. as funções e as outras construções de pacote como uma unidade do banco de dados. exceto pelo fato de que as funções sempre retornam um valor exclusivo para quem as chamou. Unidades de Programa A expressão “unidade de programa” é usada para referir-se aos procedimentos armazenados. afeta as tabelas base desta visão. funções pacotes. visão. Usando a PL/SQL. na verdade. triggers e blocos anônimos. na verdade. Os procedimentos e as funções são idênticos. tais procedimentos e funções podem ser definidos e armazenados no banco de dados para uso constante. seqüência ou unidade de programa. inseridas e excluídas com algumas restrições. Elas simplificam a programação do aplicativo. Um procedimento ou função é um conjunto de declarações SQL e PL/SQL (a extensão para a SQL da linguagem de procedimento do Oracle) agrupadas como unidade executável para trabalhar com uma tarefa específica. Um sinônimo não é. mas sim uma referência direta a ele. Seqüências Uma seqüência gera uma lista serial de números exclusivos para as colunas das tabelas de um banco de dados. um objeto de esquema em si. Por exemplo. Fornecer transparência de localização para tabelas.Assim como as tabelas às visões podem ser consultadas. A seqüência gera automaticamente os valores corretos para cada usuário. . Os procedimentos e as funções permitem combinar a facilidade e a flexibilidade do SQL à funcionalidade de procedimento de uma linguagem de programação estruturada. gerando automaticamente valores numéricos exclusivos para as linhas de uma ou varias tabelas. Todas as operações executadas em uma visão. Mascarar o nome real e o proprietário de um objeto ou esquema. Fornecer acesso público a um objeto de esquema. Os pacotes fornecem um método para armazenar os procedimentos relacionados. Embora eles forneçam ao administrador do banco de dados ou desenvolvedor de aplicativo os benefícios de organização. atualizadas. eles também oferecem maior funcionalidade e desempenho elevado para o banco de dados. . visões ou unidades de programa de um banco de dados remoto. vamos assumir que dois usuários estejam inserindo simultaneamente linhas de novos empregados para a coluna EMP_NO nenhum usuário precisa esperar que o outro insira o próximo número disponível de empregado. Eles são usados para: . Sinônimos Um sinônimo é um alias de uma tabela. enquanto os procedimentos não.

as quais aumentam o desempenho da recuperação de dados. Eles podem ser criados para aumentar o desempenho da recuperação de dados. Ao processar uma solicitação. Tabelas Agrupadas Os agrupamentos são grupos de uma ou mais tabelas armazenadas fisicamente juntas porque compartilham de colunas comuns e quase sempre usadas juntas. o qual só estará disponível para ele. Índices Os índices são estruturas opcionais associadas às tabelas. os agrupamentos podem armazenar um conjunto de tabelas de forma mais eficiente do que quando elas são armazenadas individualmente (desagrupada). Como os dados de uma chave de agrupamenos tem um índice (um agrupamento não Hash) são armazenados apenas uma vez no caso de várias tabelas. Um usuário pode criar um sinônimo privado. ele é automaticamente atualizado e usado pelo Oracle. todos os aplicativos continuam funcionado. As colunas relacionas das tabelas de um agrupamento são chamadas chave de agrupamento. As alterações nos bancos de dados tais como. Um sinônimo pode ser público ou privado. o Oracle pode usar de forma eficiente algum ou todos os índices disponíveis para localizar as linhas solicitadas. um índice do Oracle fornece um caminho mais rápido para dados da tabela. Quando tirados. Os índices são lógica e fisicamente independentes dos dados e podem ser excluídos e criados separadamente e a qualquer momento. Depois de criado. . Assim como o índice de um livro ajuda a você a localizar as informações em um espaço de tempo bem menor. o tempo de acesso ao disco melhora consideravelmente. entretanto. o acréscimo. o acesso aos dados indexados anteriormente agora será ou poderá se tornar mais lento. Clusters e Hash Clusters Os agrupamentos (clusters) e agrupamentos (hash clusters) são estruturas opcionais para armazenar os dados de tabelas. a atualização ou a exclusão de linhas é incorporado automaticamente e todos os índices relevantes com total visualização para usuários. Como as linhas relacionadas são armazenadas fisicamente juntas. Eles são úteis quando os aplicativos consultam com freqüência um intervalo de linhas de uma tabela. Simplificar declarações SQL para os usuários do banco de dados. Os administradores de banco de dados quase sempre criam sinônimos públicos que tornam o objeto do esquema básico disponível para qualquer usuário do banco de dados.. Elas são indexadas para que as linhas do agrupamento possam ser recuperadas com uma quantidade mínima de E/S. sem afetar as tabelas ou os outros índices. Exemplo: Todos os empregados com salário maior que mil dólares ou uma linha específica. Os índices são criados em uma ou mais colunas de uma tabela.

asp?comp=3173. http://www. Todas as linhas com o mesmo valor de chave são armazenadas juntas no disco.com. dependendo da distribuição e das operações SQL que são executadas com mais freqüência nos dados. os agrupamentos não afetam o projeto do aplicativo.Os agrupamentos também podem melhorar o desempenho da recuperação de dados. DataBase Links Um database link (link de banco de dados) é um objeto nomeado de esquema que descreve um “caminho” de um banco de dados para o outro. Eles são usados implicitamente quando uma referência é feita a um nome de objeto global em um banco de dados distribuído. uma linha é armazenada em um agrupamento Hash com base no resultado da aplicação de uma função Hash ao valor-chave de agrupamento da linha. as tabelas agrupadas que são consultadas nas associações se beneficiam do uso dos agrupamentos porque as linhas comuns às tabelas associadas são recuperadas na mesma operação de E/S. Os conceitos primordiais em banco de dados. Kaui A. Nessas consultas. Fonte: OLIVEIRA. O valor resultante da chave Hash aponta diretamente para a área do disco que armazena as linhas.br/articles/viewcomp. O fato de uma tabela fazer ou não parte de um agrupamento é transparente para o usuário e para os aplicativos. . quando uma tabela é consulta com freqüência com consultas de igualdade. Os dados armazenados em uma tabela agrupada são acessados por meio de SQL da mesma maneira que os de uma tabela desagrupada. Assim como os índices. Os Agrupamentos Hash Os agrupamentos Hash também juntam os dados ta tabela com aqueles normais de índice (os agrupamentos são indexados com um índice em vez de uma função Hash). o valor-chave do agrupamento especificado é reapresentado. DevMedia – SQL Magazine. Os agrupamentos Hash são uma opção melhor do que o uso de uma tabela indexada ou um agrupamento de índice. Entretanto. por exemplo: (retornar todas as linhas do departamento 10). Em particular.devmedia.