Bases de Dados. aprender a usar efectivamente um Sistema de Gestão de Bases de Dados, através:

Tamanho: px
Começar a partir da página:

Download "Bases de Dados. aprender a usar efectivamente um Sistema de Gestão de Bases de Dados, através:"

Transcrição

1 Objectivos: Bases de Dados aprender a usar efectivamente um Sistema de Gestão de Bases de Dados, através: desenho da BDs <==> modelação (ER/EER/ODL) criação e manipulação da BDs => programação em SQL estrutura do SGBDs: ficheiros de indices, transacções, concorrência, recuperação,... Ênfase: Modelo relacional Modelação: modelos ER, EER e ODL. Implementação: SQL Aulas práticas: desenvolvimento de uma BD modelação de uma BDs Implementação em SQL em MS-SQLserver ou Oracle Formulação de questões em SQL Interfaces à BDs (formulários ou relatórios em Access) Bases de Dados 1

2 BDs: Avaliação e Bibliografia Avaliação: trabalhos práticos (obrigatórios para obter frequência -- mínimo 40%): 4/5 valores exame final: 16/15 valores (nota mínima: 6 valores) Bibliografia: Elmasri and Navathe, Fundamentals of Database Systems, 3rd. Ed., Addison- Wesley, J. Ullman and J. Widom, A first course in Database Systems, Prentice-Hall, 1997 Korth and Silberschatz, Database Systems Concepts, 3rd. Ed.,McGraw-Hill, 1996 Encomendar livros pela Internet: ou Bases de Dados 2

3 Bases de Dados (definição) Conjunto dados que se relacionam entre si Dados: representam factos da vida real que podem ser guardados Contactos: nomes, endereços, telefones,... Escola: alunos, professores, disciplinas, turmas, horário,... Banco: cliente, conta, dependência,... Clube vídeo: loja, filme, fornecedor, empregado, sócio,... Vantagens: organização de grandes volumes de informação uso de programas que facilitam a definição, criação, e manipulação da BDs, i.e. Sistemas de Gestão de Bases de Dados (SGBDs): Oracle, Sybase, DB2, SQL-server (Access), Adabas, Ingres,... Sistema de BDs = BDs + SGDBs Bases de Dados 3

4 Exemplo de BDs Actor nome endereço Filme( título, ano, duração, tipo) Actor( nome, endereço,) Participa( nomea,títulof) Harrison Ford Judy Foster 789 Palm Dr, Beverly Hills 300 Stars Av., Beverly Hills Participa nome títulof Filme título ano duração tipo A Testemunha O Silêncio dos Inocentes côr côr Harrison Ford Judy Foster Har rison Ford A Testemunha O Silêncio dos Inocentes Guerra das Estrelas Quais os filmes em que Harrison Ford participou? Ordene os filmes por ano de estreia. Bases de Dados 4

5 Alunos codaluno nomealuno curso Catarina CC Carlos MAT Exemplo de BDs Disciplinas coddisc nomedisc creditos depart. BD Bases de Dados 4 CC AL Analise de Dados 4 MA Funcionamento coddisc sem anolic anolec prof BD F. Silva IA M. Filgueiras Classificações codaluno coddisc nota BD BD 14 Listar as disciplinas frequentadas e classificações obtidas pelo aluno Carlos. Bases de Dados 5

6 Desenvolvimento de BDs Consultar e actualizar informação da BDs Em que filmes participou o actor Harrison Ford? Quantos filmes foram produzidos em 1992? Definir utilizadores da BDs e permissões de acesso (administração) Desenvolver ecrãs gráficos para operações mais comuns bancos: ecrãs específicos para os caixas no atendimento a clientes Criar relatórios específicos extracto de conta Tornar parte da BDs acessível via Internet? Cada vez mais importante: compra de livros pela Internet,... Bases de Dados 6

7 Características de uma abordagem de BDs Independência dos dados o catálogo do sistema tem a descrição da BDs (meta-dados): estrutura de cada ficheiro usado para a BDs tipo e formato de cada item de dados restrições várias sobe os dados permite que o software do SGBDs seja independente da BD em vista. Separação entre dados e programas (abstração) num sistema tradicional de ficheiros, a estrutura do ficheiro de dados está inserida nos programas que manipulam esses ficheiros dificuldades em alterar a organização dos dados numa BDs, a estrutura dos ficheiros está no catálogo do SGBDs e portanto separada dos programas de acesso conduz a independência dados/programa (propriedade: abstracção dos dados) Bases de Dados 7

8 Características de uma abordagem de BDs (cont.) Suporte de visões múltiplas dos dados permite fornecer diferentes perspectivas (ou visões) dos dados para diferentes utilizadores. Visão: pode ser um subconjunto da BDs ou pode conter dados virtuais que são derivados de ficheiros da BDs mas que não são explicitamente guardados. Exemplo: performance dos alunos de um curso (ordem alfabética de aluno). Performance nomealuno nomedisc nota sem anolec Catarina EDA /99 Catarina SO /99 Pedro SO /99 Pedro IG /99 Bases de Dados 8

9 Características de uma abordagem de BDs (cont.) Partilha de dados acesso multi-utilizador à BDs => SGBDs tem de controlar concorrência para garantir consistência e correcção nas actualizações da BDs exemplo: vários agentes de viagens a tentarem reservar um lugar num determinado voo. O SGBDs tem de garantir que um determinado lugar só pode ser acedido para reserva por apenas um agente. Bases de Dados 9

