Buscar

Descreve todo funcionamento dos SGBDs em detalhes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

IMPLEMENTAÇÃO DE BANCO DE DADOS – PARTE CONCEITUAL
 DEFINIÇÃO DE DADOS 
Dado é um conjunto alfanumérico (número, texto), ou imagem, que não está agregada a nenhum conhecimento específico, tornando-o inutilizável para quem não souber em qual contexto ele está inserido e o que exatamente representa, não podendo interpretá-lo.
Resumindo: Fatos em sua forma primária.
DEFINIÇÃO DE INFORMAÇÃO 
Uma informação pode ser classificada como um segundo estágio que um dado pode percorrer. Informação é a agregação de um determinado conhecimento a um dado. Uma informação pode ser interpretada, enquanto um dado apenas pode ser visualizado.
Resumindo: Informação são fatos (os dados) que foram transformados de uma maneira significativa.
DEFINIÇÃO DE CONSULTA 
O termo "consulta" representa uma solicitação de dados ao banco de dados em questão (banco sendo utilizado).
DEFINIÇÃO DE BANCO DE DADOS 
Banco de Dados é uma coleção de dados referentes a um assunto ou propósito específico, com o objetivo de organizar os dados de modo a tornar a vida dos usuários do negócio em questão mais prática, precisa, rápida e confiável. 
Os Bancos de dados podem ser classificados em diversas categorias. As principias estão descritas a seguir:
Bancos Manuais e Automatizados
Os Bancos de Dados podem ser manuais ou automatizados. Um ficheiro de uma empresa é uma forma Manual de Banco de Dados, onde os seus registros são armazenados em papel. A principal desvantagem desse tipo de banco é o tempo gasto para computar informações. Todo tipo de operação é realizada manualmente (por exemplo, obter um relatório com dados de todos os fornecedores), podendo levar dias, semanas ou até meses para ser concluída.
Já os bancos automatizados, são construídos para serem utilizados por sistemas de computador. Possuem diversas vantagens em relação aos bancos manuais, como ocupar menor espaço físico, e a velocidade de processamento para obtenção de qualquer tipo de informação.
Bancos Relacionais
Representam os dados e seus relacionamentos através de tabelas. Cada tabela corresponde a um conjunto de entidades do modelo relacional e contém um número de colunas com nomes únicos, sendo que cada coluna representa um atributo da entidade. Os relacionamentos são representados por dados contidos dentro das próprias tabelas.
Exemplo: Oracle, MySQL, SQLServer.
ARQUITETURA DE UM BANCO DE DADOS RELACIONAL
Todos os Bancos de Dados Relacionais possuem algumas semelhanças entre si no que diz respeito às suas arquiteturas. Suas formas de armazenamento, componentes para criação de relacionamentos, estrutura para indexação de seus dados, organização interna, entre outras características, são alguns dos benefícios gerados pela arquitetura de um Banco de Dados Relacional.
BASE DE DADOS
É o conjunto de todos os dados de um determinado ambiente, estejam eles armazenados em computador ou não.
Exemplo: Banco de Dados de Recursos Humanos + as correspondências expedidas e recebidas, pela empresa, e que estão guardadas nos armários de cada departamento.
TABELAS
Todos os dados de um Banco de Dados conceitualmente são organizados no formato de tabelas, onde cada coluna será um campo e cada linha será um registro. O limite de colunas e linhas possíveis de serem alocadas para uma tabela pode variar em cada Banco de Dados. Os dados em uma tabela não seguem nenhum tipo de ordenação, sendo os dados armazenados por ordem de chegada. Cabe as "consultas" armazenar os dados por algum tipo de ordenação, podendo ser utilizado qualquer campo (coluna) para este fim.
Registros (Linha/Tupla)
 As linhas da tabela são chamadas registros. Cada registro é formado por um conjunto de campos (colunas) - os mesmos campos que formam uma tabela - que estão relacionados entre si nativamente, pois cada linha representa o resultado de uma tabela. 
Um registro (linha) da tabela "produto"
	 ----------------------------------------------
 Ex.:	 | p00001 | TV Led | 1499.99 | Elt |
	 ----------------------------------------------
Campos (Colunas)
Os campos podem ser reconhecidos pelas colunas de uma tabela. Cada coluna está representando um campo, o qual tem a responsabilidade de armazenar as informações sobre o tipo de dado que será armazenado em sua região.
Os campos (colunas) da tabela "produto"
 ---------------------------------------------------------------
 Ex.: | ProdCod | ProdDesc | ProdPreco | ProdLinha |
 ---------------------------------------------------------------
