Centro Universitário do Triângulo Conceitos fundamentais de arquivos e banco de dados Introdução a Banco de Dados Coleção de dados relacionados. Definimos dados como fatos conhecidos que podem ser registrados e que possuem significado implícito. Por exemplo: Considere os nomes, números de telefone e endereços de pessoas que você conhece. Você pode ter registrado estes dados em uma agenda de endereços com um índice ou pode ter armazenado esses dados num meio magnético, utilizando o computador e um software como o Interbase, o FireBird ou Oracle. Essa seria uma coleção de dados relacionados com um significado implícito e, portanto um banco de dados. Conceitos Fundamentais Arquivo: é um conjunto de registros / informação armazenados. Exemplo: o arquivo chamado controle de estoque, controle de conta corrente, controle bancário, ou simplesmente um controle de clientes ou de fornecedores. Banco de Dados: é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico. Exemplos: lista telefônica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa. Sistema Gerenciador de Bando de Dados: Software projetado para dar suporte adequado e eficiente à manutenção e utilização de grandes coleções de dados. Criando uma estrutura de banco de dados Linguagens de Banco de Dados: - Linguagem de definição de dados (DDL) Linguagem para especificar o esquema conceitual do B.D (é fornecida como parte do SGBD). - Linguagem de manipulação de dados (DML) Linguagem que permite ao usuário fazer o acesso aos dados (inserir, eliminar, modificar e consultar). A porção de uma DML que envolve busca de informações é chamada linguagem de consulta (Query Language). Definição (criação) de tabelas em SQL (DDL) Comando: CREATE TABLE CREATE TABLE Func (CodFun CHAR (5) PRIMARY KEY, ... ... CodDep CHAR (3), FOREIGN KEY CodDep REFERENCES ON DELETE CASCADE ON UPDATE RESTRICT); Testando no Interbase Usuário e Senha Interbase: SYSDBA – masterkey Criar um banco de dados com a seguinte estrutura: C:\UNITRI\CCO91 - PDS\database Executar (CTRL+E) o comando em Interative SQL CREATE TABLE CLIENTE (CODCLI INT NOT NULL, NOMCLI VARCHAR(50) NOT NULL, ....., PRIMARY KEY (CODCLI)); INSERT INTO CLIENTE (CODCLI,NOMCLI) VALUES (1,'JOAO JOSE JOAQUIM'); COMMIT; SELECT * FROM CLIENTE; Testando no FireBird Para criar o banco com esta tabela, primeiro crie um novo arquivo do tipo texto(ex.: Banco.txt), contendo os seguintes comandos SQL: create database 'DBASEExpress.gdb'; connect ' DBASEExpress.gdb'; CREATE TABLE CLIENTE (CODCLI INT NOT NULL, NOMCLI VARCHAR(50) NOT NULL, ....., PRIMARY KEY (CODCLI)); Salve o arquivo, e com o Firebird/Interbase já instalado, execute o programa Isql.exe, que se encontra na pasta \bin da instalação do servidor em um prompt do MS-Dos (lembre-se que o servidor tem de estar rodando – c:\Firebird\bin\ ibguard.exe): C:\Firebird\Bin\>isql –u SYSDBA – p masterkey Quando aparecer o prompt do Isql, digite: SQL> input ‘c:\pasta\Banco.txt’; [Enter] Responta Y à pergunta que aparecer, e o banco será criado. Dê exit; para sair do Isql, e mova o banco recém criado para a pasta onde você for trabalhar, para ficar mais simples e feche o prompt do MS-Dos Estrutura Delphi (Banco de Dados) Objetos Data Module A partir do Delphi 2.0 foi incorporado o uso de objetos conhecidos por Data Module, que servem para que suas aplicações providenciem um desenho centralizado da definição de acesso aos dados e das regras de negócio. Os objetos Data Modules, também podem ser separados por negócios lógicos (como exemplo por áreas: compras, vendas, estoque, etc.) formando caminhos de conexões simples. • Os objetos Data Modules podem ser aplicados a objetos tais como Tables, Stored Procedures, ou Queries permitindo a centralização dos eventos envolvidos em antes e depois da gravação, exclusão, inserção ou edição dos dados. E até mesmo na colocação de novos objetos de controle para maior facilidade. • As relações de dados Master / Detail são definidas em menor quantidade. Possibilita então ao desenvolvedor criar aplicações do tipo Client / Server de forma mais fácil, rápida, e segura se utilizando das propriedades dos objetos Datasources ou utilizando o Database Form Expert. • Os formulários das aplicações, podem ser ligados diretamente a um ou mais objetos Data Module para a propagação das regras de negócio sem a necessidade de execução de um código extra. Os objetos Data Modules são classes de objetos que pertencem a interação dos dados do database server. Isolando totalmente o acesso ao banco de dados com a aplicação Client, simplificando deste modo toda a manutenção realizada. Dicionário de Dados Escalável O dicionário de dados é utilizado para armazenar informações sobre o uso dos dados contidos nas suas tabelas. O dicionário deve ser como uma árvore genealógica trabalhando como um inspetor de modificações que permitem um armazenamento facilitado. O dicionário deve conter informações dos atributos dos campos tais como: valores mínimo, máximo e comuns (valores default), máscaras utilizadas, etc. A utilização do dicionário de dados traz as seguintes vantagens: 1. Consistência: Campos idênticos são armazenados centralmente no dicionário isto reduz o tempo de definição das duplicidades. Um desenvolvedor poderá criar os campos complementares com domínios e aplicações apropriadas. 2. Redução do Tráfico da Rede: O Delphi permite que a validação dos dados seja feita nas máquinas client ou no servidor. O Dicionário de dados permite que a manutenção dos atributos dos campos do lado client seja validado de forma eficiente reduzindo a necessidade do tráfego da rede.