10 Capacidades desejáveis para um bom SGBDs Controlar redundância Restrição de acesso não autorizado passwords, diferentes níveis de acesso, acesso restricto a software com previlégios Providenciar múltiplas Interfaces com utilizador Garantir a satisfação de restrições de integridade Providenciar Mecanismos de Backup e Recuperação Bases de Dados 10

11 Desenho/Modelação de Bases de Dados Porquê a fase de modelação? Acordar numa estrutura da BDs antes de enveredar por uma determinada implementação. Simplifica eventuais correcções a fazer, facilita o entendimento dos dados por parte de não-especialistas, simplifica implementação,... Envolve determinar: Quais as entidades a modelar Como é que se relacionam as entidades Que restrições existem no domínio Como conseguir um bom modelo de dados Bases de Dados 11

12 Fases no Desenho de BDs Problema Requisitos/Análise 1ª. Fase: entrevistas com potenciais utilizadores da BDs compreender e documentar os seus requisitos produzir um conjunto de requisitos o mais detalhado e completo possível Requisitos da BDs Desenho conceptual Esquema conceptual (modelo de Alto-Nível) Desenho lógico 2ª. Fase: definir um esquema conceptual da BDs que inclua descrição das entidades da BD, relacionamentos entre entidades e restrições evitar detalhes de implementação Independente do SGBDs Bases de Dados 12

13 Fases no Desenho de BDs (cont.) Desenho lógico (Mapeamento do Modelo de Dados) Dependente do SGBDs Esquema da BDs (especifico de SGBDs) 3ª. Fase: implementação da BDs usando um SGBDs comercial Desenho físico Esquema interno 4ª. Fase: estruturas em memória e organização dos ficheiros da BDs ficheiros de indices Bases de Dados 13

14 Formalismos de modelação de BDs Modelo E/R - Entidades/Relacionamentos: mais próximo do relacional pode ser enriquecido para integrar conceitos de objectos: modelo EER Modelo ODL - Object-Definition Language mais no espirito de modelos orientados a objectos Ambos modelos podem ser traduzidos (semi-automaticamente) para esquemas relacionais. ODL traduz-se mais naturalmente num esquema orientado-a-objectos Bases de Dados 14

15 Modelo Entidade-Relacionamento Entidades: objecto ou conceito do mundo real com uma existência independente com existência física, e.g. carro, empregado, produto, aluno, etc. com existência conceptual: uma empresa, uma profissão, um curso, etc. Atributos: propriedades que caracterizam (e estão associadas) uma entidade atributos de Pessoa: nome, sexo, data nascimento, morada, etc. Relacionamentos representam interacções entre 2 ou mais entidades trabalha(empregado, departamento) Bases de Dados 15

16 Modelo ER: Atributos Valores dos atributos = Informação da BD Domínios de atributos conj. de valores que podem ser atribuídos a um atributo de uma entidade. Tipos de atributos: atributo simples ou atómico: não é divisível. atributo composto: divisível em atributos simples com significado independente o atributo Endereço da entidade PESSOA pode ser decomposto em: Rua, Cidade e CódigoPostal. atributo de valor único: têm apenas um valor para uma determinada entidade atributo de valores-múltiplos: pode tomar 1 ou mais valores de um conjunto de valores para a mesma entidade. entidade CARRO, atributo Cor-do-carro (vermelho, branco, cinza, ) entidade PESSOA, atributo TítuloAcadémico (licenciado, mestre, doutor, ) Bases de Dados 16

17 Modelo ER: Atributos (cont.) Tipos de atributos: atributo derivado: pode ser derivado de outro atributo. Idade pode ser derivado de DataNascimento atributo com valor nulo (NULL) quando o atributo não é aplicável a uma determinada entidade. Ex: o atributo TítulosAcadémicos só se aplica a pessoas com curso superior, sendo nulo para as restantes. Interpretações para o valor NULL: o atributo não se aplica; o valor do atributo não é conhecido ou está em falta. Bases de Dados 17

18 Modelo ER: Entidade Tipo Entidade Tipo: determina o esquema para um conjunto de entidades que partilham a mesma estrutura (atributos). caracteriza-se por um nome e uma lista de atributos. Esquema da entidade-tipo EMPREGADO: EMPREGADO(Nome, Idade, Salário) Atributo chave de uma entidade-tipo: é o atributo que identifica de forma únivoca cada entidade. deve aparecer sublinhado. Ex: EMPRESA( Nome, Endereço, Presidente) PESSOA( Nome, NumBI, DataNasc, Endereço, ) pode ser constituído por mais do que um atributo simples. Bases de Dados 18

19 Requisitos de uma BDs de uma Empresa Uma empresa está dividida em departamentos. Cada departamento tem um nome, um número e um gerente. Inclui ainda a data em que o gerente começou a gerir o departamento. O departamento pode ter várias localizações. Um departamento controla um determinado número de projectos. Cada projecto tem um nome, um número e uma localização única. Para cada empregado, guardar o nome, o número do BI, endereç, salário, sexo e data de nascimento. Um empregado pertence a um departamento, mas pode trabalhar em vários projectos, que não são necessáriamente controlados pelo mesmo departamento. Tomar nota do número de horas por semana que um empregado trabalha num dado projecto. Tomar nota do supervisor directo de cada empregado. Tomar nota do número de dependentes de cada empregado para efeitos de seguro. Para cada dependente, guardar o nome, sexo, data de nascimento e grau de parentesco para o empregado. Bases de Dados 19