*Observação Importante: Uma integridade referente aos campos, que deve ser observada, é o fato de uma tabela não poder possuir colunas (campos) com o mesmo nome.
Os campos (colunas) da tabela "produto", com campos repetidos
 -------------------------------------------------------------------------------
 Ex.: | ProdCod | ProdDesc | ProdPreco | ProdLinha | ProdLinha | <--------- coluna repetida 
 ------------------------------------------------------------------------------- não é permitido!
CHAVES
O termo "chave" refere-se à coluna da tabela que é responsável pela identificação dos registros. Em outras palavras, é o campo que está à frente dos demais em um conjunto de campos.
O não uso de chaves pode tornar o Banco de Dados vulnerável a diversos problemas, como a redundância de dados (repetição de dados previamente cadastrados) e inconsistências pela falta de relacionamento.
Chave Primária
O que caracteriza uma chave primária (do inglês, PK - Primary Key) de uma coluna qualquer é o fato de esta possuir valores únicos, ou seja, não há valores repetidos para sua coluna.	
Chave Composta
Chaves compostas possuem características semelhantes às das primárias, contudo a diferença é que a chave composta utiliza mais de uma coluna (campo) da tabela para a composição de seu valor único.
Em outras palavras, no caso das chaves compostas, poderá haver valores repetidos para cada coluna-chave, porém a união das colunas deverá prover resultados únicos.
Chave Estrangeira
Para relacionar registros entre tabelas (o chamado "relacionamento") existem chaves estrangeiras (do inglês, FK - Foreign Key). Esse termo é utilizado para caracterizar as colunas de uma tabela que possam armazenar somente valores de uma chave primária de outra tabela.
ÍNDICES
Os índices de uma tabela são recursos intimamente ligados à performance do Banco de Dados em relação à busca e às consultas de registros.
SISTEMA GERENCIADOR DE BANDO DE DADOS (SGBD)
Um SGBD, Sigla de Sistema Gerenciador de Banco de Dados (do inglês, DBMS – Data Base Management System), é um sistema responsável pela segurança e proteção dos dados de um banco. É a centralização do conjunto das implementações de segurança que antes era desenvolvido e mantido em cada aplicação que fosse acessar os recursos de um arquivo.
CARACTERÍSTICAS DE UM SGBD
Gerenciar grandes volumes de dados;
Facilitar a eliminação de redundância e inconsistência de dados;
Facilitar o armazenamento e acesso aos dados;
Garantir o acesso a vários usuários ao mesmo tempo;
Garantir a segurança dos dados (Por exemplo, garantir a recuperação dos dados caso haja danificação do meio onde estão armazenados. Garantir a segurança de acesso);
Garantir a integridade dos dados.
GERENCIAMENTO DE ACESSO
Uma das funcionalidades de um SGBD é garantir que somente usuários autorizados tenham acesso de leitura e/ou gravação em determinadas tabelas ou objetos. Isto impede que usuários que necessitem acessar algumas entidades de um Banco de Dados tenham acesso a todas.
INTEGRIDADE DE DADOS
O controle de integridade de dados embutidos nos SGBDs garante que todos os dados inclusos ou alterados no banco estarão de acordo com as regras criadas para estes.
Este controle é feito baseado em domínio de dados. Cada atributo cadastrado pode ser vinculado com regras de valores, permitindo que seja preenchido somente com dados autorizados pelo banco. São essas restrições que garantem que um campo numérico dotipo inteiro (int) seja preenchido somente com valores numéricos e inteiros (com exceção de nulo (null) - se permitido), e o mesmo vale para os demais tipos de dados.
INTEGRIDADE DE ENTIDADE E REFERENCIAL
====================================
Integridade de Entidade
É uma característica prioritária em um Banco de Dados a existência de uma única chave primária para cada entidade (tabela) no banco.
Integridade Referencial
São os relacionamentos existentes entre diferentes tabelas de um banco. Além de todo o gerenciamento de domínio de dados de acordo com as regras de Integridade de Dados, a Integridade Referencial baseia-se na existência de chaves estrangeiras no preenchimento de um campo, gerenciando e validando os relacionamentos existentes entre tabelas.
ABSTRACAÇÃO DE DADOS
É a possibilidade de entender um ambiente se preocupando apenas com seus aspectos mais importantes. No caso dos Bancos de Dados, abre a possibilidade a seus usuários poderem acessar os dados sem a necessidade de se preocupar com os detalhes de como os dados são armazenados.
NÍVEIS DE ABSTRAÇÃO
===================
Nível Físico
Descreve como os dados são realmente armazenados. Neste nível de abstração trabalham os DBAs.
 
