Académique Documents
Professionnel Documents
Culture Documents
INTRODUO
Um Banco de Dados antes de mais nada uma coleo logicamente coerente de dados com determinada significao intrnseca1. Em outras palavras um arquivo contendo uma srie de dados de um cliente, um arquivo com dados aleatoriamente gerados.
Segundo Korth, um banco de dados uma coleo de dados inter-relacionados, representando informaes sobre um domnio especfico, ou seja, sempre que for possvel agrupar informaes que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados.
1Essencial,
inseparvel, prpria
INTRODUO
Podemos exemplificar situaes clssicas como uma lista telefnica, um catlogo de CDs ou um sistema de controle de RH de uma empresa. J um sistema de gerenciamento de banco de dados (SGBD) um software que possui recursos capazes de manipular as informaes do banco de dados e interagir com o usurio. Exemplos de SGBDs so: Oracle, SQL Server, DB2, PostgreSQL, MySQL, o prprio Access ou Paradox, entre outros.
O acesso/gerenciamento aos/dos dados feito pelo SGBD. O SGBD funciona como uma interface entre o BD e os programa aplicativos
INTRODUO
Usurios
Hardware/Software
Por ltimo, temos que conceituar um sistema de banco de dados como o conjunto de quatro componentes bsicos: dados, hardware, software e usurios. Date conceituou que sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrnica. A Figura ilustra os componentes de um sistema de banco de dados.
SGBD
INTRODUO
Os Administradores de Banco de Dados (DBA) so responsveis pelo controle ao acesso aos dados e pela coordenao da utilizao do BD. J os projetistas de Banco de Dados (DBP) so analistas que identificam os dados a serem armazenados em um Banco de Dados e pela forma como estes sero representados. Os Analistas e Programadores de Desenvolvimento, criam sistemas que acessam os dados da forma necessria ao Usurio Final, que aquele que interage diretamente com o Banco de Dados.
SGBD
SGBD
Um SGBD - Sistema de Gerenciamento de Banco de Dados uma coleo de programas que permitem ao usurio definir, construir e manipular Bases de Dados para as mais diversas finalidades. Um conceito que dever ficar bastante claro inicialmente o que envolve a separao clara entre os Gerenciadores de Base de Dados dos Gerenciadores de Arquivo.
SGBD
Vamos definir algumas regras bsicas e claras para um sistema de manipulao de dados ser considerado um SGBD. Fica implcito que se ao menos uma das caractersticas abaixo no estiver presente no nosso "candidato" a SGBD, este poder ser um GA (Gerenciador de Arquivo) de altssima qualidade, "quase" um SGBD, mas no um SGBD.
SGBD
Regra 1: Auto-Conteno - Um SGBD no contm apenas os dados em si, mas armazena completamente toda a descrio dos dados, seus relacionamentos e formas de acesso. Normalmente esta regra chamada de Meta-Base de Dados. Em um GA, em algum momento ao menos, os programas aplicativos declaram estruturas (algo que ocorre tipicamente em C, COBOL e BASIC), ou geram os relacionamentos entre os arquivos (tpicos do ambiente xBase). Por exemplo, quando voc obrigado a definir a forma do registro em seu programa, voc no est lidando com um SGBD.
SGBD
Regra 2: Independncia dos Dados- Quando as aplicaes estiverem realmente imunes a mudanas na estrutura de armazenamento ou na estratgia de acesso aos dados, podemos dizer que esta regra foi atingida. Portanto, nenhuma definio dos dados dever estar contida nos programas da aplicao. Quando voc resolve criar uma nova forma de acesso, um novo ndice, se precisar alterar o cdigo de seu aplicativo, voc no est lidando com um SGBD.
SGBD
Regra 3: Abstrao dos Dados- Em um SGBD real fornecida ao usurio somente uma representao conceitual dos dados, o que no inclui maiores detalhes sobre sua forma de armazenamento real. O chamado Modelo de Dados um tipo de abstrao utilizada para fornecer esta representao conceitual. Neste modelo, um esquema das tabelas, seus relacionamentos e suas chaves de acesso so exibidas ao usurio, porm nada afirmado sobre a criao dos ndices, ou como sero mantidos, ou qual a relao existente entre as tabelas que dever ser mantida ntegra. Assim se voc desejar inserir um pedido em um cliente inexistente e esta entrada no for automaticamente rejeitada, voc no est lidando com um SGBD.
SGBD
Regra 4: Vises- Um SGBD deve permitir que cada usurio visualize os dados de forma diferente daquela existente previamente no Banco de Dados. Uma viso consiste de um subconjunto de dados do Banco de Dados, necessariamente derivados dos existentes no Banco de Dados, porm estes no devero estar explicitamente armazenados. Portanto, toda vez que voc obrigado a replicar uma estrutura, para fins de acesso de forma diferenciada por outros aplicativos, voc no est lidando com um SGBD.
SGBD
Regra 5: Transaes- Um SGBD deve gerenciar completamente a integridade referencial definida em seu esquema, sem precisar em tempo algum, do auxlio do programa aplicativo. Desta forma exige-se que o banco de dados tenha ao menos uma instruo que permita a gravao de uma srie modificaes simultneas e uma instruo capaz de cancelar um srie modificaes. Por exemplo, imaginemos que estejamos cadastrando um pedido para um cliente, que este deseje reservar 5 itens de nosso estoque, que esto disponveis e portanto so reservados, porm existe um bloqueio financeiro (duplicatas em atraso) que impede a venda. A transao dever ser desfeita com apenas uma instruo ao Banco de Dados, sem qualquer modificaes suplementares nos dados. Caso voc se obrigue a corrigir as reservas, atravs de acessos complentares, voc no est lidando com um SGBD.
SGBD
Regra 6: Acesso Automtico - Em um GA uma situao tpica o chamado Dead-Lock, o abrao mortal. Esta situao indesejvel pode ocorrer toda vez que um usurio travou um registro em uma tabela e seu prximo passo ser travar um resgistro em uma tabela relacionada primeira, porm se este registro estiver previamente travado por outro usurio, o primeiro usurio ficar paralisado, pois, estar esperando o segundo usurio liberar o registro em uso, para que ento possa trav-lo e prosseguir sua tarefa. Se por hiptese o segundo usurio necessitar travar o registro travado pelo primeiro usurio (!), afirmamos que ocorreu um abrao mortal, pois cada usurio travou um registro e precisa travar um outro, justamente o registro anteriormente travado pelo outro! Imaginemos um caso onde o responsvel pelos pedidos acabou de travar o Registro Item de Pedido, e, necessita travar um registro no Cadastro de Produtos, para indicar uma nova reserva. Se concomitantemente estiver sendo realizada uma tarefa de atualizao de pendncias na Tabela de Itens, e para tanto, previamente este segundo usurio travou a Tabela de Produtos, temos a ocorrncia do abrao mortal. Se a responsabilidade de evitar esta ocorrncia for responsabilidade da aplicao, voc no est lidando com um SGBD.
SGBD
Concluso: Um SGBD deve obedecer INTEGRALMENTE as seis regras acima. Em caso contrrio estaremos diante de um GA ou de um "quase" SGBD
Os SGBD tem sete caractersticas operacionais elementares sempre observadas, que passaremos a listar:
Estrutura
Podemos dizer que o Banco de Dados tem: um Nvel Interno, onde descrita a estrutura de armazenamento fsico dos dados, um Nvel Intermedirio, onde temos a descrio lgica dos dados; um Nvel Externo onde, so descritas as vises para grupos de usurios. No podemos deixar de lembrar ainda que o Banco de Dados garante a Independncia Lgica e Fsica dos Dados, portanto podemos alterar o esquema conceitual dos dados, sem alterar as vises dos usurios ou mesmo alterar o esquema interno, sem contudo alterar seu esquema conceitual.
Modelos de Dados
O Modelo de Dados basicamente um conjunto de conceitos utilizados para descrever um Banco de Dados. No existe uma nica forma de representao deste modelo, porm qualquer forma que permita a correta compreenso das estruturas de dados compreendidas no Banco de Dados, pode ser considerada adequada. Vamos descrever sucintamente este Modelo, pois estes sero objetos de outras disciplinas:
Modelo Orientado ao Registro So modelos que representam esquematicamente as estruturas das tabelas de forma bastante prxima a existente fisicamente. Basicamente so apresentados os registros de cada tabela (inclusive seus campos) e seus relacionamentos elementares. O Modelo Relacional, o Modelo de Rede e o Hierrquico so exemplos deste tipo de representao.
Modelo Semntico
So modelos onde existe uma representao explcita das entidades e relacionamentos. O Modelo Entidade-Relacionamento e o Funcional, so exemplos deste tipo de abordagem.
So modelos que procuram representar as informaes atravs dos conceitos tpicos da Programao Orientada ao Objeto, utilizando o conceito de Classes que iro conter os objetos. Citamos os Modelos O2 e o de Representao de Objetos como exemplos tpicos desta abordagem.
O conceito de instncia
sempre muito presente, poderia ser definido como sendo o conjunto de dados que definem claramente um Banco de Dados em determinado instante. Devemos entender ento o Banco de Dados como sendo no apenas um conjunto de dados digitados, mas tambm todo o esquema e regras armazenada e controladas pelo SGBD.
Concluso
Em outras palavras, podemos dizer vieram para eliminar todo o anteriormente um programador realizava controlando o acesso, redundncia dos dados. que os SGBD, trabalho que de aplicao integridade e
Tipos de SGBD
Introduo
Podemos citar como tipos principais os Bancos de Dados Relacionais, os Hierrquicos, os de Rede, os Semnticos, os Orientados a Objetos e os Universais. Os Bancos de Dados alvo de nosso estudo sero os Relacionais.
OBS
Linhas/Tuplas/Registros
01
02 03 04
Projetista
Programador Diretor Analista
03
04
Ian de Abreu
Pedro Lemos
Diretor
Analista
Colunas/Atributos/Campos
Chaves primrias
(em ingls, "Primary Keys" ou "PK"), sob o ponto de vista de um banco de dados relacional, referem-se aos conjuntos de um ou mais campos, cujos valores, considerando a combinao de valores de todos os campos da tupla (registro), nunca se repetem e que podem ser usadas como um ndice para os demais campos da tabela do banco de dados. Em chaves primrias, no pode haver valores nulos nem repetio de tuplas.
Chaves primrias
Simplificando, quando a chave primria simples, ou seja, formada por um nico campo da tabela, esse campo no pode ter dois ou mais registros de mesmo valor e tambm no pode conter nenhum registro nulo. Se a chave primria composta, ou seja, formada por mais de um campo, os valores de cada campo podem se repetir, mas no a combinao desses valores. Exemplo: a tabela 'Livros_Autores' tem como chave primria (cod_livro, cod_autor). Podem existir nessa tabela os registros: (5, 9), (5, 10), (4, 9), (9, 5), mas no podem existir dois registros (5, 9).
Chaves primrias
Exemplo:
Cidade * CidCodi CidNome Estado * EstCodi EstNome
Chaves primrias
Exemplo:
Cidade * CidCodi CidNome EstCodi (E) Estado * EstCodi EstNome
CidCodi e EstCodi, so chaves primrias respectivamente das tabelas Cidade e Estado, enquanto EstCodi chave estrangeira na tabela de cidades. precisamente por este campo (atributo, ou coluna), que ser estabelecida a relao entre as tabelas Cidade-->Estado.
Normalizao
Os bancos de dados relacionais utilizam a normalizao de dados para evitar redundncias e possibilitar um maior desempenho nas pesquisas. Normalizao o processo de organizao eficiente dos dados dentro de um banco de dados cujos objetivos principais so: 1.Eliminar dados redundantes (por exemplo, armazenando os mesmos dados em mais de uma tabela). 2.Garantir que as dependncias entre os dados faam sentido (armazenando apenas dados logicamente relacionados em uma tabela). Existem cinco estgios de normalizao, 1, o 2, o 3, o 4 e o 5. Para um banco de dados se encontrar em cada um desses estgios ou formas (denominadas formas normais), cada uma de suas tabelas deve atender a alguns pr-requisitos. Os pr-requisitos so cumulativos, isto , para alcanar a 3 forma normal (3NF), um banco de dados precisa atender aos pr-requisitos das 1 e 2 formas normais, acrescidos dos requisitos exclusivos da 3NF.
Normalizao
Exemplo: Normalizar os seguintes atributos:
N do Pedido, Nome do Cliente, Nome dos Produtos, Quantidades N do Pedido, Cdigo do Cliente, Nome dos Produtos, Quantidades Cdigo do Cliente, Nome do Cliente N do Pedido, Cdigo do Cliente, Cdigo dos Produtos, Quantidades Cdigo do Cliente, Nome do Cliente Cdigo do Produto, Nome do Produto N do Pedido, Cdigo do Cliente Cdigo do Cliente, Nome do Cliente, Cdigo do Produto, Nome do Produto N do Pedido, Cdigo do Produto, Quantidades
Normalizao
Cliente
*CliCodi CliNome
Pedido
*PedNume CliCodi (E) IteQtde
Item
PedNume (E) ProCodi (E)
Produto
*ProCodi ProNome