20 Construção do modelo ER para a BD-Empresa Identificar entidades-tipo e atributos: 1. DEPARTAMENTO( Nome, Num, {Local}, Gerente, GerData) atributos com valores múltiplos: Local 2. PROJECTO( Nome, Num, {Localização}, DepCtl) 3. EMPREGADO( Nome(P,U), NumBI, Sexo, Endereço,Salário,Dnasc, Dept, Super) 4. DEPENDENTE( Empregado, DNome, Sexo, Dnasc, GrauPar) Bases de Dados 20

21 Construção do modelo ER para a BD-Empresa Falta representar: 1 empregado trabalha em N projectos num. de horas que cada empregado trabalha em cada projecto Identificar entidades-tipo e atributos: Podemos representar esta info como: atributo-composto-multivalor da entidade Empregado TrabalhaEm( Projecto, Horas) atributo-composto-multivalor da entidade Projecto: Trabalhadores( Empregado, Horas) Bases de Dados 21

22 Relacionamentos Falta representar (entre outros): um Departamento tem um Director que o dirige; um Director é um empregado Dirige( Departamento, Empregado) O esquema Dirige traduz um relacionamento entre 2 entidades, Departamento e Empregado. No modelo ER, uma entidade não pode referenciar directamente outra entidade; tal necessidade traduz-se na definição de um relacionamento. Outros relacionamentos: TrabalhaPara(Empregado,Departamento) Controla(Departamento,Projecto) Supervisiona(Empregado,Empregado) DependeDe(Dependente,Empregado) TrabalhaEm(Empregado,Projecto,Horas) Bases de Dados 22

23 Esquema da BDs Com a definição dos relacionamentos, algunds dos atributos são redundantes pelo que não devem ser incluídos no esquema. O esquema consiste: Entidades: DEPARTAMENTO( Nome, Num, {Local}, ) PROJECTO( Nome, Num, {Localização} ) EMPREGADO( Nome(P,U), NumBI, Sexo, Endereço,Salário,Dnasc) DEPENDENTE( DNome, Sexo, Dnasc, GrauPar) Relacionamentos: trabalhapara(empregado,departamento) dependede(dependente,empregado) controla(departamento,projecto) dirige(empregado,departamento, GerData) supervisiona(empregado,empregado) trabalhaem(empregado,projecto,horas) Falta analisar o tipo de participação das entidades no relacionamentos. Bases de Dados 23

24 Relacionamentos (Grau e Atributos) Grau de um relacionamento: número de entidades no relacionamento. Ex. de um relacionamento ternário: fornece(fornecedor, Produto, Projecto) Relacionamentos com atributos. Horas é um atributo do relacionamento trabalhaem(empregado, Projecto, Horas) Bases de Dados 24

25 Relacionamentos (Restrições) Restrições nos relacionamentos: permitem limitar as combinações possíveis entre entidades participantes Ex: um empregado trabalha para apenas um departamento. Tipos de Restrições: Cardinalidade dos Relacionamenos: tipo de participação das entidades no relacionamento 1 : N -- um para-muitos trabalhapara(empregado, Departamento) M : N -- muitos-para -muitos trabalhaem(empregado, Projecto, Horas) 1 : 1 -- um-para-muitos dirige(empregado, Departamento) Bases de Dados 25

26 Restrições nos Relacionamentos (cont.) Tipo de participação: especifica se a existência de uma instância de entidade depende do seu relacionamento com outra entidade, via esse relacionamento. Participação total (dependência existêncial) quando todas as instâncias de uma entidade estão relacionadas com alguma instância de uma outra entidade participante no relacionamento. trabalhapara(empregado, Departamento) Participação parcial quando não se espera que todas as instâncias de uma entidade participem no relacionamento. dirige(empregado, Departamento) Bases de Dados 26

27 Entidades Fracas Entidade Fraca: é identificada pelo seu relacionamento (relacionamento identificador) com determinadas entidades (entidade identificadora) tem sempre participação total (dependência existêncial) em relação ao relacionamento-identificador. Possui uma chave-parcial, que é o conjunto de atributos que univocamente determinam a entidade fraca relacionada com a mesma entidade-identificadora. Ex: dependende(dependente, Empregado) Bases de Dados 27

28 Modelo ER para a BDs sobre uma Empresa Entidades-tipo: DEPARTAMENTO( Nome, Num, {Local}, ) PROJECTO( Nome, Num, Local ) EMPREGADO( Nome(P,U), NumBI, Sexo, Endereço, Salário, Dnasc ) DEPENDENTE( DNome, Sexo, Dnasc, GrauPar ) Relacionamentos: trabalhapara(empregado,departamento) N:1 total/total dependede(dependente,empregado) N:1 total/parcial controla(departamento,projecto) 1:N parcial/total dirige(empregado,departamento, GerData) 1:1 parcial/parcial supervisiona(empregado,empregado) Supervisor Supervisionado 1:N parcial/parcial trabalhaem(empregado,projecto,horas) M:N total/total Bases de Dados 28

29 Diagramas ER Ênfase na representação dos esquemas em vez de instâncias de entidades e relacionamentos. Notação para os diagramas: Atributo Entidade-Tipo Atributo-Chave Entidade-Fraca Atributo-Multivalor Relacionamento Atributo-Derivado Atributo-Composto Relacionamentoidentificador Bases de Dados 29

