O modelo de dados relacional e as restrições de um banco de dados relacional Modelo de dados relacional OBJETIVOS Vitor Valerio de Souza Campos Modelo de dados relacional Sumário Relações Tuplas Atributos Restrições do Modelo Relacional Modelo Relacional Conceitos do Modelo Relacional Chave primária Chave alternativa Chave estrangeira Esquemas de banco de dados Composição básica de um BD Relacional Tabela é um conjunto não ordenado de linhas. Tabelas compostas de Linhas, Colunas, Chaves primárias, relacionadas através de Introduzido pelo pesquisador da IBM, Edward Codd, em 1970 no seguinte paper: "A Relational Model for Large Shared Data Banks," Communications of the ACM, June 1970 O modelo relacional é baseado no conceito de uma Relação O forte da metodologia relacional para gerenciamento de dados vem da fundamentação formal provida pela teoria das relações Uma relação é um conceito matemático baseado sobre a idéia de conjunto Abordagem Relacional Abordagem Relacional Apresentar os conceitos do Modelo Relacional Apresentar as Restrições do Modelo Relacional e Apresentar os esquemas de banco de dados Uma relação tipicamente tem um conjunto de linhas. Chaves estrangeiras Em um modelo formal, Tabela é chamada Relação. Em um modelo formal, linhas são chamadas de tuplas Cada coluna tem um cabeçalho que dá a indicação do significado dos itens de dados naquela coluna Em um modelo fomal, a coluna é chamada de atributo. 5 1 Abordagem Relacional Resumo da Definição Abordagem Relacional Tabelas Tabela ou relação Nome da Tabela Valor de campo ou valor de atributo Professor CódigoProf Nome CódigoDepto Classe P1 Souza D1 ADJ01 P3 Silva D1 ASS03 P2 Santos D2 ADJ03 P4 Barros D2 ASS02 Coluna ou atributo Nome de campo ou nome de atributo Linha ou tupla Termos Informal Termos Formal Tabela Relação Cabeçalho da coluna Atributo Todos os possíveis valores da coluna Dominio Linha Tupla Definição da Tabela Esquema de uma Relação Tabela Populada Estado da relação Abordagem Relacional Abordagem Relacional Chaves (Constraints) Conceito usado para especificar restrições de integridade básicas de um SGBD relacional. Chave primária É uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela (Heuser, 1998). Dependente Três tipos: chave primária (Primary Key) chave alternativa (Candidate Key) chave estrangeira (Foreign Key) Codigoprof NoDepend Nome Tipo DataNasc P1 01 Rita Esposa 10/07/64 P1 02 Igor Filho 22/08/99 P4 01 Ana Esposa 12/01/67 P4 02 Paula Filha 08/10/89 P5 01 João Filho 05/11/93 9 Abordagem Relacional Abordagem Relacional Chave estrangeira 10 É uma coluna ou um combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela (Heuser, 1998) A chave estrangeira é um mecanismo que permite a implementação de relacionamentos em um banco de dados relacional Pode fazer parte da chave primária 11 Chave estrangeira Departamento CódigoDepto NomeDepto D1 Computação D2 Matemática D3 Estatística Professor Professor.CódigoDepto é uma chave estrangeira em relação a tabela Departamento CódigoProf Nome CódigoDepto P1 Souza D1 Classe ADJ01 P3 Silva D1 ASS03 P2 Santos D2 ADJ03 P4 Barros D2 ASS02 12 2 Abordagem Relacional Abordagem Relacional Chave estrangeira Para uma chave estrangeira fazer parte de uma chave primária, ela não poderá ser NULA, ou seja, não poderá ter cardinalidade (0,1) ou (0,n) Chave estrangeira na mesma tabela Auto-relacionamento Professor CódigoProf Nome CódigoDepto ChefeDepto P1 Souza D1 --- P3 Silva D1 P1 P2 Santos D2 --- P4 Barros D2 P2 Chave primária referência chave primária da própria tabela 13 14 Abordagem Relacional Abordagem Relacional Chave alternativa Mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas (ou combinação de colunas) é escolhida como chave primária. As demais colunas ou combinações são denominadas chaves alternativas (UNIQUE KEY em SQL) (Heuser, 1998). Chave alternativa CódigoProf Nome CódigoDepto Classe CPF P1 Souza D1 678.987.065-76 P3 Silva D1 ASS03 453.761.396-51 P2 Santos D2 ADJ03 052.639.692-86 P4 Barros D2 ASS02 378.960.813-48 ADJ01 Chave Alternativa 15 16 Abordagem Relacional Abordagem Relacional Domínio de uma coluna Conjunto de valores que podem aparecer em uma coluna (atributo) Um valor de campo pode assumir o valor NULL, ou seja, vazio Abordagem relacional: A especificação de um banco de dados relacional (chamada de esquema do banco de dados) deve conter no mínimo a definição do seguinte: todas colunas que compõem a chave primária devem ser obrigatórias; demais chaves podem conter colunas opcionais. 17 Tabelas que formam o banco de dados, Colunas que as tabelas possuem, Restrições de integridade. 18 3 Abordagem Relacional Resumo Abordagem Relacional Esquema resumido de modelo relacional Conceitos do Modelo Relacional Professor (CódigoProf, Nome, CódigoDepto, Classe, CPF) CódigoDepto referencia Departamento Departamento (CódigoDepto, Nome) Restrições do Modelo Relacional 19 Relações Tuplas Atributos Chave primária Chave alternativa Chave estrangeira Esquemas de banco de dados 20 Referências Bibliográficas HEUSER, Carlos Alberto. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzatto, 1998. ELMASRI, Ramez e NAVATHE, Shamkant B.. Sistema de Banco de Dados. São Paulo: Pearson Addison Wesley, 2005 21 4