Nível Conceitual
Descreve quais dados estão armazenados e como eles se relacionam. Neste nível os usuários não se preocupam com os aspectos físicos do armazenamento de dados. Aqui trabalham os DBAs e os Analistas de Aplicação.
NÍVEL DE VISÃO
Uma visão descreve parte de um banco de dados, de modo que, usuários do banco tenham acesso apenas aos dados que lhes dizem respeito. Um banco de dados tem muitas visões.
MODELOS DE DADOS
Identificam os dados de um determinado ambiente, as relações entre eles e suas restrições de integridade.
TIPOS DE MODELOS DE DADOS
 =========================
MODELOS LÓGICOS BASEADOS EM OBJETOS
 ------------------------------------------------------------
 
Modelo de Entidade X Relacionamento
Consiste num conjunto de objetos representativos de um ambiente chamados entidades e nos relacionamentos que mantêm entre si. Uma entidade se distingue de outras entidades pelos atributos que ela contém.
 Representação Gráfica de um Modelo de Entidade-Relacionamento
 • Retângulos – Representam conjuntos de entidades
 • Losangos – Representam os relacionamentos
 • Linhas – Ligam os relacionamentos às entidades relacionadas
Modelo Orientado a Objetos
É baseado em objetos representativos de um ambiente que se relacionam entre si. Aqui os objetos contém segmentos de códigos, denominados métodos, que os manipulam. Um objeto só pode ser acessado através de seus métodos. Uma solicitação de acesso a um objeto é denominada mensagem.
É um conjunto de objetos com os mesmos valores e os mesmos métodos.
MODELOS LÓGICOS BASEADOS EM REGISTROS
=======================================
Os modelos baseados em registros são usados nos níveis de abstração conceitual e visual.
Modelo Relacional
Representam os dados e seus relacionamentos através de tabelas. Cada tabela corresponde a um conjunto de entidades do modelo relacional e contém um número de colunas com nomes únicos, sendo que cada coluna representa um atributo da entidade. Os relacionamentos são representados por dados contidos dentro das próprias tabelas.
Exemplo: Oracle, MySQL, SQLServer
Modelo de Redes
Os dados são representados por uma coleção de registros e os relacionamentos entre os dados são representados por ponteiros. Os registros nos bancos de dados são organizados como coleções de grafos arbitrários. 
Exemplo: IDS-II da ABC-BULL.
Modelo Hierárquico
Os dados são representados por uma coleção de registros e os relacionamentos entre os dados são representados por ponteiros. Os dados são organizados em árvores.
INSTÂNCIA DE UM BANCO DE DADOS
É o conjunto de informações de um Banco de Dados em um determinado momento.
ESQUEMA
É a representação do projeto do banco de dados. Não mudam com frequência. Em um banco de dados temos os esquemas físico e conceitual.
INDEPENDÊNCIA DE DADOS
=======================
É possibilidade de mudar esquemas de um nível de abstração sem comprometer os esquemas de outros níveis.
Independência Física de Dados
É a característica que os bancos de dados devem ter e que consiste na possibilidade de que alterações feitas no esquema físico não exigirem alterações nos programas escritos.
Independência Lógica de Dados
É uma característica dos bancos de dados que permite mudanças nos esquemas conceituais sem exigir mudanças nos programas escritos. É difícil de ser conseguida.
LINGUAGENS DE DADOS
====================
Com os SGBDs, surgiu a necessidade de padronizar o quanto fosse possível a maneira de como os bancos e seus dados eram acessados. A maioria dos Bancos de Dados utiliza a SQL (Structured Query Language), ou simplesmente Linguagem de Consulta Estruturada, para tratar todos os aspectos de interação com o Banco de Dados.
A SQL é um conjunto de linguagens específicas para cada característica de um Banco de Dados. Basicamente são divididas em cinco grupos, sendo estes: 
Formada pelo conjunto das linguagens:
DDL (Data Definition Language): Linguagem de Definição de Dados
DML (Data Manipulation Language): Linguagem de Manipulação de Dados
DQL (Data Query Language): Linguagem de Consulta de Dados
DCL (Data Control Language): Linguagem de Controle de Dados
DTL (Data Transaction Language): Linguagem de Transação de Dados
DDL (Linguagem de Definição de Dados)
As linguagens do tipo DDL (Data Definition Language, também conhecidas como Linguagem de Definição de Dados) têm como objetivo efetuar criações e alterações nos formatos de atributos (campos) e entidades (tabelas) em um Banco de Dados. Além disso, com o seu uso é possível criar relacionamentos entre entidades e também definir domínio de dados para os atributos. Não está em seu escopo a manipulação direta dos dados.
Exemplos:
CREATE: Cria uma estrutura
ALTER: Altera uma estrutura
DROP: Exclui uma estrutura
DML (Linguagem de Manipulação de Dados)
Como complemento à DDL, as linguagens do tipo DML (Data Manipulation Language, também conhecidas como Linguagens de Manipulação de Dados) surgiram para atender às necessidades de manipulação direta dos dados contido em um banco. É por meio delas que são realizadas as inclusões, alterações e exclusões de registros armazenados no banco.
Exemplos:
INSERT: Insere dados
UPDATE: Altera dados
DELETE: Exclui dados			 
DCL (Linguagem de Controle de Acesso)
Para o gerenciamento do controle de acesso ao Banco de Dados, foi criada a DCL (Data Control Language, também conhecida como Linguagem de Controle de Dados), que é responsável por todo o controle de acesso ao Banco de Dados e por autorizar usuários a gerenciarem os acessos a este.
Exemplos:
GRANT: Habilita o acesso a dados e operações
REVOKE: Revoga o acesso a dados e operações
DQL (Linguagem de Consulta e Dados)
Para realização de consultas ao Banco de Dados, foi criada DQL (Data Query Language, também conhecida como Linguagem de Consulta de Dados), que é responsável por obter um resultado a partir de uma consulta realizada a um Banco de Dados e todas as suas tabelas.
Exemplos:
SELECT: Retorna dados
Ordenação de dados (order by)
Agrupamento de dados (group by)
Funções aritméticas (max, min, avg)
Filtros de seleção (where, having)
DTL – Data Transaction Language – (Linguagem de Transações de Dados)
São usados para gerenciar as mudanças feitas por instruções DML. Ela permite que as declarações sejam agrupadas em transações lógicas.
Exemplos:
START TRANSACTION: Inicia a transação
COMMIT: Concretiza a transação
ROLLBACK: Anula a transação
GERENCIADOR DE BANCO DE DADOS
É constituído de um conjunto de programas que estabelecem a interface entre os dados armazenados e as solicitações ao sistema. Além disso, esses programas garantem um armazenamento de dados que facilita o desempenho do Banco, como porexemplo, um bom tempo de resposta para as solicitações às quais é submetido.
Objetivos de um Gerenciador de Banco de Dados
Interagir com o gerenciador de arquivos. Geralmente esses gerenciadores de arquivos são fornecidos pelos sistemas operacionais. É de responsabilidade desses gerenciadores o atendimento à solicitação de dados.
 • Garantir Integridade dos Dados
 • Garantir Segurança de Acesso
	• Recuperação de Dados
 • Controlar Concorrência de Acesso.
