MIC PERNAMBUCO SEGUNDA FASE / S2B Banco de Dados Diego von Söhsten Microsoft Certified Technology Specialist Analista de Desenvolvimento Allen Informática Recife [email protected] twitter.com/diegovonsohsten MODELAGEM DE DADOS: INTRODUÇÃO O que é modelagem de dados?  Entidade e atributos  Relacionamento  Atributos Chaves  Modelagem conceitual é uma fase importante no projeto de uma aplicação de base de dados bem sucedida.  Ela baseia-se na percepção de um universo constituído por um grupo básico de objetos chamado entidades, e por relacionamentos entre elas.  Existem ferramentas que auxiliam na construção destes modelos, porém são totalmente dependentes de nosso conhecimento das regras de negocio.  Cenário   de negócio comum: Necessidade de armazenar os estados e as cidades brasileiras. Construir as tabelas, de forma que armazenem a unidade federativa, descrição do estado e os nomes das cidades e seus respectivos estados. Validar os estados, não permitindo cadastrar cidades para estados que não estão devidamente cadastrados.  Uma entidade é um objeto que existe e é distinguível de outros objetos. Uma entidade pode ser um objeto com uma existência física (entidade concreta) – um empregado, pessoa, carro, casa em particular – ou conceitual (entidade abstrata) – uma companhia, um emprego, um curso S2B.  Cada entidade tem atributos – propriedades particulares que a descrevem. Por exemplo, uma entidade Estado pode ser descrita pelos atributos “Unidade Federativa”, “Nome” e “Extensão”.  Aplicando isso no modelo de dados, temos: TB_ESTADOS UF Descrição SP São Paulo RJ Rio de Janeiro MG Minas Gerais Atributos de TB_ESTADOS Entidade TB_ESTADOS O relacionamento é a forma de unir características recíprocas entre duas entidades. Por exemplo:   Estados e Cidades: sempre que cadastramos uma cidade, podemos atribuir a qual estado ela pertence. Para isso, podemos estabelecer um relacionamento, já que um estado pode ter muitas cidades e uma cidade pode ter apenas um único estado. Percebe-se, por exemplo, que a unidade federativa é um atributo comum as duas entidades, relacionando a informação.  Cardinalidade é uma restrição que expressa o número de entidades ao qual outra entidade pode estar associada por meio de um relacionamento.  Alguns tipos de cardinalidade podem ser observados:  1:1  Um para Um: um registro em A está associado com no máximo um registro em B; e vice-versa.  1:N  Um para Muitos: um registro em A está associado a qualquer número de registros em B, enquanto os registros em B estão associados com no máximo um registro em A.  N:N  Muitos para Muitos: um registro em A está associado a qualquer número de registro em B, e vice-versa.  OBS: Ao escrever o modelo físico, esta cardinalidade se transforma em duas cardinalidades 1:N 1:N = Chave primária da tabela TB_ESTADOS UF TB_CIDADES Descrição COD Descrição SP São Paulo RJ Rio de Janeiro MG Minas Gerais 01 02 03 UF Bauru SP Montes ClarosMG Belo HorizonteMG N 1 Possui Um estado se associa a N cidades!  São atributos que possuem a propriedade de singularidade de informação, que permite identificar um registro inserido na tabela.  Exemplo:  TB_Estados, campos UF (Unidade Federativa), Dsc (Descrição/Nome do Estado). 1) UF pode ser a chave desta tabela, já que nunca será repetida e tem como característica ser um dado representativo para Estado. 2) É um dado curto e preciso, propriedade importante para uma chave. 3) Pode ser inserido seqüencialmente, já que temos controle sobre a informação. 4) É um campo utilizado nas pesquisas. LAB: CRIANDO UM BANCO DE DADOS PARA ARMAZENAR OS ALUNOS E AS TURMAS DE UMA FACULDADE  Abrindo o SQL Server Management Studio  Criando as tabelas pela interface gráfica.  Criando os relacionamentos por interface gráfica.  Criando o diagrama de dados.  Salvando as alterações  Inserindo dados para checar as mudanças.