AULA 1
Módulo 5 - Bases de Dados
1. Necessidade de uma BASE DE DADOS
Nos dias de hoje, o uso do computador é uma prática comum. A necessidade de registar os dados no computador prende-se com o grande crescimento, ao nível do volume, da informação armazenada. Em bases de dados tradicionais, de dados de clientes de uma empresa, por exemplo, o suporte utilizado (papel ou cartão) era de fácil deterioração, sendo difícil a alteração e pesquisa de informação armazenada quando o arquivo tomava grandes dimensões.
Uma base de dados neste suporte traz também o inconveniente do espaço físico ocupado, havendo também forte possibilidade de duplicação da informação.
A utilização de bases de dados em computador veio solucionar diversos problemas. O suporte utilizado é de menor deterioração, ocupando menor espaço físico, a manipulação de informação é facilitada, podendo ser eliminados dados redundantes.
2. Base de Dados
Uma Base de Dados é um sistema de armazenamento de dados relacionados entre si, de uma forma permanente, num sistema informático, com redundância controlada, acessíveis a um grupo de utilizadores e estruturado sob a forma de ficheiros de dados ou tabelas.
Assim, por exemplo:
- uma lista de endereços,
- um conjunto de dados sobre clientes
- uma lista organizada de CD’s
A Base de Dados (database) pode também ser designada por Banco de Dados (databank). Estes dois termos são sinónimos. Quando falamos de bases de dados, é importante distinguir Dados e Informação.
-
Os Dados são os elementos isolados, significativos, rigorosos e relevantes. São os factos do mundo real. Podem ser vistos como a matéria-prima necessária para um determinado processamento.
-
A Informação é o conjunto de dados, organizados e sujeitos a um tratamento, tornando assim possível a sua utilização num determinado contexto.
Os dados não têm qualquer valor e só se transformam em informação quando relacionados, ou interpretados, de alguma forma.
Para uma base de dados deve existir um Administrador. Este é o responsável máximo da base de dados. Cabe-lhe gerir todos os acessos e realizar a coordenação e monitorização do seu uso.
Existe uma grande variedade de classificações para bases de dados, de acordo com o modelo de programação associado. Durante muito tempo, foi usual considerar três principais modelos conceptuais de bases de dados:
-
modelo hierárquico,
-
modelo em rede
-
modelo relacional.
O modelo mais utilizado é o modelo relacional, que se baseia num conjunto de operações lógicas de álgebra e cálculo relacionais. Neste modelo, as bases de dados são constituídas por tabelas e relacionamentos
entre elas.
A correcta estruturação das tabelas e seus relacionamentos garantirá, conjuntamente com um sistema de gestão de bases de dados relacional, um funcionamento coerente de uma base de dados, relativamente a operações típicas como consulta, actualização, adição e eliminação.
3. Sistemas de Gestão de Base de Dados
Para gerir as bases de dados foram criadas ferramentas do tipo SGBD – Sistema de Gestão de Bases de Dados.
Um sistema de gestão de bases de dados (SGBD) é um programa que disponibiliza todos os serviços básicos relacionados com as bases de dados, como operações de definição de estrutura, manipulação dos dados e controlo dos dados.
Existem diversas escolhas no mercado de SGBD, podendo dividir-se em dois grandes grupos:
● Grande porte – Exemplos: ORACLE, Microsoft SQL Server, MySQL, Ingres, Informix e DB2.
● Uso pessoal (doméstico) e/ou de pequenas empresas – Exemplos: Dbase, FoxPro, Microsoft Access e OpenOffice Base.
O PHP e as Bases de Dados - O PHPMYADMIN
4. Base de Dados Relacional
O termo base de dados está intimamente associado à noção de “uma colecção de informação”. De um ponto de vista mais teórico pode-se afirmar que uma base de dados é um conjunto estruturado de informação. Uma base de dados é uma colecção de dados formalmente definida, informatizada, partilhável e sujeita a um controlo central.
Uma base de dados é uma colecção de dados inter-relacionados com múltiplas utilizações.
Uma base de dados relacional é um sistema de gestão de informação relativamente complexo.
Se a função de uma base de dados fosse simplesmente a de armazenar dados, a sua organização seria relativamente simples.
O Modelo relacional organiza os dados em tabelas logo a base de dados é composta por um conjunto de tabelas e associações entre as tabelas. A associação entre os dados é o ponto forte dos sistemas relacionais.
As tabelas são formadas por linhas e colunas onde figuram os dados. Numa base de dados relacional os dados estão todos representados como valores nas colunas das tabelas.
Ficha de trabalho nº1
Publique no blog da disciplina
1.Qual a importância de hoje em dia existir uma base de dados?
2. Defina BASE DE DADOS.
3. Explique a diferença entre DADOS e INFORMAÇÃO.
4. Como podem ser classificadas as Bases de Dados? Qual o modelo mais usado hoje em dia?
5. O que entende por Base de Dados Relacional?
6. Apresente um exemplo prático (em forma de tabelas) de uma BD Relacional.
AULA 2
5. Conceitos do modelo relacional
• O modelo relacional representa os dados numa BD como uma coleção de tabelas (relações);
• Cada tabela terá um nome, que será único, e um conjunto de atributos (representados pelas colunas) com os seus respectivos nomes e domínio:
• Todos os valores de uma coluna são do mesmo tipo de dados;
• O nome de cada coluna é chamado de atributo;
• A cada domínio está associado um tipo de dados ou formato.
• Na terminologia de BD Relacional uma linha é chamada tupla, um nome de coluna é chamado de atributo e cada tabela é chamada de relação;
• Cada linha da tabela (tupla) tem um conjunto de atributos ou atributo chamado de campo chave que a identifica de maneira única na relação;
• Nenhum valor de chave primária poderá ser NULO.
5.1 Domínios, Relações e Atributos
O modelo relacional baseia-se em três conceitos básicos:
-
domínio,
-
relação,
-
atributo.
O domínio é um conjunto de valores que possuem determinadas propriedades em comum; ao conjunto de todos os valores possíveis para um determinado atributo dá-se o nome de domínio. O domínio engloba dados atómicos ou simples, porque não podem sofrer mais nenhuma decomposição.
Uma relação representa um conjunto de objectos dum tipo particular. Os objectos que pertencem à relação são, no essencial, os elementos que obedecem às propriedades da relação. Assim, a relação é um conjunto com propriedades próprias, em que os seus elementos se designam por tuplas ou linhas.
As colunas de uma tabela são também chamadas de atributos. Ex.: O campo Nome, ou endereço de uma tabela de um BD relacional.
5.2 Chave Primária e Chave Estrangeira
Cada tabela deve incluir um campo ou conjunto de campos que identifique de forma exclusiva, cada registo (linha) armazenado na tabela. Esse(s) campo(s) são chamado(s) de chave primária da tabela.
Desta forma, com a chave primária cria-se uma identificação única, o que dá total segurança para que aplicações possam aceder, alterar e excluir dados sem correr o risco de apagar ou alterar os registos (linhas) errados.
A chave estrangeira ocorre quando um atributo de uma relação é chave primária noutra relação.
Por exemplo:
6. Vantagens (e Desvantagens) dos Sistemas de Base de Dados
• Resposta rápida aos pedidos de informação. Como os dados estão integrados numa única estrutura (a base de dados) a resposta a questões complexas processa-se com rapidez.
• Acesso múltiplo. O software de gestão de base de dados permite que os dados sejam acedidos de diversíssimas maneiras. Nomeadamente, os dados podem ser visualizados através de pesquisas sobre qualquer um dos campos da tabela.
• Flexibilidade. Em consequência da independência entre dados e programas, qualquer alteração num desses elementos não implica modificações drásticas no outro.
• Integridade da informação. Dada a absoluta exigência de não permitir a redundância, as modificações de dados são feitas num só sítio, evitando-se assim possíveis conflitos entre diferentes versões da mesma informação.
• Melhor gestão da informação. Em consequência da localização central dos dados, sabe-se sempre como e onde está a informação.
A principal, e mais significativa, desvantagem dos sistemas de gestão de base de dados é o seu custo, não tanto em termos de preço do software de base, mas fundamentalmente em despesas de desenvolvimento. É um tipo de software altamente sofisticado que requer, para o seu desenho e desenvolvimento, pessoal com uma formação adequada.
Os custos resultantes duma má conceptualização são enormes. A construção duma base de dados deficiente tem consequências nefastas numa organização. Tanto em custos directos, como em termos psicológicos, ficando na memória da organização uma animosidade contra as “geniais” inovações tecnológicas.
7. Conceptualização de Modelos de Dados
Uma base de dados é um modelo das necessidades em informação do utilizador final, ou seja, do sistema real.
Os modelos de dados não se referem apenas a dados. São eles próprios feitos de dados.
O desenvolvimento do modelo conceptual é, sem dúvida, o passo mais importante na criação de uma base de dados relacional. Este passo deve ser sempre a primeira etapa do projeto.
O esquema conceptual deve obedecer às seguintes propriedades:
1. Simplicidade
Simplicidade compreende a facilidade de se deixar compreender e manipular, devendo obedecer a algumas condições:
• O número de objectos básicos deve ser pequeno.
O esquema conceptual deve ser construído com recurso a somente meia dúzia de conceitos e objectos.
• Não se devem misturar nem agrupar os conceitos.
Para que um conceito seja claro não deve ser utilizado para aglutinar outros objectos ou conceitos.
• A redundância deve ser sempre eficazmente controlada.
Não deve ser permitido que o mesmo facto seja mencionado em dois ou mais lugares. Um facto representa a associação entre uma entidade e alguma das suas propriedades. Por exemplo, a associação entre a batata-semente e o seu preço numa certa data.
2. Base Teórica
Dada a importância deste nível conceptual, é essencial que este tenha como suporte um conjunto sólido de conceitos.
A abordagem relacional satisfaz globalmente todos esses requisitos.
• Toda a informação é representada por um só conceito, a relação. A relação é um conceito familiar ao utilizador - há várias centenas (talvez milhares) de anos que as pessoas utilizam tabelas. A relação é um conceito sólido facilmente manipulável.
• A teoria da normalização (conjunto de normas associadas ao modelo relacional) garante que um mesmo facto não apareça em mais de um sítio.
Ficha de trabalho nº2
Publique no blog da disciplina
1.Defina os seguinte termos de uma base de dados:
a) Entidade
b) Relação
c) Atributo
2. O que é uma Chave Primária?
3. O que é uma Chave Estrangeira?
4. Apresente algumas vantagens e desvantagens da utilização de um Sistema de Base de Dados.
5. Indique qual é a primeira etapa a fazer na realização de um projecto de base de dados.
6. Indique as propriedades a que um esquema conceptual deve obedecer.
AULA 3
8. Processo de desenho de uma base de dados
O primeiro passo centra-se na recolha e análise das especificações. Para isso, a equipa de desenvolvimento conduzirá uma série de entrevistas aos utilizadores, e procurará reunir toda a documentação existente sobre as actividades em estudo.
Depois da análise das especificações, o segundo passo é na direcção da criação de um esquema conceptual da futura base de dados. Este esquema será estabelecido através de um modelo de dados conceptual de alto nível. O esquema conceptual é uma descrição rigorosa das necessidades (em dados e informação) dos utilizadores.
O terceiro e último passo, consiste na construção física da base de dados através de um sistema de gestão de base de dados.
9. O phpMYADMIN
O phpMyAdmin é uma ferramenta gratuita, escrita em PHP, e que permite de forma muito simples fazer a administração das bases de dados (MySql) através do browser.
Na atualidade a maior parte dos sites usam bases de dados MySQL para guardar os seus conteúdos. Para gerir a base de dados MySQL dos sites usa-se na maioria das vezes a aplicação web phpMyAdmin, que está que está disponível em 99,9% dos servidores de alojamento web.
O phpMyAdmin é muito utilizado pelos webmasters. Está disponível em 54 idiomas. É uma ferramenta obrigatória em quase todos os web hostings e também é incluída com os pacotes de servidores offline, como por exemplo o XAMPP.
Com o phpMyadmin é possível:
-
Criar e remover bases de dados;
-
Criar, remover e alterar tabelas;
-
Inserir, remover e editar campos;
-
Executar códigos SQL;
-
Exportar dados para os formatos CSV, XML e Latex;
-
Fazer backups e recuperar bases de dados;
-
Manipular campos chaves;
-
... e outras funcionalidades.
O phpMYADMIN requer um servidor web e um servidor de base de dados.
Se for instalado com o pacote XAMPP o servidor web é o APACHE e o servidor de base de dados é o MySQL.
SERVIDOR WEB - APACHE
Sempre que um utilizador acede a um site é enviada uma requisição ao servidor que aloja o site. O servidor baseado nestas requisições responde à solicitação com algum serviço.
Um servidor é um computador disponibilizado numa rede com o objetivo de prover serviços para outros hosts. No caso de sites trata-se de um servidor Web.
O apache opera no modelo cliente-servidor, ou seja, o servidor web Apache, recebe as requisições do cliente (browser) e responde ao cliente em codificação HTML. O servidor web interpreta a codificação HTML e não interpreta o código PHP Ao receber uma solicitação .php o servidor aciona o Interpretador PHP que processa as solicitações do código PHP.
SERVIDOR WEB - MySQL
O MySQL é um sistema de gestão de base de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente uma das bases de dados mais populares, com mais de 10 milhões de instalações pelo mundo.
O sucesso do MySQL deve-se à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente.
Características
-
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++, Python, 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 (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.
10. PHPMyAdmin e comandos básicos do SQL
Como criar uma base de dados PHP/MySQL através do phpMyAdmin (clique para ver)
Introdução de PHPMyAdmin e comandos básicos SQL
CREATE DATABASE [IF NOT EXISTS] nome_bd;
CREATE TABLE nome _ da_ tabela
(
campo1 tipo_do_campo,
campo2 tipo_do_campo,
PRIMARY KEY (campo1)
);
INSERT INTO nome _ da_ tabela (campo1,campo2,..) Values (valor1,valor2,..)
SELECT campo1,campo2,.. FROM nome_tabela
SELECT campo1,campo2,.. FROM nome_tabela WHERE campo operador valor