FUNCIONALIDADES GERAIS
=======================
Existem algumas funcionalidades gerais fornecidas pelos principais SGBDs do mercado, que servem para facilitar, proteger e automatizar alguns processos realizados dentro do Banco de Dados, os quais serão apresentados a seguir:
Visões (View)
As visões (View) podem ser consideradas consultas pré-programadas, utilizadas em conjunto com outras consultas para otimização de código, permitindo assim realizar consultas sobre consultas (consultas sobre Visões).
Transações (Trasactions)
É possível definir funções internas nos SGBDs que possam ser disparadas a qualquer momento para atualização ou manutenção dos registros armazenados. São códigos - categoria DML - cujas funcionalidades são requisitadas com frequência, sendo recomendado programar essas funções diretamente nos Bancos de Dados. As Transações garantem que todo o código (instrução) seja executado, ou, então, que sua execução seja abortada em caso de problemas ou falha na atualização de algum registro.
Gatilhos (Triggers)
Assim como as Transações, os triggers são geralmente códigos DML que não são disparados pelo usuário, mas sim pela ativação de algum evento ocorrido no Banco de Dados. Esses eventos podem ser de vários tipos, sendo o mais comum deles o temporal, que é a execução de atualizações de dados ou funções internas baseadas em horários pré-definidos ou a cada intervalo de tempo pré-configurado.
BANCO DE DADOS DO TIPO ARQUIVO X SGBDs
Basicamente existem dois tipos de Bancos de Dados que podem ser utilizados. Inicialmente, usavam-se arquivos-texto para repositório de dados, e com a evolução das demandas e da própria tecnologia, chegou-se ao segundo tipo de banco, o qual é incorporado a um Sistema Gerenciador de Banco de Dados (SGBD), como mostra a seguir:
Banco de Dados do Tipo Arquivo
Este tipo de banco de Dados é o mais antigo. Utiliza arquivos-texto (ou qualquer outro tipo de arquivo) sem nenhum gerenciamento específico de suas propriedades de proteção de dados ou acesso, exceto o realizado pelo sistema ou programa que o utiliza, e cada sistema que utiliza tais dados, deve gerenciar o seu acesso integralmente.
É um repositório de dados sem controle de integridade, proteção, concorrência ou privacidade. Todos esses controles e gerenciamentos não estão vinculados ao arquivo do banco, e sim ao sistema que o utiliza, tornando o banco, de certa forma, proprietário do sistema para o qual armazena dados.
Banco de Dados do Tipo SGBD
 A diferença entre os dois tipos de banco (Banco de Dados do Tipo Arquivo X Banco de Dados do Tipo SGBD) é justamente onde fica implementado todo o sistema de gerenciamento de integridade de dados, segurança, acesso e concorrência, ficando todo esse sistema centralizado em um SGBD. O que antes era implementado em cada programa que utilizaria o banco, agora é implementado em um sistema à parte, ao qual está vinculado diretamente com o arquivo do banco.