30 Diagramas ER (cont.) E1 R E2 Participação-total de E2 em R E1 1 N R E2 1:N R (min,max) E Restrição-estrutural da participaçaõ de E em R Uma entidadeeparticipa num relacionamentorcom restrição (min,max) em que 0 min max e max 0, se para cada entidadee E, e participa pelo menos min e no máximomax instâncias do relacionamentor. min = 0 -- participação parcial max > 0 -- participação total Bases de Dados 30

31 No diagrama: Exemplo Restrição-Estrutural um empregado trabalha para um departamento Num departamento trabalham pelo menos 4 empregados Empregado (1,1) (4,N) trabalhapara Departamento Nomes para as entidades-tipo, atributos e relacionamentos deve ser feita com critério: entidades - nomes singular atributos - nomes relacionamentos - nomes ou verbos de forma a facilitar a leitura da esquerda para a direita Bases de Dados 31

32 O Modelo EER (ER Extendido) BDs recentes (Multimédia, GIS, CAD/CAM, ) requerem novos conceitos semânticos de modelação: subclasse, superclasse, especialização e generalização, herança de atributos, etc. Subclasses e Superclasses uma subclasse corresponde a um sub-conjunto de entidades com alguma característica comum e pertencentes à mesma entidade-tipo superclasse corresponde à entidade-tipo que aglutina os vários sub-conjuntos de entidades, i.e. subclasses. Ex: superclasse Empregado subclasses Secretárias Engenheiros Técnicos Directores Bases de Dados 32

33 O Modelo EER (Relacionamento ISA) O relacionamento ISA (ou superclasse/subclasse) caracteriza a ligação entre as subclasses e a respectiva superclasse Director isa Empregado Secretária isa Empregado Técnico isa Empregado uma entidade membro de uma subclasse representa a mesma entidade-física de um membro da superclasse, apenas os papeis são diferentes. Ex. A entidade Director de nome X é a mesma entidade X de Empregado; Bases de Dados 33

34 EER: Herança de Atributos As subclasses herdam todos os atributos da sua superclasse uma subclasse com todos os atributos que herda da superclasse, é uma entidade-tipo. Porquê a divisão em subclasses? Certos atributos aplicam-se a apenas algumas instâncias da superclasse Alguns relacionamentos podem ter participação de apenas alguns membros de uma subclasse Bases de Dados 34

35 EER: Especialização Especialização é o processo de de definição do conjunto das subclasses de uma entidade-tipo (superclasse da especialização) e.g. {Secretária, Engenheiro, Técnico} especializa Empregado com base no tipo de trabalho. podemos ter várias especializações da mesma entidade-tipo com base em diferentes características. Podemos associar atributos específicos (extra) a cada subclasse estabelecer relacionamentos-tipo específicos entre uma subclasse e outras entidades-tipo ou outras subclasses Bases de Dados 35

36 Diagrama EER Nome NumBI Empregado 3 especializações de Empregado d d EmpPrazo Secretária VelEscrita Técnico Qualificação Engenheiro EngTipo Director dirige EmpEfectivo Salário Escalão Efiliado Sindicato Projecto Bases de Dados 36

37 EER: Generalização Generalização: processo funcionalmente inverso da especialização. eliminam-se as diferenças entre várias entidades-tipo, identificam-se as caracteristicas comuns que passarão a caracterizar uma nova superclasse da qual as entidades-tipo originais são subclasses especiais. Carro(Matricula, Nreg, Npass, VelMax, Preço) Camião(Matricula, Nreg, Neixos, Tonelagem, Preço) generalizando temos: Nreg Preço Veículo Matricula d Npass Carro VelMax Camião Neixos Tonelagem Bases de Dados 37

38 Tipos de Especialização/Generalização Especialização definida-por-atributo quando a divisão em subclasses se basei numa condição de membro e.g. condição tipotrabalho= secretária determina quais dos empregados vão pertencer à subclasse Secretária. Especialização definida-por-utilizador quando não existe a condição. Especialização disjunta quando as subclasses são disjuntas, i.e. cada entidade pode ser membro de no máximo uma subclasse de especialização. Especialização com sobreposição d o quando a mesma entidade pode pertencer a mais do que uma subclasse, e.g. a superclasse Pessoa pode decompor-se em subclasses Empregado, Estudante, Licenciado (e.g. um assistente é um empregado da universidade, é licenciado e é aluno de doutoramento) Bases de Dados 38

39 Tipos de Especialização/Generalização (cont.) Especialização Total (linhas duplas nos diagramas) quando toda a entidade de uma superclasse tem de ser membro de alguma subclasse. e.g. especialização {EmpEfectivo, EmpPrazo} de Empregado. Todos empregados estão numa das subclasses. Especialização Parcial (linha simples nos diagramas) permite que uma entidade não pertença a qualquer das subclasses. Temos assim 4 tipos de especialização: disjunta total; disjunta parcial; sobreposição total; sobreposiçaõ parcial o tipo de especialização é determinado a partir do significado na vida real A generalização de uma superclasse é habitualmente total contém as entidades das subclasses de onde foi derivada. Bases de Dados 39

40 Desenho de BDs SGBD O-O Ideias (info a modelar) ODL (object definition lang.) ER/EER (entidade/relacionamento) Relações SGBD Relacional Conceptualização Implementação A modelação visa definir a estrutura da BDs antes da sua implementação, de forma a permitir a sua compreensão por parte dos utilizadores. Bases de Dados 40

41 Modelo Relacional Introduzido por Codd (1970) Base de Dados = Conjunto de relações Relação <==> Tabela Filme (Título, Ano, Duração, Tipo) Esquema atributos Filme Título Ano Duração Tipo Zorro cor Guerra das Estrelas cor Mighty Ducks cor tabela tuplo Bases de Dados 41

