O modelo de dados relacional e as restrições de um banco de dados relacional Vitor Valerio de Souza Campos Modelo de dados relacional OBJETIVOS Apresentar os conceitos do Modelo Relacional Apresentar as Restrições do Modelo Relacional e Apresentar os esquemas de banco de dados Modelo de dados relacional Sumário Conceitos do Modelo Relacional Relações Tuplas Atributos Restrições do Modelo Relacional Chave primária Chave alternativa Chave estrangeira Esquemas de banco de dados 1
Modelo Relacional 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 Composição básica de um BD Relacional Tabelas compostas de Linhas, Colunas, Chaves primárias, relacionadas através de Chaves estrangeiras 5 Tabela é um conjunto não ordenado de linhas. Em um modelo formal, Tabela é chamada Relação. Uma relação tipicamente tem um conjunto de linhas. 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. 2
Tabelas Nome da Tabela Tabela ou relação 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 Resumo da Definição Termos Informal Tabela Cabeçalho da coluna Todos os possíveis valores da coluna Linha Definição da Tabela Tabela Populada Termos Formal Relação Atributo Dominio Tupla Esquema de uma Relação Estado da relação Chaves (Constraints) Conceito usado para especificar restrições de integridade básicas de um SGBD relacional. Três tipos: chave primária (Primary Key) chave alternativa (Candidate Key) chave estrangeira (Foreign Key) 9 3
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 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 10 Chave estrangeira É 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 D2 D3 Professor Computação Matemática Estatística Professor.CódigoDepto é uma chave estrangeira em relação a tabela Departamento CódigoProf Nome CódigoDepto Classe P1 Souza D1 ADJ01 P3 Silva D1 ASS03 P2 Santos D2 ADJ03 P4 Barros D2 ASS02 12 4
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) 13 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 14 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). 15 5
Chave alternativa CódigoProf Nome CódigoDepto Classe CPF P1 Souza D1 ADJ01 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 Chave Alternativa 16 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: todas colunas que compõem a chave primária devem ser obrigatórias; demais chaves podem conter colunas opcionais. 17 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: Tabelas que formam o banco de dados, Colunas que as tabelas possuem, Restrições de integridade. 18 6
Esquema resumido de modelo relacional Professor (CódigoProf, Nome, CódigoDepto, Classe, CPF) CódigoDepto referencia Departamento Departamento (CódigoDepto, Nome) 19 Resumo Conceitos do Modelo Relacional Relações Tuplas Atributos Restrições do Modelo Relacional 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 7