Cada aplicação que deseja se conectar ao Banco de Dados, estará na verdade se conectando ao SGBD responsável pelo banco.
Além de todas essas vantagens, os SGBDs possuem uma padronização no que diz respeito à linguagem de manipulação das estruturas e dos dados contidos em seus bancos, mais conhecida como SQL (Structured Query Language – Linguagem de Consulta Estruturada).
ADMINISTRADOR DE DADOS (DA)
O Administrador de Dados (DA - Data Administrator) é o responsável em extrair do processo ou negócio em questão quais campos ou informações serão armazenados no Banco de Dados. Recomenda-se que este papel seja desempenhado por uma pessoa que, além de possuir noções de Banco de Dados, tenha bons conhecimentos sobre o negócio em questão, para evitar que informações necessárias sejam descartadas ou informações irrelevantes sejam armazenadas sem necessidade.
ADMINISTRADOR DE BANCO DE DADOS
Compete ao Administrador de Banco de Dados (DBA - Database Administrator) implementar todas as decisões e solicitações provindas do Administrador de Dados (DA).
É recomendado que este cargo seja ocupado por profissionais de TI (Tecnologia da Informação) que conheçam a fundo o Banco de Dados em questão, não só para implementar as demandas, mas também para notificar eventuais restrições tecnológicas e fornecer melhores alternativas no que diz respeito ao modo como as informações serão armazenadas.
DESENVOLVEDORES E PROGRAMADORES
Os desenvolvedores e programadores são os responsáveis em criar a interface dos dados, por meio do uso de linguagens de programação, para que os usuários possam interagir com as informações contidas no banco. Independentemente de a interface ser modo texto (prompt DOS, terminal) ou gráfico (programa cliente, site na internet), são estes os responsáveis pela criação e manutenção dessas pontes de acesso aos dados.
USUÁRIO FINAL
É devido a necessidade gerada por este papel (usuário final) que os Bancos de Dados são construídos. A necessidade de um ou mais usuários finais é que se torna a demanda de um projeto. Seja para automatizar uma tarefa, armazenar informações, seja para gerenciar algum tipo de negócio, são eles os usuários dos projetos em questão e dos Bancos de Dados vinculados a esses projetos. Além de logicamente utilizar o sistema, seu papel é vital para o bom funcionamento do projeto. O responsável pelo projeto, que é um usuário final, deve ser um profissional que na medida do possível revele aos profissionais de TI as informações necessárias para o andamento do projeto e criação do Banco de Dados.

Outros materiais