42 Esquema Relacional de uma BDs Empregado(Pnome,Unome,EBI,Dnasc,Morada,Sexo,Salário,SuperBI,Ndep) Departamento(Dnome,Dnum, DirBI, DirData) Projecto(Pnome,Pnum,Plocal) Locais_Dep(Dnum,Dlocal) TrabalhaEm(EBI,Pnum,Horas) Dependente(EBI,Nome,Sexo,Dnasc,GrauParentesco) Bases de Dados 42

43 Domínio: Modelo Relacional: conceitos conjunto de valores de um dado tipo que caracterizam um atributo Tuplos: sequência ordenada de valores (ordem da sequência é importante) tuplos de uma relação (ou tabela) não têm ordem os valores das componentes de um tuplo são atómicos no relacional não pode haver atributos compostos ou multivalor Chave de uma relação R identifica de forma única os tuplos de R conjunto mínimo de atributos de R, t.q. não existem 2 tuplos distintos de R com valores iguais nesses atributos. Uma relação pode ter várias chaves candidatas chave primária; chaves alternativas Bases de Dados 43

44 Integridade de entidade Restrições Intrínsecas do Relacional os valores da chave-primária não podem ser nulos Unicidade da chave não podem existir 2 tuplos diferentes com valores iguais na chave Chave externa conjunto de atributos de uma relação que referenciam a chave de outra relação Integridade referêncial um tuplo de uma relação que se refira a uma outra relação, tem de se referir a um tuplo existente nessa relação garante consistência entre tuplos de 2 relações e.g. os tuplos correspondentes ao empregado-supervisor com EBI e ao departamento número 5 têm de existir, dado o seguinte empregado: Empregado(João,Pinto, , ,R. das Fontainhas,M,250000, ,5) Bases de Dados 44

45 Interpretação de uma relação Relações uniformizam a representação de factos sobre entidades e relacionamentos Um esquema de uma relação deve ser visto como uma declaração Esquema de BD relacional = conjunto de esquemas relacionais + conjunto de restrições de integridade Operações no modelo relacional: actualizações: inserir, remover e modificar consultas: álgebra relacional Bases de Dados 45

46 Operação inserir Permite inserir um ou mais tuplos numa tabela pode violar qualquer dos 4 tipos de restrições: domínio: se um dos valores não pertencer ao domínio chave: o valor da chave do novo tuplo já existe num outro tuplo da tabela integridade de entidade: se o valor da chave do novo tuplo for null integridade referêncial: se o valor de uma chave externa referir um tuplo não existente. Se uma das restrições for violada, opta-se por: rejeitar a inserção (com aviso ao utilizador) ou, tentar corrigir a razão para a rejeição ocorrer. Bases de Dados 46

47 Operação remover remove tuplos de valores de uma tabela pode violar apenas a integridade referêncial: no caso de o tuplo a remover for referenciado por uma das chaves-externas de outro tuplo nabds. Requer uma condição sobre os atributos de forma a selecionar o tuplo ou tuplos a serem removidos remover todos os empregados do departamento 10. Caso ocorra violação, opta-se por: rejeitar a operação, ou procurar propagar a operação e remover todos os tuplos que referenciam o que está a ser removido, ou alterar para null os valores dos atributos dos tuplos que referenciam o que está a ser removido Operação modificar = remover+inserir (regras destas operações) Bases de Dados 47

48 Conversão do Modelo ER para o Modelo Relacional Passo 1: entidade-tipo relação atributos simples da entidade atributos da relação atributos compostos atributos individuais na relação chave da entidade chave da relação Sexo... Pnome EBI Empregado Nome Unome Empregado Pnome Unome EBI Sexo... Bases de Dados 48

49 ER Relacional Passo 2: entidade-fraca relação Seja W uma entidade-fraca e E a entidade-identificadora de W: Criar uma relação R em que: atributos simples de W atributos de R chave-principal de E e chave-parcial de W chave-principal de R EBI Empregado dependede Dependente Nome Chave-externa Dependente EBI Nome Sexo... Bases de Dados 49

50 ER Relacional Passo 3: relacionamento binário 1:1 R(E1,E2) Sejam S e T as relações correspondentes às entidade E1 e E2, respectivamente. Escolhes-se uma das relações, e.g. S (a que corresponde à entidade com participação total em R) e: incluir como chave externa em S a chave-principal de T incluir todos atributos simples do relacionamento R na relação S EBI Empregado dirige (0,1) (1,1) Departamento Dnum... DirData Chave-externa Departamento Dnome Dnum DirBI DirData Bases de Dados 50

51 ER Relacional Passo 4: relacionamento binário 1:N R(E1,E2) Sejam S e T as relações correspondentes às entidade E1 e E2, respectivamente. Escolhes-se a relação que corresponde à entidade participante do lado N em R, suponha-se que é S: incluir como chave externa em S a chave-principal de T incluir todos atributos simples do relacionamento R na relação S EBI... Empregado trabalhapara N 1 Departamento Dnum Chave-externa Empregado Pnome... EBI... DNum Bases de Dados 51

52 ER Relacional Passo 4: relacionamento binário M:N R(E1,E2) Criar uma nova relação S para representar o relacionamento R. incluir como chave externa em S as chaves-principais das relações que representam as entidades E1 e E2 participantes em R o conjunto das chaves-externas formará a chave-principal de S incluir todos atributos simples do relacionamento R na relação S EBI... Empregado M trabalhaem N Projecto Pnum Horas chaves-externas e chave-principal trabalhaem EBI Pnum Horas Bases de Dados 52

