Uma das caractersticas fundamentais da abordagem de base de dados que ela fornece algum nvel de abstrao de dados, pela omisso de detalhes de armazenamento de dados que no so necessrios para a maioria dos usurios. O modelo de dados a principal ferramenta que fornece esta abstrao. Um Modelo de Dados um conjunto de conceitos que podem ser usados para descrever a estrutura de uma base de dados. Por estrutura de uma base de dados entende-se os tipos de dados, relacionamentos e restries pertinentes aos dados. Muitos modelos de dados tambm definem um conjunto de operaes para especificar como recuperar e modificar a base de dados.
3.1.1 Categorias de Modelos de Dados
Muitos modelos de dados tm sido propostos. Pode-se classificar os modelos de dados baseando-se nos tipos de conceitos que fornecem para descrever a estrutura da base de dados. Modelos de Dados Conceituais ou de Alto-Nvel fornecem conceitos prximos percepo dos usurios. J os Modelos de Dados Fsicos ou de Baixo-Nvel fornecem conceitos que descrevem os detalhes de como os dados so armazenados no computador. Modelos de alto-nvel utilizam conceitos tais como Entidades, Atributos e Relacionamentos. Uma entidade um objeto que representado na base de dados. Um atributo uma propriedade que descreve algum aspecto de um objeto. Relacionamentos entre objetos so facilmente representados em modelos de dados de alto-nvel, que so algumas vezes chamados de Modelos Baseados em Objeto devido, principalmente, a sua caracterstica de descreverem objetos e seus relacionamentos. Modelos de Dados de Baixo-Nvel descrevem como os dados so armazenados no computador, representando informaes em formato de registros, ordem dos registros e caminho de acesso. Um Caminho de Acesso uma estrutura de que facilita a busca de um registro particular na base de dados.
3.1.2 Esquemas e Instncias
Em qualquer modelo de dados importante distinguir entre a descrio da base de dados e a base de dados propriamente dita. A descrio de uma base de dados chamada Esquema da Base de Dados. Um esquema de base de dados especificado durante o projeto da base de dados, sendo que a expectativa de mudanas no grande. A forma de visualizao de um esquema chamada Diagrama do Esquema. Muitos modelos de dados tm
certas convenes para, diagramaticamente, mostrar esquemas especificados no modelo. Os dados atualmente existentes em uma base de dados podem mudar com relativa frequncia. Os dados da base de dados em um particular momento do tempo so chamados Instncias da Base de Dados (ou Ocorrncias ou Estados). A base-esquema algumas vezes chamada de Base-Intencional e uma instncia chamada de Base-Extensional do esquema
3.2. Arquitetura e Independncia de Dados de SGBDs
A arquitetura mais difundida na literatura a Arquitetura Three-Schema (tambm conhecida como arquitetura ANSI/SPARC), proposta por Tsichritzis & Klug em 1978. A meta desta arquitetura, exibida na Figura 3.1, separar as aplicaes de usurios da base de dados fsica. Nesta arquitetura, esquemas podem ser definidos em trs nveis:
1. O nvel interno tem um esquema interno que descreve a estrutura de armazenamento fsico da base de dados. O esquema interno usa um modelo de dados fsico e descreve todos os detalhes de armazenamento de dados e caminhos de acesso base de dados;
2. O nvel conceitual tem um esquema conceitual que descreve a estrutura de toda a base de dados. O esquema conceitual uma descrio global da base de dados, que omite detalhes da estrutura de armazenamento fsico e se concentra na descrio de entidades, tipos de dados, relacionamentos e restries. Um modelo de dados de alto-nvel ou um modelo de dados de implementao podem ser utilizados neste nvel.
3. O nvel externo ou viso possui esquemas externos ou vises de usurios. Cada esquema externo descreve a viso da base de dados de um grupo de usurios da base de dados. Cada viso descreve, tipicamente, a parte da base de dados que um particular grupo de usurios est interessado e esconde deste o restante da base de dados. Um modelo de dados de alto-nvel ou um modelo de dados de implementao podem ser usados neste nvel.
Muitos SGBDs no separam os trs nveis completamente. Pode acontecer que alguns SGBDs incluam detalhes do nvel interno no esquema conceitual. Em muitos SGBDs que permitem vises, os esquemas externos so especificados com o mesmo modelo de dados usado no nvel conceitual. Note que os trs esquemas so apenas descries dos dados. A arquitetura three-schema pode ser utilizada para explicar conceitos de independncia de dados, que podem ser definidos como a capacidade de alterar o esquema de um nvel sem ter que alterar o esquema no prximo nvel superior.
Dois tipos de independncia de dados podem ser definidos:
Independncia Lgica de Dados: a capacidade de alterar o esquema conceitual sem ter que mudar os esquemas externos ou programas de aplicao. Pode-se mudar o esquema conceitual para expandir a base de dados, com a adio de novos tipos de registros (ou itens de dados), ou reduzir a base de dados removendo um tipo de registro. Neste ltimo caso, esquemas externos que se referem apenas aos dados remanescentes no devem ser afetados;
Independncia Fsica de Dados: a capacidade de alterar o esquema interno sem ter que alterar o esquema conceitual externo. Mudanas no esquema interno podem ser necessrias devido a alguma reorganizao de arquivos fsicos para melhorar o desempenho nas recuperaes e/ou modificaes. Aps a reorganizao, se nenhum dado foi adicionado ou perdido, no haver necessidade de modificar o esquema conceitual.
3.3 Linguagens de Base de Dados
Linguagem de Definio de Dados (Data Definition Language - DDL): Um esquema de banco de dados especificado por um conjunto de definies que so expressas em uma linguagem especial chamada linguagem de definio de dados (DDL). O resultado da execuo de instrues DDL um conjunto de tabelas que so armazenadas num arquivo especial chamado dicionrio de dados (ou diretrio de dados). Um diretrio de dados um arquivo que contm metadados; isto , dados acerca dos dados. Este arquivo consultado antes que os dados reais sejam lidos ou modificados no sistema de banco de dados.
A SQL DDL fornece comandos para definio e modificao de esquemas de relao, remoo de relaes e criao de ndices. Os principais comandos que fazem parte da DDL so: CREATE, ALTER, DROP.
Linguagem de Manipulao de Dados (Data Manipulation Language - DML): Entenda-se por manipulao de dados: A recuperao de informao armazenada no banco de dados; A insero de novas informaes no banco de dados; A remoo de informaes do banco de dados
No nvel fsico, precisamos definir algoritmos que permitam o acesso aos dados de forma eficiente. Em nvel mais alto de abstrao a nfase est na facilidade de uso. O objetivo principal proporcionar uma eficiente interao humana com o sistema. Uma linguagem de manipulao de dados (DML) uma linguagem que permite aos usurios acessar ou manipular dados organizados por um modelo de dados apropriado.
A SQL DML inclui uma linguagem de consulta baseada na lgebra relacional e no clculo relacional. Compreende tambm comandos para inserir, remover e modificar informaes em um banco de dados. Os comandos bsicos da DML so: SELECT, INSERT, UPDATE, DELETE