www.institutosiegen.com.br Aula 4 1. Banco de Dados Banco de Dados Um Banco de Dados (BD) é um software que possui as funções de armazenamento e recuperação. A primeira preocupação com um BD é o armazenamento correto. Para inserir corretamente as informações em um BD devem-se estruturar as informações, ou seja, fragmentar a informação em dados e armazená-los em campos previamente definidos, veja uma tabela de cadastro de usuários de um BD: usu_id 1 2 3 usu_nome Fulano Beltrano Ciclano usu_email [email protected] [email protected] [email protected] usu_senha F123 B098 C102 usu_data 30/09/2007 15/08/2008 01/03/2009 No entanto, não basta armazenar os dados, para um BD também é necessário ter as seguintes funções, inclusão, alteração, exclusão, consulta. Para realizar as essas funções básicas que diferenciam uma tabela de um BD, é preciso entender de algumas linguagens, como xBASE (MS-Visual Fox Pro), Jet Engine (MS-Access), SQL (Structured Query Language – MS-SQL, MySQL, ORACLE, entre outros) e outras linguagens. Mas para facilitar a interação do usuário com o BD, existem os Sistemas Gerenciadores de Bancos de Dados (SGBD), que são softwares que se conectam ao BD e de forma semi-visual auxiliam o usuário nas funções básicas. Então, BD é um conjunto de dados organizados de maneira lógica, visando a otimização dos processos referentes a seu armazenamento, recuperação, inclusão, exclusão, alteração e consulta. Um BD também pode trabalhar com diversas tabelas de dados e relacioná-las. A este desenho de tabelas e relacionamentos dá-se o nome de MER (Modelo de Entidade de Relacionamento), veja o exemplo abaixo: Erwin Alexander Uhlmann Página 1 www.institutosiegen.com.br Figura 1 – MER Para modelar um BD pode-se utilizar a modelagem conceitual, que é próxima à linguagem natural, a linguagem estrutural, que é intermediária entre a linguagem natural e a linguagem de programação e a linguagem de programação. No exemplo acima foi utilizada a linguagem estrutural, onde entende-se que: Erwin Alexander Uhlmann Página 2 www.institutosiegen.com.br Figura 2 - Entidade Entidade é a tabela do BD, que neste caso se chama src_cep. Atributos são os campos da Entidade, neste caso, cep_id, tip_id, cep_logradouro, cid_id, est_id, etc. Chave primária, é o campo responsável por relacionar os atributos com as outras tabelas, é o identificador dos dados dentro do registro. Neste caso, cep_id. Registro é a coleção de dados de um único caso, exemplo: usu_id usu_nome usu_email usu_senha usu_data 1 Fulano [email protected] F123 30/09/2007 Registro1 = 1 | Fulano | [email protected] | f123 | 30/09/2007 Todos os dados acima pertencem ao mesmo registro, o registro 1. Normalização Em um BD racional, normalizado, normal, ao invés de criar uma única para que se preencham todos os dados referentes a cada registro, criam-se tabelas coligadas, relacionadas que servem para mais de um registro. Um usuário pode morar no estado de São Paulo, dois ou mais também, então, cria-se a tabela de estados, em que o “1” registro São Paulo servirá a “n”, chama-se este relacionamento de 1 para N, ou simplesmente 1-N. Erwin Alexander Uhlmann Página 3 www.institutosiegen.com.br Veja no modelo normalizado as Entidades src_cep, src_cidade, src_tipo, src_estado. Figura 3 - Normalização Na normalização, a Entidade src_tipo conterá registros como, rua, avenida, estrada, viela, alameda, etc., e diversos endereços podem ser destes registros, exemplo: Rua Pedro Cardoso, Rua Alexandre Duarte Queiróz, Rua Branca Sales, etc. Como um único registro rua atende N registros de logradouros no tabela, então a representação é feita da seguinte forma: Figura 4 - 1-N A linha com dois riscos cortando é a representação gráfica de 1 e a linha com um risco e encerrada como um tridente, representa o “N”. Então é um relacionamento 1-N. Exercício: Erwin Alexander Uhlmann Página 4 www.institutosiegen.com.br Criar um BD com as seguintes necessidades: Cadastro de usuários, de transportadoras, e de valores para frete. Erwin Alexander Uhlmann Página 5