53 ER Relacional Passo 5: relacionamento binário M:N R(E1,E2) Criar uma nova relação S para representar o relacionamento R. incluir como chave externa em S as chaves-principais das relações que representam as entidades E1 e E2 participantes em R o conjunto das chaves-externas formará a chave-principal de S incluir todos atributos simples do relacionamento R na relação S EBI... Empregado M trabalhaem N Projecto Pnum Nota: os relacionamentos 1:1 e 1:N também podem ser transformados de acordo com o passo 5. Horas trabalhaem EBI Pnum Horas chaves-externas e chave-principal Bases de Dados 53

54 ER Relacional Passo 6: atributos-multivalor Para cada atributo A multivalor, cria-se uma nova relação S que inclui o atributo de A mais a chave-principal, K, da relação que representa a entidade ou relacionamento que tem A como atributo multivalor. A chave-principal de S será acombinação de A e K. Dnum Departamento Dlocal Ex: um departamento podeter várias localizações.... Locais_Dep Dnum Dlocal Nota: os passos de 1 a 6 seriam suficientes para converter o esquema-er da pag. 28 no esquema-relacional da pag. 44 (BDs Empresa). Bases de Dados 54

55 ER Relacional Passo 7: relacionamentos com aridade superior a 2 (mais de 2 entidades) Para cada relacionamento R com aridade n>2, criar uma nova relação S: incluir como chaves-externas em S, as chaves-principais das relações que representam as entidades participantes. A chave-principal de S será o conjunto de todas as chaves-externas. Incluir como atributos de S, todos os atributos do relacionamento R. Fnome Fornecedor fornecimento Projecto Qtd Produto Pnome Pnum Fornecimento Fnome Pnome Pnum Qtd Bases de Dados 55

56 Exercício de modelação Os STCP pretendem construir uma base de dados sobre os percursos dos seus autocarros. A base de dados deve guardar informação relativa aos autocarros, como sejam a matrícula, a data de entrada em serviço, o número de quilómetros, a data da próxima revisão e o tipo (marca/modelo) de autocarro. Cada tipo de autocarro tem uma marca, um modelo, um número de lugares sentados e um número de lugares de pé. A base de dados deve guardar também informação relativa aos percursos. Um percurso é identificado por um número (e.g. 78, 35) e tem uma distância total em quilómetros. Os percursos percorrem paragens. As paragens têm um número identificador, um nome, e uma localização decomposta em local, rua e número. Existem limitações aos percursos que um determinado tipo de autocarro pode fazer, inerentes às suas dimensões. Estas limitações devem ficar registadas na base de dados. Existe um percurso especial para quando um autocarro mais o respectivo condutor são alugados, e este percurso não percorre paragens. Deve ser guardada também informação relativa aos condutores, como sejam o número de BI, o nome, a morada, a data de entrada em serviço e os percursos que cada condutor está habilitado a fazer (um condutor pode estar habilitado a fazer vários percursos). Na base de dados deve ficar registada também informação operacional diária, correspondente ao registo de saídas. Existem três turnos de saída, 6h, 14h e 22h. Um autocarro e um condutor fazem no máximo uma saída por dia, podendo não fazer nenhuma. A informação do registo de saída inclui a data, o turno, o condutor, o autocarro e o percurso atribuído. Bases de Dados 56

57 Exercício de modelação (cont.) Desenhe um diagrama-er ou EER para a base de dados descrita acima indicando as chaves das entidades, a cardinalidade dos relacionamentos e o tipo de participações. Converta o diagrama da alínea anterior para o modelo relacional justificando os passos que efectua na conversão. Diga se o seu modelo relacional consegue responder à questão ``Na data 24/12/00 no turno das 22h quantos autocarros fizeram o percurso 78?''. Justifique. Bases de Dados 57

58 EER Relacional Passo 8: Converter cada especializaçao com m subclasses (S1,,Sm) e superclasse (generalizada) C, onde os atributos de C sao (k,a1,,an) em que k é a chave primária, para relaçoes usando uma das seguintes 4 opçoes: 8a Criar uma relaçao L para C com atributos atrib(l) = (k, a1,,an) e cp(l) = k. Criar uma relaçao Li para cada subclasse Si, 1<=i<=m, com atributos atrib(li)=(k) + (atributos de Si) e cp(li) = k. 8b - Criar uma relaçao Li para cada subclasse Si, 1<=i<=m, com atributos atrib(li)=(atributos de Si) + (k,a1,,an) e cp(li) = k. 8 c - Criar uma única relaçao L com atributos atrib(l) = (k, a1,,an) + (atributos de S1) + + (atributos de Sm) + (t) e cp(l) = k. Esta opçao é para uma especializaçao com subclasses disjuntas, e t é um atributo de tipo que indica a subclasse a que cada tuplo pertence, se alguma. 8d - Criar uma única relaçao L com atributos atrib(l) = (k, a1,,an) + (atributos de S1) + + (atributos de Sm) + (t1,, tm) e cp(l) = k. Esta opçao é para uma especializaçao com subclasses sobrepostas, e cada ti, 1<=i<=m, é um atributo booleano que indica se um tuplo pertence à subclasse Si. Bases de Dados 58

Bases de Dados. Parte II: Os Modelos ER e EER

