fals jéssica macario de oliveira sistema gerenciador de banco de

Propaganda
FACULDADE DO LITORAL SUL PAULISTA – FALS
JÉSSICA MACARIO DE OLIVEIRA
SISTEMA GERENCIADOR DE BANCO DE DADOS
ESTUDO DE CASO: SISTEMA DE GERENCIAMENTO DE VENDAS
PRAIA GRANDE
2010
JÉSSICA MACARIO DE OLIVEIRA
SISTEMA GERENCIADOR DE BANCO DE DADOS
ESTUDO DE CASO: SISTEMA DE GERENCIAMENTO DE VENDAS
Trabalho de conclusão de curso, Faculdade do
Litoral Sul Paulista, sob orientação do Prof.
Paulo R. T. Cândido.
PRAIA GRANDE
2010
JÉSSICA MACARIO DE OLIVEIRA
SISTEMA GERENCIADOR DE BANCO DE DADOS
ESTUDO DE CASO: SISTEMA DE GERENCIAMENTO DE VENDAS
Trabalho de conclusão de curso, Faculdade do
Litoral Sul Paulista, sob orientação do Prof.
Paulo R. T. Cândido.
AVALIAÇÃO:_________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
NOTA: ____ (____________)
Praia Grande, 24 de abril de 2010.
RESUMO
Nos dias de hoje é impossível que uma empresa, mesmo sendo de pequeno
porte, mantenha seus processos organizados de maneira simples e objetiva onde as
informações sejam encontradas de forma ágil sem um sistema informatizado. Os
sistemas informatizados vêm para ajudar as empresas a melhorar todos os
processos desde um simples cadastro de clientes às tomadas de decisões
importantes para o crescimento da empresa
O sistema informatizado por sua vez lidará com inúmeras informações que
terão que ser armazenadas, porém o papel tem problemas ao nível da persistência
(tempo e tipo de visualização) e da recuperação (validação e verificação), ou seja,
dura pouco. Por este motivo torna-se mais fácil e seguro encontrar a informação
numa base de dados, para que sua empresa garanta um controle efetivo sobre todo
o seu negócio, tem obrigatoriamente de recorrer a sistemas de gestão de bases de
dados.
PALAVRAS CHAVES: system, data, database, SGBD.
ABSTRACT
Nowadays it is impossible for a company, even though small size, keep its
processes organized in a simple and objective where the information is found in a
flexible system without a computerized. Computerised systems have come to help
companies improve all processes from a single client record to making decisions
important to the company's growth.
The computerized system in turn will deal with numerous things that have to
be stored, but the paper has problems in the persistence (time and display type) and
recovery (validation and checking), or short-lived. Therefore it becomes easier and
find information in a secure database for your company ensure effective control over
your entire business hás required to use systems management databases.
KEYWORDS TOOL: stamps, financial, business, improvement, assist.
SUMÁRIO
1
INTRODUÇÃO ............................................................................................................... 8
2
JUSTIFICATIVA ............................................................................................................ 9
3
OBJETIVO ................................................................................................................... 10
4
SGBD .......................................................................................................................... 11
4.1 FUNÇÕES PRINCIPAIS DE UM SGBD.................................................................... 11
5
LINGUAGEM SQL ....................................................................................................... 12
5.1
5.2
5.3
5.4
5.5
DML – LINGUAGEM DE MANIPULAÇÃO DE DADOS ............................................ 12
DDL – LINGUAGEM DE DEFINIÇÃO DE DADOS ................................................... 12
DCL – LINGUAGEM DE CONTROLE DE DADOS ................................................... 13
DTL – LINGUAGEM DE TRANSAÇÃO DE DADOS................................................. 13
DQL – LINGUAGEM DE CONSULTA DE DADOS ................................................... 13
6
DICIONÁRIO DE DADOS ............................................................................................ 14
7
BANCO DE DADOS .................................................................................................... 15
7.1
7.2
7.3
7.4
8
DEFINIÇÃO ............................................................................................................. 15
BANCO DE DADOS RELACIONAL ......................................................................... 15
AS 12 REGRAS DE UM BANCO DE DADOS RELACIONAL .................................. 16
VANTAGENS DE UM BOM PROJETO DE BANCO DE DADOS ............................. 17
MODELO RELACIONAL ............................................................................................. 17
8.1 PRINCIPAIS COMPONENTES ................................................................................ 18
8.1.1 Tabelas ............................................................................................................ 18
8.1.2 Registros ......................................................................................................... 18
8.1.3 Colunas ........................................................................................................... 18
8.1.4 Chave .............................................................................................................. 18
9
O QUE É O MODELO DE ENTIDADE E RELACIONAMENTO (MER) ........................ 19
10
MYSQL ........................................................................................................................ 20
10.1
10.2
10.3
10.4
10.5
11
APLICATIVOS UTILIZADOS PARA A MANUTENÇÃO DA BASE DE DADOS ......... 23
11.1
11.2
11.3
11.4
12
MYSQL ENTERPRISE SERVER 5.1 .................................................................... 23
MYSQL ENTERPRISE MONITOR........................................................................ 23
MYSQL QUERY ANALYZER ............................................................................... 25
MYSQL CLUSTER ............................................................................................... 25
ESTUDO DE CASO ..................................................................................................... 26
12.1
12.2
12.3
12.4
13
DEFINIÇÃO ......................................................................................................... 20
HISTÓRIA DO MYSQL......................................................................................... 20
NOME E MASCOTE ............................................................................................. 20
CARACTERÍSTICAS DO MYSQL ........................................................................ 21
CARACTERÍSTICAS DO SERVIDOR MYSQL..................................................... 21
REQUISITOS DO CLIENTE ................................................................................. 26
CARACTERISTICAS DO SISTEMA..................................................................... 28
MODELO DA BASE DE DADOS .......................................................................... 29
IMAGENS DO SISTEMA ...................................................................................... 30
CONSIDERAÇÕES FINAIS ......................................................................................... 34
ÍNDICE DE ILUSTRAÇÕES
FIGURA 1 - MYSQL ENTREPRISE MONITOR ................................................................................... 24
FIGURA 2 - MYSQL ENTERPRISE EVENTS ...................................................................................... 24
FIGURA 3 - MYSQL QUERY ANALIZER ............................................................................................ 25
FIGURA 4 - MODELO DA BASE DE DADOS DO SISTEMA.............................................................. 29
FIGURA 5 - LOGIN DO SISTEMA........................................................................................................ 30
FIGURA 6 - CONSULTA DE CLIENTES ............................................................................................. 30
FIGURA 7 - LISTAGEM DE CLIENTES ............................................................................................... 31
FIGURA 8 - CONSULTA DE VENDAS ................................................................................................ 31
FIGURA 9 - CADASTRO DE CLIENTES ............................................................................................. 32
FIGURA 10 - RELATÓRIO DE VENDAS ............................................................................................. 32
FIGURA 11 - LISTAGEM DE ORDENS DE SERVIÇO ........................................................................ 33
1 INTRODUÇÃO
Este trabalho visa mostrar a importância de um Sistema Gerenciador de
banco de dados para uma empresa que deseja crescer no mercado e acompanhar o
desenvolvimento tecnológico. Para este fim existem vários tipos de SGBD que são
escolhidos de acordo com a necessidade do cliente.
Os sistemas gerenciadores de banco de dados vieram com o intuito de suprir
a necessidade de armazenamento e disponibilidade de informações de modo rápido
e seguro, fornecendo assim para as empresas um controle maior de suas
informações, desde que estas estejam bem estruturadas numa base de dados.
Para um melhor entendimento do assunto abordado, foi escolhido um único
tipo de SGBD o MySQL. Serão apresentados conceitos técnicos, características,
ferramentas utilizadas para manutenção e implementação da base de dados.
Será exemplificada a utilização do MYSQL através de um estudo de caso,
que abordará a realidade de uma empresa de comercialização de carimbos que viu
a necessidade de expandir seu negócio e para isso decidiu investir em um sistema
WEB de um e-commerce e um sistema de gerenciamento interno.
2 JUSTIFICATIVA
O avanço tecnológico não cessa por isto os administradores empresas, cada
vez mais, estão vendo a necessidade de adaptar-se a este crescimento. E a primeira
medida a ser tomada para este fim e a eliminação de processos em papel e a
adesão a sistemas informatizados que ajudam nas tarefas rotineiras e proporcionam
uma maior produtividade no ambiente de trabalho.
Portanto, mesmo em pequenas empresas observa-se a necessidade de
informatização nos processos, para que esta consiga se firmar no mercado e
eliminar concorrentes.
Sendo assim com a implantação de sistemas informatizados vem à
necessidade de controle dos dados manipulados por esses sistemas e para que este
controle seja feito de forma satisfatória é necessária a utilização de um SGBD
(Sistema Gerenciador de Banco de Dados).
3 OBJETIVO
Definir os conceitos relacionados a um SGBD, linguagem SQL, modelos
relacionais para demonstrar os benefícios gerados pelo uso do mesmo para
armazenamento, recuperação e controle de dados de qualquer empresa,
independentemente de seu porte ou mercado de atuação.
Apresentar aplicações que auxiliam na manutenção de um SGBD MYSQL,
para que os adiministrador tenham uma visão melhor em questões de performance e
identificação de diversos problemas.
Demonstrar a importância de uma modelagem de dados bem definida para
suprir a necessidade de integridade dos dados e melhorar a performance na
recuperação dos dados, pois as empresas além de segurança exigem rapidez na
recuperação das informações.
Demostrar a necessidade das organizações atuais pela informação
informatizada, as vantagens da eliminação da utilização dos processos em papel tais
como: divergencia de informações,
burocratização excessiva, lentidaão nos
processos, perda de informações importantes, entre outras.
4
SGBD
Um Sistema Gerencidador de Base de Dados (SGBD) é o conjunto de
programas de computador (softwares) responsáveis pelo gerenciamento de uma
base de dados, ou seja, consiste em uma coleção de dados inter-relacionados e
uma coleção de programas para prover o acesso a esses dados.
O objetivo principal de um SGBD é prover um ambiente que seja adequado e
eficiente para uso na recuperação e armazenamento de informações.
O SGBD implica a criação e manutenção de bases de dados, elimina a
necessidade de especificação de definição de dados, age como interface entre os
programas de aplicação e os ficheiros de dados físicos e separa as visões lógica e
de concepção dos dados.
O SGBD pode ser dividido em três componentes principais:
Linguagem de definição de dados (especifica conteúdos, estrutura a base
de dados e define os elementos de dados);
Linguagem de manipulação de dados (para poder alterar os dados na
base);
Dicionário de dados
Exemplos de SGBD: SQL Server, PostGre SQL, Oracle, MySql, DB2.
4.1
FUNÇÕES PRINCIPAIS DE UM SGBD
Interação com o sistema de arquivos do sistema operacional.
Cumprimento da integridade.
Cumprimento da segurança.
Cópias de segurança (“backup”) e recuperação.
Controle de concorrência.
Otimização e execução dos comandos DML.
Dicionário de Dados.
Desempenho
5 LINGUAGEM SQL
Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL,
é uma linguagem de pesquisa declarativa para banco de dados relacional (base de
dados relacional).
A linguagem SQL é um grande padrão de banco de dados. Isto decorre da
sua simplicidade e facilidade de uso. Ela se diferencia de outras linguagens de
consulta a banco de dados no sentido em que uma consulta SQL especifica a forma
do resultado e não o caminho para chegar a ele. Ela é uma linguagem declarativa
em oposição a outras linguagens procedurais. Isto reduz o ciclo de aprendizado
daqueles que se iniciam na linguagem.
Pode ser dividida em três partes:
Linguagem de definição de dados (DDL);
Linguagem de manipulação de dados (DML);
Linguagem de controle de dados (DCL) ;
5.1
DML – LINGUAGEM DE MANIPULAÇÃO DE DADOS
A DML é um subconjunto da linguagem usada para inserir, atualizar e apagar
dados.
INSERT é usada para inserir um registro (formalmente uma tupla) a uma
tabela existente.
UPDATE para mudar os valores de dados em uma ou mais linhas da
tabela existente.
DELETE permite remover linhas existentes de uma tabela.
5.2
DDL – LINGUAGEM DE DEFINIÇÃO DE DADOS
Uma DDL permite ao utilizador definir tabelas novas e elementos associados.
A maioria dos bancos de dados de SQL comerciais tem extensões proprietárias no
DDL.
Os comandos básicos da DDL são poucos
CREATE cria um objeto (uma Tabela, por exemplo) dentro da base de
dados.
DROP apaga um objeto do banco de dados.
Outros comandos DDL:
ALTER TABLE
CREATE INDEX
ALTER INDEX
DROP INDEX
CREATE VIEW
DROP VIEW
5.3
DCL – LINGUAGEM DE CONTROLE DE DADOS
DCL controla os aspectos de autorização de dados e licenças de usuários
para controlar quem tem acesso para ver ou manipular dados dentro do banco de
dados.
Duas palavras-chaves da DCL:
GRANT - autoriza ao usuário executar ou setar operações.
REVOKE - remove ou restringe a capacidade de um usuário de executar
operações.
Outros comandos DCL:
ALTER PASSWORD
CREATE SYNONYM
5.4
DTL – LINGUAGEM DE TRANSAÇÃO DE DADOS
BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL)
pode ser usado para marcar o começo de uma transação de banco de dados que
pode ser completada ou não.
COMMIT envia todos os dados das mudanças permanentemente.
ROLLBACK faz com que as mudanças nos dados existentes desde o
último COMMIT ou ROLLBACK sejam descartadas.
5.5
DQL – LINGUAGEM DE CONSULTA DE DADOS
Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada.
O comando SELECT permite ao usuário especificar uma consulta ("query") como
uma descrição do resultado desejado. Esse comando é composto de várias
cláusulas e opções, possibilitando elaborar consultas das mais simples às mais
elaboradas.
6 DICIONÁRIO DE DADOS
É um documento que contem a explicação de todos os objetos da base de
dados. Este documento permite que os analistas obtenham informações sobre todos
os objetos do modelo de forma textual, contendo explicações por vezes difíceis de
incluir no diagrama.
Dentro do contexto de SGBD, um dicionário de dados é um grupo de tabelas,
habilitadas apenas para leitura ou consulta, ou seja, é uma base de dados,
propriamente dita, que entre outras coisas, mantém as seguintes informações:
Definição precisa sobre elementos de dados
Perfis de usuários, papéis e privilégios
Descrição de objetos
Integridade de restrições
Stored procedures e Jobs
Estrutura geral da base de dados
Informação de verificação
Alocações de espaço
Um dos benefícios de um dicionário de dados bem preparado é a consistência
entre itens de dados através de diferentes tabelas. Por exemplo, diversas tabelas
podem conter números de telefones; utilizando uma definição de um dicionário de
dados bem feito, o formato do campo 'número de telefone' definido com "(999)99999999" deverá ser obedecido em todas as tabelas que utilizarem esta informação.
Quando uma organização constrói um dicionário de dados de dimensão
empresarial,
o
intuito
deve
ser
o
de
padronizar
precisamente
definições semânticas a serem adotadas na empresa toda, portanto, ele deve incluir
tanto definições semânticas como de representação para elementos de dados.
Os dicionários de dados são mais precisos que glossários porque costumam
ter uma ou mais representações de como o dado é estruturado e podem
envolver ontologias completas quando lógicas distintas sejam aplicadas a definições
desses elementos de dados.
7 BANCO DE DADOS
7.1
DEFINIÇÃO
Banco de dados, também chamado de base de dados, é um conjunto de
registros, que são significativos para organização, dispostos em estrutura regular
que possibilita a reorganização dos mesmos e produção de informação.
Um banco de dados é usualmente mantido e acessado por meio de um
software conhecido como Sistema Gerenciador de Banco de Dados (SGBD),
portanto é errado dizer que um banco de dados é a mesma coisa que um SGBD.
Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou
estendida.
7.2
BANCO DE DADOS RELACIONAL
Um Banco de Dados Relacional é um conceito abstrato que define maneiras
de armazenar, manipular e recuperar dados estruturados unicamente na forma de
tabelas, construindo um banco de dados.
Os Bancos de Dados Relacionais foram desenvolvidos para prover acesso
facilitado aos dados, possibilitando que os usuários utilizassem uma grande
variedade de abordagens no tratamento das informações. Pois, enquanto em um
banco de dados hierárquico os usuários precisam definir as questões de negócios
de maneira específica, iniciando pela raiz do mesmo, nos Bancos de Dados
Relacionais os usuários podem fazer perguntas relacionadas aos negócios através
de vários pontos.
Bancos de dados Relacionais são baseados no modelo relacional que é um
modelo de dados, onde todos os dados estão guardados em tabelas (ou,
matematicamente falando, relações).
7.3
AS 12 REGRAS DE UM BANCO DE DADOS RELACIONAL
Formuladas por Edgar Frank Codd, em 1985, matemático britânico
desenvolvedor do modelo de banco de dados, definem o que um banco de dados
necessidade para ser considerado relacional:
1
Regra Fundamental: Um SGBD relacional deve gerenciar seus dados
usando apenas suas capacidades relacionais.
2
Regra da informação: Toda informação deve ser representada de uma
única forma, como dados em uma tabela
3
Regra da garantia de acesso: Todo dado (valor atômico) pode ser
acessado logicamente (e unicamente) usando o nome da tabela, o valor da chave
primária da linha e o nome da coluna.
4
Tratamento sistemático de valores nulos: Os valores nulos (diferente do
zero, da string vazia, da string de caracteres em brancos e outros valores não nulos)
existem para representar dados não existentes de forma sistemática e independente
do tipo de dado.
5
Catálogo dinâmico on-line baseado no modelo relacional: A descrição do
banco de dados é representada no nível lógico como dados ordinários (isso é, em
tabelas), permitindo que usuários autorizados apliquem as mesmas formas de
manipular dados aplicados aos dados comuns ao consultá-las.
6
Regra da sub-linguagem compreensiva: Um sistema relacional pode
suportar várias linguagens e formas de uso, porém deve possuir ao menos uma
linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com
habilidade de apoiar a definição de dados, a definição de visões, a manipulação de
dados, as restrições de integridade, a autorização e a fronteira de transações.
7
Regra da atualização de visões: Toda visão que for teoricamente
atualizável será também atualizável pelo sistema.
8
Inserção, atualização e eliminação de alto nível: A capacidade de
manipular a relação base ou relações derivadas como um operador único não se
aplica apenas a recuperação de dados, mas também a inserção, alteração e
eliminação de dados.
9
Independência dos dados físicos:
a. Programas de aplicação ou atividades de terminal permanecem
logicamente inalteradas quaisquer que sejam as modificações na representação de
armazenagem ou métodos de acesso internos.
b. Independência lógica de dados
c. Programas de aplicação ou atividades de terminal permanecem
logicamente inalteradas quaisquer que sejam as mudanças de informação que
permitam teoricamente a não alteração das tabelas base.
10 Independência de integridade: As relações de integridade específicas de
um banco de dados relacional devem ser definidas em uma sub-linguagem de dados
e armazenadas no catálogo (e não em programas).
11 Independência de distribuição: A linguagem de manipulação de dados
deve possibilitar que as aplicações permaneçam inalteradas estejam os dados
centralizados ou distribuídos fisicamente.
12 Regra da Não-subversão: Se o sistema relacional possui uma linguagem
de baixo nível (um registro por vez), não deve ser possível subverter ou ignorar as
regras de integridade e restrições definidas no alto nível (muitos registros por vez).
7.4
VANTAGENS DE UM BOM PROJETO DE BANCO DE DADOS
Reflete a estrutura real do problema
Pode representar todos os dados esperados ao longo do tempo
Evita armazenamento redundante de itens de dados
Fornece acesso eficiente aos dados
Suporta a manutenção da integridade dos dados ao longo do tempo
8 MODELO RELACIONAL
Em um banco de dados relacional é muito importante a etapa da modelagem
de dados, pois esta etapa definirá aspectos importantes da estrutura que afetará o
desempenho de sua base de dados futuramente. Por exemplo, é na etapa da
modelagem de dados que eliminamos as redundâncias das informações por separalas corretamente em tabelas, evitando assim que nossa base tenha um tamanho
maior do que o necessário, ou que durante um select o mysql consuma mais
recursos que o necessário.
A modelagem de dados deve se adequar com a necessidade do cliente e
para que se possa realizar a mesma deve-se conhecer os requisitos do cliente.
Apresentarei aspectos técnicos quanto asos elementos da modelagem e
depois será apresentado um estudo de caso com um exemplo de modelagem dos
dados.
8.1
PRINCIPAIS COMPONENTES
8.1.1 Tabelas
Também chamada de relações ou entidades, as tabelas podem ser descritas
como armazem de dados. Uma tabela, nada mais é do que uma simples estrutura de
linhas e colunas, onde cada linha contém um mesmo conjunto de colunas.
Em um banco de dados podem existir uma ou centenas de tabelas, sendo
que o limite pode ser imposto tanto pela ferramenta de software utilizada, quanto
pelos recursos de hardware disponíveis no equipamento.
As tabelas associam-se entre si através de regras de relacionamentos, estas
regras consistem em associar um ou vários atributo de uma tabela com um ou vários
atributos de outra tabela.
8.1.2 Registros
Cada linha formada por uma lista ordenada de colunas representa um
registro, ou tupla. Os registros não precisam conter informações em todas as
colunas, podendo assumir valores nulos quando assim se fizer necessário.
8.1.3 Colunas
As colunas de uma tabela são também chamadas de Atributos. Ao conjunto
de valores que um atributo pode assumir chama-se domínio. Por exemplo: em um
campo do tipo numérico, serão somente armazenados números.
8.1.4 Chave
As tabelas relacionam-se umas as outras através de chaves. Uma chave é
um conjunto de um ou mais atributos que determinam a unicidade de cada registro.
Por exemplo, se um banco de dados tem como chaves Código do Produto e
ID Sistema, sempre que acontecer uma inserção de dados o sistema de
gerenciamento de banco de dados irá fazer uma consulta para identificar se o
registro já não se encontra gravado na tabela. Neste caso, um novo registro não
será criado, resultando esta operação apenas da alteração do registro existente.
Temos dois tipos de chaves:
Chave primária: (PK - Primary Key) é a chave que identifica cada registro
dando-lhe unicidade. A chave primária nunca se repetirá.
Chave Estrangeira: (FK - Foreign Key) é a chave formada através de um
relacionamento com a chave primária de outra tabela. Define um relacionamento
entre as tabelas e pode ocorrer repetidas vezes. Caso a chave primária seja
composta na origem, a chave estrangeira também o será.
9 O QUE É O MODELO DE ENTIDADE E RELACIONAMENTO (MER)
O modelo de entidades e relacionamentos é um modelo abstrato cuja
finalidade é descrever, de maneira conceitual, os dados a serem utilizados em
um sistema de informações ou que pertencem a um domínio.
Um relacionamento do Modelo de Entidades e Relacionamentos é uma
associação entre entidades distintas. As ligações são feitas ligando-se um campo de
uma tabela X com um campo de uma tabela Y, por meio da inclusão do campo
chave da tabela Y como um campo (conhecido como chave estrangeira) da tabela X.
Por meio das chaves estrangeiras, é possível implementar restrições nos
SGBDR.
9.1
PRINCIPAIS TIPOS DE RELACIONAMENTO
Um para um (1 para 1) - indica que as tabelas têm relação unívoca entre si,
ou seja, na qual um elemento da primeira tabela conduz a um, e somente a
um, elemento da segunda tabela. Neste tipo você escolhe onde ficara a chave
estrangeira.
Um para muitos (1 para N) - a chave primária da tabela que tem o lado 1 vai
para a tabela do lado N, ou seja um elemento da primeira tabela porderá
conduzir a vários elemntos da segunda . No lado N ela é chamada de chave
estrangeira;
Muitos para muitos (N para N) - quando tabelas têm entre si relação n..n, é
necessário criar uma nova tabela com as chaves primárias das tabelas
envolvidas, ficando assim uma chave composta, ou seja, formada por
diversos campos-chave de outras tabelas. A relação então se reduz para uma
relação 1..n, sendo que o lado n ficará com a nova tabela criada.
10 MYSQL
10.1 DEFINIÇÃO
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que
utiliza a linguagem SQL como interface.
É atualmente um dos bancos de dados mais populares, com mais de 10
milhões de instalações pelo mundo. Este sucesso deve-se em grande medida à fácil
integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de
hospedagem de sites da Internet oferecidos atualmente.
10.2 HISTÓRIA DO MYSQL
O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark,
Allan Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a
década
de
1980.
Hoje
seu
desenvolvimento
e
manutenção
empregam
aproximadamente 400 profissionais no mundo inteiro, e mais de mil contribuem
testando o software, integrando-o a outros produtos, e escrevendo a respeito dele.
No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi
adquirida pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor
de licenças livres. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e
todos o seu produtos, incluindo o MySQL. A Comissão Europeia ainda não aprovou
a aquisição.
10.3 NOME E MASCOTE
A derivação do nome MySQL não é bem definida. Nosso diretório base e um
grande número de nossas bibliotecas e ferramentas sempre tiveram o prefixo ``my''
por pelo menos 10 anos. A filha de Monty também ganhou o nome My. Qual das
duas originou o nome do MySQL continua sendo um mistério, mesmo para nós.
O nome do golfinho do MySQL (nosso logo) é Sakila. Sakila foi escolhido
pelos fundadores da MySQL AB de uma enorme lista de nomes sugeridos pelos
usuários em nosso concurso "Name the Dolphin". O nome vencedor foi enviado por
Ambrose Twebaze, um desenvolvedor de programas open source de Swaziland,
Africa. De acordo com Ambrose, o nome Sakila tem as suas raízes em SiSwati, a
língua local de Swaziland. Sakila é também o nome de uma cidade em Arusha,
Tanzania, próxima ao país de orígem de Ambrose, Uganda.
10.4 CARACTERÍSTICAS DO MYSQL
Portabilidade (suporta praticamente qualquer plataforma atual);
Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface
para diversas linguagens de programação, como Delphi, Java, C/C++, Visual
basicPython, Perl, PHP, ASP e Ruby)
Excelente desempenho e estabilidade;
Pouco exigente quanto a recursos de hardware;
Facilidade de uso;
É um Software Livre com base na GPL;
Contempla a utilização de vários Storage Engines como MyISAM, InnoDB,
Falcon, BDB, Archive, Federated, CSV, Solid…
Suporta controle transacional;
Suporta Triggers;
Suporta Cursors (Non-Scrollable e Non-Updatable);
Suporta Stored Procedures e Functions;
Replicação facilmente configurável;
Interfaces gráficas de fácil utilização cedidos pela MySQL Inc.
10.5 CARACTERÍSTICAS DO SERVIDOR MYSQL
O Servidor MySQL é escrito em múltiplas camadas com módulos
independentes. Alguns dos novos módulos estão listados abaixo com indicações de
quão bem-testado foi cada um deles.
Replicação: Grandes grupos de servidores usando replicação estão em uso,
com bom resultados. O trabalho no aprimoramento dos recursos de replicação
continua no MySQL 4.x.
Tabelas InnoDB: O mecanismo de armazenamento transacional InnoDB foi
declarado estável na árvore do MySQL 3.23, a partir da versão 3.23.49. InnoDB tem
sido usado em sistema de produção grandes e com carga pesada.
Tabelas BDB: O código do Berkeley DB é muito estável, mas ainda estamos
melhorando a interface do mecanismo de armazenamento transacional do BDB no
Servidor MySQL, assim levará algum tempo até que ele esteja tão bem testado
quanto os outro tipos de tabela.
Pesquisas Full-text: Pesquisa full-text funcionam mas ainda não são
largamente usadas. Melhoramentos importantes forma implementados no MySQL
4.0.
MyODBC 3.51: Em grande uso na produção. Alguns problemas apresentados
parecem ser relacionados a aplicação e independente do driver ODBC ou do
servidor de banco de dados.
Recuperação automática de tabelas MyISAM: Este status se aplica apenas ao
novo código que confere no mecanismo de armazenamento MyISAM que verifica, na
inicialização, se a tabela foi fechada corretamente e executa uma conferência/reparo
automático da tabela em caso negativo.
Bulk-insert: Novo recurso nas tabelas MyISAM no MySQL 4.0 para inserções
mais rápidas de vários registros.
Locking: Esse módulo é muito dependente do sistema. Em alguns sistemas
existem certos problemas por utilizar o locking padrão do SO (fcntl(). Nestes casos,
você deve executar o mysqld com o parâmetro --skip-external-locking. São
conhecidos alguns problemas ocorridos em alguns sistemas Linux e no SunOS
quando utiliza-se sistemas de arquivos montados em NFS.
11 APLICATIVOS UTILIZADOS PARA A MANUTENÇÃO DA BASE DE
DADOS
11.1 MYSQL ENTERPRISE SERVER 5.1
MySQL Enterprise Server é o mais confiável, segura e up-to-date versão do
MySQL para o custo-eficácia, fornecendo E-commerce, Online Transaction
Processing (OLTP) e aplicações multi-terabyte Data Warehousing. É uma operação
totalmente integrada de segurança, banco de dados compatível com ACID cometer
completo, rollback, recuperação de falhas e capacidades de nível de linha de
bloqueio. MySQL fornece a facilidade de uso, escalabilidade e desempenho que fez
a MySQL banco de dados mundial de código aberto mais popular.
11.2 MYSQL ENTERPRISE MONITOR
A MySQL Enterprise Monitor monitora os servidores MySQL e alerta para
problemas potenciais antes que eles afetem seu sistema. É como ter um "DBA
Virtual Assistant" ao seu lado para recomendar as melhores práticas para eliminar as
vulnerabilidades de segurança, melhorar a replicação de dados, otimizar o
desempenho, identifica problemas no consumo de recursos, entre outras funções.
Figura 1 - Mysql Entreprise Monitor
Figura 2 - Mysql Enterprise Events
11.3 MYSQL QUERY ANALYZER
O MySQL Query Analyzer é um aplicativo de monitoramento de desempenho
de consulta e localizar com precisão o código SQL que está causando uma
desaceleração.
As consultas são apresentadas em uma visão agregada em todos os
servidores MySQL que você pode filtrar para problemas específicos de consulta e
analisar o código mais caro. O MySQL Query Analyzer, possibilita que você possa
melhorar o código SQL durante o desenvolvimento ativo, e continuamente monitorar
e ajustar as consultas em produção.
Figura 3 - Mysql Query Analizer
11.4 MYSQL CLUSTER
É uma tecnologia de banco de dados que mantém os dados em memória, e
que tem como base não compartilhar recursos entre processos, objetivando uma
solução de alta disponibilidade utilizando hardware de baixo custo.
Possui um “shared-nothing” arquitetura distribuída com nenhum ponto único
de falha para assegurar alta disponibilidade e desempenho, permitindo-lhe atender a
seus mais exigentes requisitos das aplicações de missão crítica.
MySQL Cluster elimina a necessidade de armazenamento compartilhado
caro, pois combina processamento paralelo e redundância de dados.
12 ESTUDO DE CASO
12.1 REQUISITOS DO CLIENTE
REQUISITOS FUNCIONAIS
PRIORIDADE SOLUÇÃO PROSPOSTA
O sistema deverá conter um Alta
Será desenvolvido um módulo onde
controle de clientes.
o administrador do sistema poderá:
cadastrar, editar, excluir e pesquisar
informações referentes aos clientes.
Haverá
relatórios
no
sistema
referente às informações cadastrais
e financeiras dos clientes.
O sistema deverá conter um Alta
Será desenvolvido um módulo onde
controle de fornecedores.
o administrador do sistema poderá:
cadastrar, editar, excluir e pesquisar
informações
referentes
aos
fornecedores. Haverá relatórios no
sistema referentes às informações
cadastrais dos fornecedores e um
comparativo entre os preços dos
fornecedores.
O sistema deverá conter um Alta
Será desenvolvido um módulo onde
controle de estoque.
o administrador do sistema poderá:
cadastrar, editar, excluir e pesquisar
informações referentes aos produtos
em estoque.
O sistema alertará o administrador
quando determinado item estiver
acabando.
O Sistema deverá controlar os Alta
O
sistema
deverá
conter
uma
débitos e créditos
listagem dos clientes que possuem
débitos. E o sistema enviar alertas
de e-mail para o cliente que está em
débito
de
acordo
com
período
estipulado pelo administrador.
O sistema deverá conter um Alta
Será desenvolvido tanto na parte
controle de vendas.
administrativa,
quanto
no
commerce
módulo
onde
um
eo
administrador poderá cadastrar e
calcular
as
vendas.
Haverá
relatórios no sistema indicando os
produtos mais vendidos.
Quando for efetuada a venda de um
produto o sistema deverá atualizar
automaticamente a quantidade do
produto no estoque.
O
sistema
deverá
realizar Alta
emissão e envio de boletos.
Será desenvolvido um módulo onde
o administrador fará a emissão de
boletos e poderá imprimi-los.
O
sistema
enviará
mensalmente
de
os mesmos
forma
automatizada para os e-mails dos
clientes.
O sistema deverá conter um Alta
Será desenvolvido um módulo para
controle
e
cadastro de usuários no sistema,
usuário
onde estes terão seus acessos
permissões
de
acessos
de
(sistema de gerenciamento).
diferenciados de acordo com seu
nível de permissão.
O sistema deverá conter um Alta
Será desenvolvido um módulo onde
controle de pedidos.
o administrador do sistema poderá:
cadastrar, editar, excluir e pesquisar
informações referentes aos pedidos
do cliente.
O
sistema
deverá
realizar Alta
emissão de ordens de serviço.
Será desenvolvido um módulo onde
o administrador fará a emissão de
ordens de serviço e poderá imprimilos.
O
sistema
deverá
enviar Baixa
Será desenvolvido um módulo onde
ofertas automáticas para os
o administrador poderá cadastrar as
clientes que possuem e-mails
ofertas no sistema, estas serão
cadastrados.
enviadas
por
e-mail
para
seus
clientes.
O Sistema deverá conter um Alto
O administrador terá o controle dos
controle
boletos que vão vencer de seus
de
boletos
de
fornecedores.
fornecedores, o sistema deve alertar
quando
o
vencimento
estiver
próximo.
12.2 CARACTERISTICAS DO SISTEMA
O sistema será desenvolvido em plataforma web, utilizando a linguagem de
programação ASP. Net, tendo dois módulos: o e-commerce para comercialização
dos carimbos e a parte de gestão administrativa. Terá como SGBD o Mysql. Estes
ficarão hospedados em um servidor on-line.
A estrutura do sistema foi desenvolvida para acompanhar o crescimento do
empreendimento, sendo de fácil manutenção e adaptação.
12.3 MODELO DA BASE DE DADOS
Figura 4 - Modelo da Base de Dados do Sistema
12.4 IMAGENS DO SISTEMA
Figura 5 - Login do sistema
Figura 6 - Consulta de Clientes
Figura 7 - Listagem de Clientes
Figura 8 - Consulta de Vendas
Figura 9 - Cadastro de Clientes
Figura 10 - Relatório de Vendas
Figura 11 - Listagem de Ordens de Serviço
13 CONSIDERAÇÕES FINAIS
Este trabalho visou mostrar que é imprescindível para as empresas
atualmente, independente do mercado de atuação e porte, para conseguir uma boa
visibilidade no mercado e eliminar as concorrentes é necessário a implantação e
aperfeiçoamento de sistemas informatizados para melhorar a gerência e controle
das informações (estas estarão em uma base de dados).
Um forte aliado das empresas na recuperação e controle das informações é o
sistema gerenciador de banco de dados, este quando bem estruturado proporciona
uma gerência, controle e manipulação de informações de forma segura, eficaz,
simples e rápida.
Quando a base de dados de uma empresa está bem estruturada
proporciona a eliminação redundâncias existentes e a divergência de informações,
segurança e integridade dos dados, recuperação após alguma falha (as informações
de um cliente, por exemplo, não são perdidas facilmente), concorrência (várias
pessoas e aplicações podem compartilhar os mesmos dados), uma maior
organização dos dados, rapidez na recuperação das informações, entre outros.
Atualmente no mercado a diversas ferramentas que auxiliam a manutenção
das bases de dados e facilitam o desempenho dos profissionais da área e também
da empresa em si que é beneficiada de forma ampla pela utilização de dados
informatizados.
REFERÊNCIAS BIBLIOGRÁFICAS
Padua
Paula Filho, Wilson de. Livro Engenharia de Software. LTC. São Paulo, 2003.
Suehring,
Steve.
MySQL
-
A
Bíblia.
Campus
/
Elsevier.
Rio
de
Janeiro,
2002.
Luiz Tonsig, Sérgio. MySQL Aprendendo na Prática. Ciência Moderna. Rio de Janeiro, 2006
www.mysql.com – Acesso em: 20/05/2010
Download