Bases de Dados. Parte II: Os Modelos ER e EER Bases de Dados MBI/MI/LCC/LEG/LERSI/LMAT Parte II Os Modelos ER e EER 1 O Modelo Entidade-Relacionamento (ER) Modelo ER É um modelo de dados conceptual. É um modelo próximo do modelo relacional. Descreve

Leia mais

Bases de Dados. Parte II: Os Modelos ER e EER

Bases de Dados. Parte II: Os Modelos ER e EER Bases de Dados MI / LCC / LEG / LERSI / LMAT Parte II Os Modelos ER e EER 1 O Modelo Entidade-Relacionamento (ER) Modelo ER É um modelo de dados conceptual. É um modelo próximo do modelo relacional. Descreve

Leia mais

Bases de Dados. Parte III: O Modelo Relacional

Bases de Dados. Parte III: O Modelo Relacional Bases de Dados MI / LCC / LEG / LERSI / LMAT Parte III O Modelo Relacional 1 O Modelo Relacional Foi introduzido em 1970 por Ted Codd da IBM Research. É baseado no conceito de relação, onde uma relação

Leia mais

SQL: Definição de tabelas, Modificações à Base de Dados

SQL: Definição de tabelas, Modificações à Base de Dados SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de

Leia mais

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

SQL - Criação de Tabelas

SQL - Criação de Tabelas SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas

Leia mais

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

SQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Definição do Esquema da Base de Dados Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL - Esquema da base de dados Definição das tabelas Definição das chaves primárias Definição

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que a IBM desenvolvia

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

MODELO RELACIONAL - UFMA

MODELO RELACIONAL - UFMA MODELO RELACIONAL Universidade Federal do Maranhão - UFMA Departamento de Informática Projeto de Banco de Dados Profª.MSc Simara Rocha simararocha@gmail.com/simara@deinf.ufma.br www.deinf.ufma.br/~simara

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais

Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento ome Designação Doc... #Disc... Docente Ensina Disciplina Abordagem proposta por Peter P. Chen (década de 70) para o processo de modelação de dados com ampla aceitação; Trabalho

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;

Leia mais

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

Leia mais

Capítulo 6 Regras de Integridade. Murilo S. de Camargo (Modificações M.A R. Dantas)

Capítulo 6 Regras de Integridade. Murilo S. de Camargo (Modificações M.A R. Dantas) Capítulo 6 Regras de Integridade Murilo S. de Camargo (Modificações M.A R. Dantas) 1 Restrições de Integridade ❾ Restrições de Domínio ❾ Integridade Referencial ❾ Asserções ❾ Gatilhos (Triggers) ❾ Dependências

Leia mais

Bases de Dados. Parte V: A Linguagem SQL

Bases de Dados. Parte V: A Linguagem SQL Bases de Dados Parte V A Linguagem SQL 1 SQL Structured Query Language O SQL é uma poderosa linguagem declarativa que permite definir, questionar e manipular bases de dados. Para além das funcionalidades

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

Banco de Dados 1 2º Semestre

Banco de Dados 1 2º Semestre Banco de Dados 1 2º Semestre Aula 07 Prof. Gladimir Ceroni Catarino gladimir@gmail.com SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS o Uma coletânea de conceitos que

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL

SQL SQL BANCO DE DADOS 2. Componentes do SQL (1) Componentes do SQL (2) DDL Criação de banco de dados. Padrões de SQL BANCO DE DADOS 2 SQL (CREATE TABLE, CONSTRAINTS, DELETE, UPDATE e INSERT) Prof. Edson Thizon SQL SQL ( structured query language ) é uma linguagem comercial de definição e manipulação de banco de dados

Leia mais

Unidade III - BD Relacional

Unidade III - BD Relacional Structured Query Language (SQL) Conceitos Iniciais Álgebra Relacional - muito formal Cálculo Relacional de Tupla SEQUEL (Structured English QUEry Language) IBM - Sistema R SQL-86 SQL-92 SQL-3 102 Structured

Leia mais

Bases de Dados. Parte I: Conceitos Básicos

Bases de Dados. Parte I: Conceitos Básicos Bases de Dados MBI/MI/LCC/LEG/LERSI/LMAT Parte I Conceitos Básicos 1 Definições Básicas Base de dados (BD): conjunto de dados que se relacionam entre si. Dados: factos conhecidos que têm algum significado

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS)

SQL. Histórico BANCO DE DADOS. Conceito. Padrões de SQL (1) Componentes do SQL (1) Padrões de SQL (2) (DDL: CREATE TABLE, CONSTRAINTS) BANCO DE DADOS SQL (DDL: CREATE TABLE, CONSTRAINTS) Prof. Edson Thizon Histórico Entre 1974 e 1979, o San José Research Laboratory da IBM desenvolveu um SGDB relacional que ficou conhecido como Sistema

Leia mais

SQL DDL Criando Tabelas e Restrições Instituto Militar de Engenharia IME Material extraido parcialmente de notas de aula de Maria Luiza Campos e Arnaldo Vieira Comandos de Definição de Dados Aplicação

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

Leia mais

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Definição de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

Structured Query Language (SQL) Aula Prática

Structured Query Language (SQL) Aula Prática Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas

Leia mais

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem num conjunto de apontadores para instâncias especificas de cada relação. Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de

Leia mais

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Curso Superior de Tecnologia em BD

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em BD Modelagem de Dados Aula 01 Revisão Modelos de Dados Existem modelos para diferentes níveis de abstração de representação de dados modelos conceituais modelos lógicos

Leia mais

Introdução à Banco de Dados

Introdução à Banco de Dados Introdução à Banco de Dados Introdução à Banco de Dados Agenda O que é Banco de Dados Como ele funciona Sistema Gerenciador de Banco de Dados Modelagem de Dados Modelo de dados Entidade-Relacionamento

Leia mais

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento. Roteiro Modelo de Dados Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Introdução

Leia mais

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Integridade Carlos Eduardo Portela Serra de Castro * Integridade Introdução Restrições de Integridade de Domínio de Relação Asserções Procedimentos-gatilho

Leia mais

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico

Banco de Dados II. Introdução Revisão - normalização -modelagem - sql básico Banco de Dados II Introdução Revisão - normalização -modelagem - sql básico Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Profa. Daniela Barreiro Claro

Profa. Daniela Barreiro Claro Profa. Daniela Barreiro Claro Modelar é criar representações do mundo real A modelagem relacional pode ser representada via MER (Modelo de Entidade Relacionamento) O MER define estruturas e restrições

Leia mais

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Banco de Dados Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Processo de Projeto de Banco de Dados Minimundo Projeto Lógico (Mapeamento do Modelo de Dados) 1 4 Esquema Lógico (Modelo do SGBD)

Leia mais

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de

Leia mais

Modelo Entidade-Relacionamento. Prof. Antonio Almeida de Barros Jr.

Modelo Entidade-Relacionamento. Prof. Antonio Almeida de Barros Jr. Modelo Entidade-Relacionamento Prof. Antonio Almeida de Barros Jr. Conteúdo Contexto Histórico A Importância da Modelagem de Dados Projeto de Banco de Dados Modelagem Conceitual Projeto Lógico Projeto

Leia mais

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Programação SQL. Manipulação de Dados. DML Data Manipulation Language Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem

Leia mais

Definida pelo American National Standard Institute (ANSI) em 1986

Definida pelo American National Standard Institute (ANSI) em 1986 2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional

Leia mais

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

Ciclo de vida de um banco de dados relacional

Ciclo de vida de um banco de dados relacional Ciclo de vida de um banco de dados relacional 1. Formulação e análise de requisitos: a) Relacionamentos naturais entre os dados (independentes de processo). b) Requisitos de uso (dependentes de processo).

Leia mais

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

Leia mais

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Modelo Relacional Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas Esquema da Relação Descreve as colunas da tabela Especifica

Leia mais

CICLO DE VIDA DE UM BD

CICLO DE VIDA DE UM BD BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br CICLO DE VIDA DE UM

Leia mais

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Capítulo 8: BDs Objecto-Relacional Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Objectos e Referência

Leia mais

Linguagem SQL. Comandos Básicos

Linguagem SQL. Comandos Básicos Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br Comando

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

B A N C O D E D A D O S

B A N C O D E D A D O S Apostila 1 2005 Prof. Paulo Roberto Rodrigues de Souza INTRODUÇÃO Esta apostila tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

Exemplos de Vistas SQL. Tipos em SQL. Linguagem de Definição de Dados (DDL) CREATE VIEW todososclientes As

Exemplos de Vistas SQL. Tipos em SQL. Linguagem de Definição de Dados (DDL) CREATE VIEW todososclientes As Exemplos de Vistas SQL Considere-se a vista (com o nome todososconsumidores) contento os nomes das agências e seus clientes CREATE VIEW todososclientes As Π nomebalcao,nomecliente (temconta conta) Π nomebalcao,nomecliente

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL (86); SQL-2 (92); SQL-3 (99) e SQL:2003 não é apenas uma linguagem de consulta! como o nome sugere...

Leia mais

Avaliação DCC011. Programa. Conceitos Básicos. Definição de Banco de Dados. Sist. de Gerência de Banco de Dados. [Elmasri & Navathe, 2000]

Avaliação DCC011. Programa. Conceitos Básicos. Definição de Banco de Dados. Sist. de Gerência de Banco de Dados. [Elmasri & Navathe, 2000] DCC011 Introdução a Banco de Dados -08 Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br 2009/1 Avaliação Provas 60 pontos Trabalhos Práticos

Leia mais

Banco de Dados Modelo Entidade-Relacionamento. Frederico D. Bortoloti freddb@ltc.ufes.br

Banco de Dados Modelo Entidade-Relacionamento. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados Modelo Entidade- Frederico D. Bortoloti freddb@ltc.ufes.br Modelo Entidade- Proposto por Peter Chen, em 1976 Baseado na percepção do mundo real Consiste de um conjunto de objetos básicos

Leia mais

SQL DDL Criando Tabelas e Restrições

SQL DDL Criando Tabelas e Restrições SQL DDL Criando Tabelas e Restrições Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Rocha e Maria Cláudia Cavalcanti Comandos de Definição

Leia mais

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL- (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

MC536 Bancos de Dados: Teoria e Prática

MC536 Bancos de Dados: Teoria e Prática Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #3 : MER e MER Estendido Profs. Anderson Rocha e André Santanchè Campinas, 1 de Agosto

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL-1 (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL FLUMINENSE PÓLO UNIVERSITÁRIO DE RIO DAS OSTRAS FACULDADE FEDERAL DE RIO DAS OSTRAS CURSO DE CIÊNCIA DA COMPUTAÇÃO 2ª. Avaliação de Banco de Dados 1º. Sem de 2008 Prof.: Carlos Bazilio

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS)

SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL SQL, é uma linguagem de programação que foi desenvolvida para questionar bases de dados relacionais

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais