BANCO DE DADOS II Conceitos Básicos. COTEMIG Gerson Borges

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

Download "BANCO DE DADOS II Conceitos Básicos. COTEMIG Gerson Borges"

Transcrição

1 BANCO DE DADOS II Conceitos Básicos COTEMIG Gerson Borges

2 Revisão

3 O que é um banco de dados?

4 Definições Preliminares [Chu, 1985] Um banco de dados é um conjunto de arquivos relacionados entre si [Date, 2000] Um banco de dados é uma coleção de dados operacionais armazenados usados pelas aplicações de uma determinada organização

5 Outra Definição de Banco de Dados [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Representando algum aspecto do mundo real (mini-mundo ou universo de discurso) Logicamente coerente, com algum significado Projetado, construído e gerado ( povoado ) para uma aplicação específica

6 Sistema de Gerência de Banco de Dados Um sistema de gerência de banco de dados (SGBD) é um conjunto de programas que permite a criar e manter um banco de dados Um banco de dados juntamente com o SGBD que o gerência constitui um sistema de banco de dados

7 Usuários/Programadores Consultas/Programas SGBD Catálogo (Meta-Dados) Banco de Dados Sistema de Banco de Dados

8 Exemplo de um Banco de Dados Mini-mundo: parte de uma universidade Algumas entidades: Alunos Disciplinas Departamentos Alguns relacionamentos: Disciplinas são oferecidas por Departamentos Alunos estão matriculados em Disciplinas

9 Exemplo de um Banco de Dados

10 Exemplo de um Banco de Dados

11 Características da Abordagem de BD Auto-descrição dos dados Isolamento entre programas e dados: abstração de dados Suporte a múltiplas visões dos dados Compartilhamento de dados e processamento de transações concorrentes

12 Usuários em um Ambiente de BD Administradores de banco de dados Projetistas de banco de dados Analistas de sistema e programadores Usuários finais: Usuários casuais Usuários leigos Usuários especializados

13 Vantagens da Utilização de um SGBD Controle de redundância dos dados Controle de acesso (segurança) Armazenamento persistente dos dados Existência de múltiplas interfaces para os usuários Representação de relacionamentos complexos entre os dados Manutenção de restrições de integridade Recuperação de falhas

14 Implicações da Abordagem de BD Adoção/imposição de padrões Redução do tempo de desenvolvimento das aplicações Flexibilidade Atualidade da informação disponível Economia de escala

15 Quando não Utilizar um SGBD Aplicações simples e bem definidas onde não se espera mudanças Aplicações de tempo-real Aplicações onde não é necessário acesso multiusuário Motivos: Investimento inicial alto Generalidade na definição e manipulação dos dados Custo adicional para prover outras facilidades funcionais (manutenção de segurança, controle de concorrência, recuperação de falhas, etc.)

16 Modelo de Dados, Esquema e Instância Modelo de dados: Conjunto de conceitos usados para descrever a estrutura de um banco de dados Abstração de dados Estrutura = tipos de dados + relacionamentos + restrições (+operações ) Esquema: Descrição (textual ou gráfica) da estrutura de um banco de dados de acordo com um determinado modelo de dados Instância: Conjunto de dados armazenados em um banco de dados em um determinado instante de tempo

17 Modelo de Dados, Esquema e Instância Esquema do banco de dados de exemplo

18 Modelo de Dados, Esquema e Instância Instância do banco de dados de exemplo

19 Relação entre Modelo de Dados, Esquema e Instância Modelo de Dados Regras para estruturação dos dados Esquema Regras para verificação das instâncias Instância

20 Modelo de Dados, Esquema e Instância Estado do Banco Dados do banco em qualquer ponto do tempo Inicialmente vazio Muda freqüentemente Validade parcialmente guarantida pelo SGBD Esquema do Banco Armazenado no catálogo Mudanças muito menos freqüentes

21 Tipos de Modelo de Dados Modelos conceituais Utilizados para se descrever a estrutura de um banco de dados de uma forma mais próxima da percepção dos usuários (independente de aspectos de implementação) Ex. Conceitos: entidades, atributos, relacionamentos Exemplos: Modelo entidade-relacionamento (ER) Modelo funcional Modelo orientado a objetos (OO)

22 Tipos de Modelo de Dados Modelos representacionais (lógicos) Utilizados para se descrever a estrutura de um banco de dados da forma como será manipulado através de SGBD (mais dependente das estruturas físicas de armazenamento de dados) Exemplos: Modelo relacional Modelo de rede (CODASYL) Modelo hierárquico

23 Tipos de Modelo de Dados Modelos físicos Utilizados para descrever como os dados são fisicamente armazenados

24 Linguagens Linguagem de definição de dados (LDD) Usada para definir esquemas Linguagem de manipulação de dados (LMD) Recuperação, inserção, remoção, modificação do BD Linguagem de consulta LMD de alto nivel usada em modo standalone Exemplo: SQL

25 Utilitários Carregamento Backup E.g. dumps do banco de dados (Re-)Organização de arquivos Monitoramento da performance

26 Classificação dos SGBDs Quanto ao modelo de dados adotado: Relacionais De rede Hierárquicos Orientados a objetos Objeto-relacionais Quanto ao número de usuários suportados: Mono-usuários Multi-usuários Quanto à localização dos dados: Centralizados Distribuídos

27 Exemplo de um BD Relacional Empregado NumEmp NomeEmp Salário Dept 032 J Silva M Reis C Melo R Silva R Pinto V Simão J Neves Departamento NumDept NomeDept Ramal 21 Pessoal Financeiro Técnico 144

28 Exemplo de um BD de Rede Empregado Departamento 21 Pessoal J Silva M Reis C Melo Financeiro R Silva R Pinto Técnico V Simão J Neves 640

29 Exemplo de um BD Hierárquico Departamento 21 Pessoal Financeiro Técnico 144 Empregado 032 J Silva M Reis C Melo R Pinto R Silva V Simão J Neves 640

30 Modelo Entidade-Relacionamento

31 Processo de Projeto de Bancos de Dados Mini-Mundo Análise de Requisitos Requisitos Funcionais Requisitos do BD Análise Funcional Projeto Conceitual Especificação das Transações Esquema Conceitual (em alto nível) (em um modelo de dados de alto nível) Independente de SGBD Projeto Lógico Específico para um SGBD Projeto das Aplicações Esquema Lógico (em um modelo de dados lógico) Projeto Físico Implementação Esquema Físico (para um SGBD específico) Programas

32 Aplicação exemplo Banco de Dados de uma companhia Organizada em departamentos que têm um nome e um número únicos e um empregado que gerencia o departamento. A data de quando o empregado começou a gerenciar o departamento deve ser registrada. Um departamento pode ter varias localizações Um departamento controla um número de projetos, cada qual com um nome e número únicos e uma única localização

33 Aplicação exemplo Banco de Dados de uma companhia Nós armazenamos para cada empregado seu nome, identidade, endereço, salário, sexo, e data de nascimento. Um empregado é assinalado a um departamento mas pode trabalhar em diversos projetos, os quais não são necessariamente controlados pelo mesmo departamento. Nos registramos o número de horas por semana que o empregado trabalha em cada projeto e o supervisor direto de cada empregado Nós mantemos registro para cada empregado, do numero de dependentes (para seguro) e para cada dependente o primeiro nome, sexo, data de nascimento e relacionamento com o empregado.

34 Esquema conceitual M

35 Modelo ER - Conceitos Entidades: Objetos do mundo real que são de interesse para alguma aplicação Atributos: Propriedades utilizadas para descrever uma entidade e 1 (Employee) Name = John Address = 2311 Kirby, Houston, TX Age = 55 Home Phone =

36 Modelo ER - Conceitos Tipos (classes) de atributo: Simples ou compostos Ex. Endereço (Endereço da Rua (número, nome da rua, número do apto), Cidade, Estado, CEP) Monovalorados ou multivalorados Ex. Profissão Armazenados ou derivados Data de Nascimento Idade, Empregados trabalhando no departamento NumeroDeEmpregados Valores Null Não aplicável Ex. Número do apartamento Desconhecido Ex. Telefone de casa

37 Modelo ER - Conceitos Tipo de entidade: Define um conjunto de entidades que têm os mesmos atributos (propriedades) Descreve o esquema para um conjunto de entidades que compartilham a mesma estrutura Exemplos: Employee, Company

38 Modelo ER - Conceitos Chave de um tipo de entidade: Atributo que possui valor único para cada entidade (instância) Ex. Nome da companhia, identidade do empregado Chave pode ser formada por vários atributos: chave composta Registro do Veiculo: Numero de Registro e Estado Domínio de um atributo: Conjunto de valores que podem ser atribuídos a um atributo para cada entidade individualmente Ex. Idade do Empregado: (16,70); Nome do Empregado:String

39 Figura 3.5 Tipos de entidade e suas instâncias

40 Esquema conceitual M

41 Modelo ER - Conceitos Relacionamentos: Associações entre duas ou mais entidades distintas (instâncias) com um significado Exemplo: Employee John Smith Works-for Department Research Employee Fred Brown Manages Department Research Departament Research Controls Project X

42 Modelo ER - Conceitos Tipo de Relacionamento: Define um conjunto de associações entre n tipos de entidade E 1, E 2,...,E n Exemplo: Works-for entre Employee e Department Employee Works-for Department

43 Modelo ER - Conceitos Tipo de Relacionamento: Matematicamente, um tipo de relacionamento R é um conjunto de (instâncias de) relacionamentos r i, onde cada r i associa n (instâncias de) entidades (e 1,...,e n ) e cada e j pertence a um tipo de entidade Ej R E 1 x E 2 x... x E n r i = (e 1,...,e n ) Grau de um Tipo de Relacionamento Número de tipos de entidade participantes de um tipo de relacionamento

44 Instâncias de um tipo de relacionamento binário

45 Instâncias de um tipo de relacionamento ternário

46 Esquema conceitual M

47 Modelo ER - Conceitos Restrições sobre tipos de relacionamento: Limitam as possiveis combinações de entidades que podem participar no conjunto de relacionamentos Cardinalidade: Especifica o número de instâncias de um tipo de relacionamento do qual uma entidade pode participar Participação: Especifica se a existência de uma entidade depende de seu relacionamento com outra entidade através de um tipo de relacionamento parcial ou total Ex. Todo empregado deve trabalhar para um departamento (total) Ex. Nem todo empregado gerencia um departamento (parcial) Cardinalidade + Participação Restrições Estruturais

48 Cardinalidade 1:1

49 Cardinalidade M:N

50 Esquema conceitual M

51 Modelo ER - Conceitos Papéis e relacionamentos recursivos Entidades atuam com um determinado papel Significado do papel é dado por um nome, atribuído a cada tipo de entidade Nomes só são necessários em tipos de relacionamento que envolvam mais de uma vez o mesmo tipo de entidade relacionamentos recursivos Exemplo: Supervision, onde Employee tem os papéis de Supervisor e Supervisee

52 Figure Supervisor 2 - Supervisee

53 Esquema conceitual M

54 Modelo ER - Conceitos Tipos de Entidade Fraca Tipos de entidade que não têm chave própria As instâncias são identificadas através do relacionamento com entidades de outro tipo, chamado de dono ou identificador, juntamente com os valores de alguns atributos (chave parcial) Exemplo: Dependent

55 Esquema conceitual M

56 Notação ER (Resumo)

57 Modelo de Dados Relacional

58 Introdução O modelo relacional representa um banco de dados como um conjunto de relações Informalmente, uma relação é uma tabela de valores, onde cada linha representa uma coleção de dados relacionados Cada linha de uma tabela representa um fato que tipicamente corresponde a uma entidade ou relacionamento do mundo real

59 Conceitos Básicos As linhas de uma relação (tabela) são chamadas de tuplas Ao cabeçalho de cada coluna dá-se o nome de atributo O conjunto de valores que pode aparecer em cada coluna é chamado de domínio

60 Conceitos Básicos Esquema de relação Descreve a relação R(A 1,A 2,...,A n ), onde: R Nome da relação A i Nome de um atributo n Grau da relação Cada Atributo A i e o nome de um papel desempenhado por algum dominio D no Esquema da relação R Exemplo: Student(Name, SSN, HomePhone, Address, OfficePhine, Age,GPA)

61 Conceitos Básicos Relação r(r) Conjunto de tuplas: r = {t 1,t 2,..., t m } Cada tupla é uma lista ordenada de valores: t = <v 1,v 2,..., v n >

62 Características de uma Relação As tuplas de uma relação não são ordenadas Benjamin Bayer Bluebonnet Lane null Registros em um arquivo são ordenados de acordo com a posição em que são armazenados no disco

63 Características de uma Relação Uma tupla é uma lista ordenada de valores O valor de cada atributo em uma tupla é atômico Atributos compostos e multivalorados não são permitidos O valor especial null é utilizado para representar valores não conhecidos ou não aplicáveis a uma determinada tupla

64 Restrições de Integridade Restrições de domínio Especificam que o valor de cada atributo A de uma relação deve ser um valor atômico do domínio dom(a) Restrições de chave Por definição todas as tuplas sao distintas Um conjunto de atributos SK de um esquema de relação R tal que, para duas tuplas quaisquer t 1 e t 2 de r(r), t 1 [SK] t 2 [SK] é uma super-chave de R Super-chave default: todos os atributos Uma chave de R é uma super-chave com a propriedade adicional de que nenhum de seus subconjuntos também seja uma super-chave de R {SSN,Name,Age} = super-chave; {SSN} = chave

65 Restrições de Integridade Restrições de chave Um esquema de relação pode ter mais de uma chave chaves candidatas Dentre as chaves candidatas de um esquema de relação, uma delas é indicada como chave primária e as demais constituem as chaves alternativas

66 Restrições de Integridade Restrições em valores null Especifica se a um atributo é permitido ter valores null Exemplo. Todo Estudante deve ter um nome válido, não-null

67 Esquema de um BD Relacional

68 Restrições de Integridade Além das restrições de domínio e de chave as seguintes restrições de integridade são parte do modelo relacional: Restrição de integridade de entidade Nenhum componente de uma chave primária pode ser nulo

69 Restrições de Integridade Restrição de integridade referencial Usada para manter a consistencia entre tuplas de duas relacoes Uma tupla em uma relação que se refere a outra relação deve referenciar uma tupla existente nesta outra relação Aparecem devido aos relacionamentos entre entidades Seja FK um conjunto de atributos de um esquema de relação R 1 definido sobre o mesmo domínio dos atributos da chave primária PK de outro esquema R 2. Então, para qualquer tupla t 1 de R 1 : t 1 [FK] = t 2 [PK], onde t 2 é uma tupla de R 2 ou t 1 [FK] é nulo

70 Restrições de integridade referencial

71 Restrições de Integridade A restrição de integridade referencial pode ser expressa pela notação R 1 [FK] R 2 [PK], onde PK é a chave primária de R 2 estrangeira de R 1 Exemplos: EMPLOYEE[DNO] DEPARTMENT[DNUMBER] WORKS_ON[ESSN] EMPLOYEE[SSN] WORKS_ON[PNO] PROJECT[PNUMBER] e FK é a chave

72 Instância de um BD Relacional Houston

73 Instância de um BD Relacional

74 Opções de Remoção da RIR A cada RIR R 1 [FK] R 2 [PK] é possível associar uma opção de remoção que especifica como a remoção de uma tupla de R 2 é executada em relação a R 1 As opções de remoção possíveis são: bloqueio propagação substituição por nulos Notação: onde op {b, p, n} op R 1 [FK] R 2 [PK],

75 Exemplos de RIR EMPLOYEE(FNAME,MINT,LNAME,SSN,BDATE,ADDRESS,SEX, SALARY,SUPERSSN,DNO) n EMPLOYEE[SUPERSSN] EMPLOYEE[SSN] b EMPLOYEE[DNO] DEPARTMENT[DNUMBER] DEPARTMENT[DNAME,DNUMBER,MGRSSN,MGRDATE] b DEPARTMENT[MGRSSN] EMPLOYEE[SSN] DEPT_LOCATIONS(DNUMBER,LOCATION) p DEPT_LOCATIONS[DNUMBER] DEPARTMENT[DNUMBER]

76 n b b p b b p b Restrições de integridade referencial com opções de remoção

77 Operações sobre Relações As operações sobre um BD relacional podem ser classificadas em: Operações de recuperação (consulta) Operações de atualização Operações de atualização (sobre tuplas): Inserção (insert) Remoção (delete) Modificação (modify)

78 Operações sobre Relações Operações de atualização Restrições de integridade não podem ser violadas Inserção Restrição de Dominio: valor fora do dominio Restrição de Chave: valor ja existe Restrição de integridade de entidade: se chave for null Restrição de integridade referencial: se chave estrangeira referencia tupla inexistente Ação default: rejeitar inserção (com explicação)

79 Operações sobre Relações Operações de atualização Restrições de integridade não podem ser violadas Remoção Restrição de integridade referencial: tupla deletada e referenciada por chaves estrangeiras Ação default: rejeitar inserção (com explicação) Segunda opção: propagar remoção de tuplas que violem uma restrição de integridade referencial Terceira Opcao: Modificar o valor da chave estrangeira para nulo

80 Operações sobre Relações Operações de atualização Restrições de integridade não podem ser violadas Modificação Modificar o valor de um atributo que nao e chave primaria ou estrangeira não causa problemas (se o valor for do dominio, e, se for null, que este valor seja permitido) Modificar a chave primaria e igual a remover uma tupla e inserir outra Modificar chave estrangeira: SGBD deve verificar se novo valor do atributo referencia tupla existente

81 A Linguagem SQL

82 Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado pelo ANSI/ISO: SQL1 (SQL-86) SQL2 (SQL-92) SQL3 (SQL:1999)

83 Introdução SQL = LDD + LMD + LCD Principais comandos: LDD: CREATE SCHEMA / TABLE / VIEW DROP SCHEMA / TABLE / VIEW ALTER TABLE LMD: SELECT, INSERT, UPDATE, DELETE LCD: GRANT, REVOKE Conceitos: Table = Relação Row = tupla Column = atributo

84 Definição de Dados em SQL Comando CREATE SCHEMA CREATE SCHEMA COMPANY AUTHORIZATION JS; Comando CREATE TABLE CREATE TABLE <nome da tabela> (<definições de colunas> <definição da chave primária> <definições de chaves alternativas> <definições de chaves estrangeiras>);

85 Definição de Dados em SQL Exemplo de um comando CREATE TABLE CREATE TABLE EMPLOYEE (FNAME VARCHAR(15) NOT NULL, MINIT CHAR, LNAME VARCHAR(15) NOT NULL, SSN CHAR(9) NOT NULL, SUPERSSN CHAR(9), DNO INT NOT NULL, PRIMARY KEY (SSN), FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE (SSN) ON DELETE SET NULL, FOREIGN KEY (DNO) REFERENCES DEPARTMENT (DNUMBER));

86 Definição de Dados em SQL Opções de remoção (cláusula ON DELETE): CASCADE (propagação) SET NULL (substituição por nulos) SET DEFAULT (substituição por um valor default) Opção default: bloqueio (RESTRICT) As mesmas opções se aplicam à cláusula ON UPDATE

87 Restrição de Integridade Referencial em SQL FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE(SSN) ON DELETE SET NULL FOREIGN KEY (DNO) REFERENCES DEPARTMENT(DNUMBER) FOREIGN KEY (MGRSSN) REFERENCES EMPLOYEE(SSN) FOREIGN KEY (DNUMBER) REFERENCES DEPARTMENT(DNUMBER) ON DELETE CASCADE FOREIGN KEY (DNUM) REFERENCES DEPARTMENT(DNUMBER) FOREIGN KEY (ESSN) REFERENCES EMPLOYEE(SSN) FOREIGN KEY (PNO) REFERENCES PROJECT(PNUMBER) FOREIGN KEY (ESSN) REFERENCES EMPLOYEE(SSN) ON DELETE CASCADE

88 Restrição de Integridade Referencial em SQL

89 Definição de Dados em SQL Comandos DROP SCHEMA e DROP TABLE DROP SCHEMA COMPANY CASCADE (RESTRICT); RESTRICT: APENAS SE NAO TEM ELEMENTOS DROP TABLE DEPENDENT CASCADE (RESTRICT); RESTRICT: SE A TABELA NAO E REFERENCIADA EM QUALQUER RESTRICAO Comando ALTER TABLE ALTER TABLE COMPANY.EMPLOYEE ADD JOB VARCHAR(12); Inicialmente Null para todas as tuplas ALTER TABLE COMPANY.EMPLOYEE DROP ADDRESS CASCADE (RESTRICT); RESTRICT: SE NENHUMA VISAO OU RESTRICAO REFERENCIA A COLUNA

90 Consultas Básicas em SQL Formato básico do comando SELECT: SELECT <lista de atributos> FROM <lista de tabelas> WHERE <condição>; Exemplo: SELECT BDATE, ADDRESS FROM EMPLOYEE WHERE FNAME= John AND MINIT= B AND LNAME= Smith ;

91 Consultas Básicas em SQL SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DNAME= Research AND DNO=DNUMBER; condição de seleção condição de junção SELECT PNUMBER, DNUM, LNAME, ADDRESS, BDATE FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE PLOCATION= Stafford AND DNUM=DNUMBER AND MGRSSN=SSN;

92 Consultas Básicas em SQL Atributos ambíguos e pseudônimos (alias) SELECT DNAME, DLOCATION FROM DEPARTMENT, DEPT_LOCATIONS WHERE DEPARTMENT.DNUMBER = DEPT_LOCATIONS.DNUMBER; SELECT E.FNAME, E.LNAME, S.FNAME, S.LNAME FROM EMPLOYEE AS E, EMPLOYEE AS S WHERE E.SUPERSSN=S.SSN;

93 Consultas Básicas em SQL Consultas sem a cláusula WHERE SELECT SSN, LNAME, SALARY FROM EMPLOYEE; SELECT LNAME, DNAME FROM EMPLOYEE, DEPARTMENT WHERE DNO=DNUMBER; Atenção! Esta consulta corresponde a um produto cartesiano das tabelas EMPLOYEE e DEPARTMENT

94 Consultas Básicas em SQL Manipulando tabelas como conjuntos SELECT SALARY FROM EMPLOYEE; Não elimina linhas (tuplas) duplicatas SELECT DISTINCT SALARY FROM EMPLOYEE; (SELECT PNUMBER FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE DNUM=DNUMBER AND MGRSSN=SSN AND LNAME= Smith ) UNION (SELECT PNUMBER FROM PROJECT, WORKS_ON, EMPLOYEE WHERE PNUMBER=PNO AND ESSN=SSN AND LNAME= Smith );

95 Consultas Complexas em SQL Consultas aninhadas SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE WHERE DNO IN (SELECT DNUMBER FROM DEPARTMENT WHERE DNAME= Research ); é equivalente à consulta SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DNO=DNUMBER AND DNAME= Research ;

96 Consultas Complexas em SQL Comparação de conjuntos SELECT DISTINCT PNUMBER FROM PROJECT WHERE PNUMBER IN (SELECT PNUMBER FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE DNUM =DNUMEBR AND MGRSSN=SSN AND LNAME= Smith ) OR PNUMBER IN (SELECT PNO FROM WORKS_ON, EMPLOYEE WHERE ESSN=SSN AND LNAME= Smith );

97 Consultas Complexas em SQL Comparação de conjuntos SELECT DISTINCT ESSN FROM WORKS_ON WHERE (PNO, HOURS) IN (SELECT PNO, HOURS FROM WORKS_ON WHERE ESSN= ); SELECT LNAME, FNAME FROM EMPLOYEE WHERE SALARY > ALL (SELECT SALARY FROM EMPLOYEE WHERE DNO=5);

98 Consultas Complexas em SQL Uso da função EXISTS SELECT E.FNAME, E.LNAME FROM EMPLOYEE AS E WHERE EXISTS (SELECT * FROM DEPENDENT WHERE E.SSN=ESSN AND E.SEX=SEX AND E.FNAME=DEPENDENT_NAME); SELECT FNAME, LNAME FROM EMPLOYEE WHERE NOT EXISTS (SELECT * FROM DEPENDENT WHERE SSN=ESSN);

99 Consultas Complexas em SQL Uso do operador CONTAINS SELECT FNAME, LNAME FROM EMPLOYEE WHERE ((SELECT PNO FROM WORKS_ON WHERE SSN=ESSN) CONTAINS (SELECT PNUMBER FROM PROJECT WHERE DNUM=5));

100 Facilidades Adicionais Uso do operador JOIN SELECT FNAME, LNAME, ADDRESS FROM (EMPLOYEE JOIN DEPARTMENT ON DNO=DNUMEBR) WHERE DNAME= Research ; SELECT DNAME, DLOCATION FROM (DEPARTMENT NATURAL JOIN DEPT_LOCATIONS); SELECT FNAME, LNAME, DEPENDENT_NAME FROM (EMPLOYEE LEFT OUTER JOIN DEPENDENT ON SSN=ESSN);

101 Facilidades Adicionais Agrupamento SELECT DNO, COUNT(*), AVG(SALARY) FROM EMPLOYEE GROUP BY DNO;

102 Facilidades Adicionais Agrupamento com a cláusula HAVING SELECT PNUMBER, PNAME, COUNT(*) FROM PROJECT, WORKS_ON WHERE PNUMBER=PNO GROUP BY PNUMBER, PNAME HAVING COUNT(*) > 2;

103

104

105 Atualizações em SQL Comando INSERT INSERT INTO EMPLOYEE VALUES ( Richard, K, Marini, , , 98 Oak Forest, Katy, TX,37000, ,4); INSERT INTO EMPLOYEE(FNAME, LNAME, SSN, DNO) VALUES ( Richard, Marini, ,4); INSERT INTO EMPLOYEE(FNAME, LNAME, SSN, DNO) SELECT * FROM INPUT;

106 Atualizações em SQL Comando DELETE DELETE FROM EMPLOYEE WHERE LNAME= Brown ; DELETE FROM EMPLOYEE WHERE DNO IN (SELECT DNUMBER FROM DEPARTMENT WHERE DNAME= Research ); DELETE FROM EMPLOYEE;

107 Atualizações em SQL Comando UPDATE UPDATE PROJECT SET PLOCATION= Bellaire, DNUM=5 WHERE PNUMBER=10; UPDATE EMPLOYEE SET SALARY=SALARY*1.1 WHERE DNO IN (SELECT DNUMBER FROM DEPARTMENT WHERE DNAME= Research );

108 Projeto Lógico de Bancos de Dados Relacionais

109 Tópicos Processo de Projeto de Bancos de Dados Exemplo Preliminar Representação Relacional de Esquemas ER Implementação Usando SQL Referências Bibliográficas

110 Processo de Projeto de Bancos de Dados Caracterização Complexidade Multiplicidade de tarefas Fases Coleção e análise de requisitos Projeto conceitual Escolha de um sistema gerenciador de banco de dados Projeto lógico (ou mapeamento para o modelo de dados do SGBD escolhido) Projeto físico Implementação e tuning

111 Fases do Processo de Projeto de Bancos de Dados Mini-Mundo Análise de Requisitos Requisitos Funcionais Requisitos do BD Análise Funcional Projeto Conceitual Especificação das Transações Esquema Conceitual (em alto nível) (em um modelo de dados de alto nível) Independente de SGBD Projeto Lógico Específico para um SGBD Projeto das Aplicações Esquema Lógico (em um modelo de dados lógico) Projeto Físico Implementação Esquema Físico (para um SGBD específico) Programas

112 Abordagem ER para Projeto Lógico de Bancos de Dados Relacionais Mini-Mundo Análise de Requisitos Modelo ER Requisitos Funcionais Requisitos do BD Análise Funcional Projeto Conceitual Especificação das Transações Esquema Conceitual (em alto nível) (em um modelo de dados de alto nível) Independente de SGBD Específico para um SGBD Projeto das Aplicações Projeto Lógico Esquema Lógico (em um modelo de dados lógico) Projeto Físico Modelo Relacional SGBD Relacional Implementação Esquema Físico (para um SGBD específico) Programas

113 Aplicação exemplo Banco de Dados de uma companhia Organizada em departamentos que têm um nome e um número únicos e um empregado que gerencia o departamento. A data de quando o empregado começou a gerenciar o departamento deve ser registrada. Um departamento pode ter varias localizações Um departamento controla um número de projetos, cada qual com um nome e número únicos e uma única localização

114 Aplicação exemplo Banco de Dados de uma companhia Nós armazenamos para cada empregado seu nome, identidade, endereço, salário, sexo, e data de nascimento. Um empregado e assinalado a um departamento mas pode trabalhar em diversos projetos, os quais não são necessariamente controlados pelo mesmo departamento. Nos registramos o número de horas por semana que o empregado trabalha em cada projeto e o supervisor direto de cada empregado Nós mantemos registro para cada empregado, do numero de dependentes (para seguro) e para cada dependente o primeiro nome, sexo, data de nascimento e relacionamento com o empregado.

115 M

116

117

118 n EMPLOYEE[SUPERSSN] EMPLOYEE[SSN] b EMPLOYEE[DNO] DEPARTMENT[DNUMBER] b DEPARTMENT[MGRSSN] EMPLOYEE[SSN] p DEPT_LOCATIONS[DNUMBER] DEPARTMENT[DNUMBER] b PROJECT[DNUM] DEPARTMENT[DNUMBER] b WORKS_ON[ESSN] EMPLOYEE[SSN] b WORKS_ON[PNO] PROJECT[PNUMBER] p DEPENDENT[ESSN] EMPLOYEE[SSN]

119 Representação Relacional de Esquemas ER Estratégias de representação Mapeamento 1-1: cada tipo de entidade ou de relacionamento é representado por um esquema de relação separado Mapeamento otimizado: tipos de relacionamento funcionais (1:1 e N:1) e subtipos de entidade são colapsados e representados através de atributos em outro esquema de relação

120 Modelo Relacional Notação Esquema de relação R (A 1,A 2,,A n ), onde A 1 é a chave primária de R Restrição de integridade referencial R 1 [X] R 2 [Y], onde X é um conjunto de atributos de R 1 que referencia a chave Y de R 2 Restrições estruturais <expr1> op <expr2>, onde <expr1> e <expr2> são expressões da álgebra relacional e op é um dos operadores,, ou

121 Exemplo de um Diagrama ER NEmp NomeEmp Salário NDept NomeDept Ramal Trabalha-para N 1 Empregado Departamento Gerencia Possui M Controla N Dependente Participa-de N N Projeto NomeDep DataNasc HsTrab NProj NomeProj Local

122 Representação de Tipos de Entidade (sem atributos multivalorados) NEmp Empregado NomeEmp Salário Empregado (NEmp(nn),NomeEmp,Salário)

123 Representação de Tipos de Entidade (com atributos multivalorados) NDept Departamento NomeDept Ramal Departamento (NDept(nn),NomeDept) Ramal-Departamento (NDept(nn), Ramal(nn)) p Ramal-Departamento [NDept] Departamento [NDept]

124 Representação de Tipos de Entidade Fraca Empregado 1 N Possui Dependente NEmp NomeDep DataNasc Empregado (NEmp(nn),...) Dependente (NEmp(nn),NomeDep(nn), DataNasc) p Dependente [NEmp] Empregado [NEmp]

125 Representação de Tipos de Relacionamento N:1 (mapeamento 1-1) Empregado N Trabalha-para 1 Departamento NEmp NDept Empregado (NEmp(nn),...) Departamento (NDept(nn),...) Trabalha-para (NEmp(nn),NDept(nn)) p Trabalha-para [NEmp] Empregado [NEmp] Trabalha-para [NDept] b Departamento [NDept] NEmp(Empregado) = NEmp (Trabalha-para)

126 Representação de Tipos de Relacionamento N:1 (mapeamento otimizado) Empregado N Trabalha-para 1 Departamento NEmp NDept Empregado (NEmp(nn),...,NDept(nn)) Departamento (NDept(nn),...) b Empregado [NDept] Departamento [NDept]

127 Representação de Tipos de Relacionamento 1:1 (mapeamento otimizado) Empregado 1 Gerencia 1 Departamento NEmp NDept Empregado (NEmp(nn),...) Departamento (NDept(nn),...,NEmp(nn)) b Departamento [NEmp] Empregado [NEmp] Chave alternativa

128 Representação de Tipos de Relacionamento M:N Empregado M Participa-de N Projeto NEmp HsTrab NProj Empregado (NEmp(nn),...) Projeto (NProj(nn),...) Participa-de (NEmp(nn),NProj(nn), HsTrab) Participa-de [NEmp] Empregado [NEmp] p Participa-de [NProj] Projeto [NProj] p

129 Implementação usando SQL SQL Composta de três sublinguagens: LDD, LMD e LCD Objeto de padronização pelo ANSI/ISO Comando básico de definição de dados: create table <table name> (<column definitions> <primary key definition> <alternate key definitions> <foreign key definitions>)

130 Definição de um Esquema de Relação em SQL create table Empregado (NEmp NomeEmp Salario NDept char(3) not null, char(30) not null, decimal(6,2), char(2) not null, primary key (NEmp), foreign key (NDept) references Departamento)

131 Restrições de Integridade em SQL Restrições de unicidade (unique constraints) que indicam a chave primária e as chaves alternativas de uma tabela Restrições de integridade referencial (referential constraints) que especificam as chaves estrangeiras de uma tabela Restrições de verificação (check constraints) que especificam condições que devem ser satisfeitas por coluna/linhas de uma tabela ou entre tabelas

132 Restrições de Unicidade Chave primária primary key (<attribute list>) Chaves alternativas unique (<attribute list>) create table Departamento (... primary key (NDept), unique (NomeDept),...)

133 Restrições de Integridade Referencial foreign key (<attribute list>) references <table name> [(<attribute list>)] [on delete cascade set null set default] [on update cascade set null set default] create table Participa-de (... foreign key NEmp references Empregado on delete cascade)

134 Referências Batini, C.; Ceri, S.; Navathe, S.B. Conceptual Database Design: An Entity- Relationship Approach. Benjamin/Cummings, Redwood City, CA, Elmasri, R.; Navathe, S.B. Fundamentals of Database Systems, 3rd ed., Addison-Wesley, MA, Laender, A.H.F.; Casanova, M.A.; Carvalho, A.P.; Ridolfi, L.F. An Analysis of SQL Integrity Constraints from an Entity-Relationship Model Perspective. Information Systems 4, 3(1994), Silva, A.S.; Laender, A.H.F.; Casanova, M.A. An Approach to Maintaining Optimizing Relational Representations of Entity-Relationship Schemas. In Thalheim, B. (ed.). Conceptual Modeling -ER 96. Springer-Verlag, Berlin, 1996, pp Silva, A.S.; Laender, A.H.F.; Casanova, M.A. On the Relational Representation of Specialization Structures. Information Systems 25, 6(2000),

L Q S m e g a u g n Li A

L Q S m e g a u g n Li A A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges BANCO DE DADOS II SQL Básico COTEMIG Gerson Borges gerson@cotemig.com.br Definição de Banco de Dados [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Representando algum

Leia mais

Modelo de Dados Relacional

Modelo de Dados Relacional Modelo de Dados Relacional Introdução O modelo relacional representa um banco de dados como um conjunto de relações Informalmente, uma relação é uma tabela de valores, onde cada linha representa uma coleção

Leia mais

A Linguagem SQL. Introdução a Banco de Dados DCC 011

A Linguagem SQL. Introdução a Banco de Dados DCC 011 A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 5- Modelo Relacional Prof. Daniela Barreiro Claro Agenda Histórico Modelo em Redes e Hierárquico Modelo Relacional Restrições de Integridade Chaves FORMAS - UFBA 2 de X Histórico

Leia mais

DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados

DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados DCC011 Introdução a Banco de Dados SQL gerenciar tabelas e dados Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Programa Introdução Conceitos

Leia mais

Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento Processo de Projeto de Bancos de Dados Mini-Mundo Análise de Requisitos Requisitos Funcionais Requisitos do BD Análise Funcional Projeto Conceitual Especificação das Transações

Leia mais

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM Página

Leia mais

DCC011 Revisão: Modelagem de Dados

DCC011 Revisão: Modelagem de Dados DCC011 Introdução a Banco de Dados -22 Revisão: Modelagem de Dados Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br 2008/2 Revisão: Propriedades

Leia mais

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos Projeto de Bancos de Dados Mini Mundo DCC011 Revisão e Exercícios Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Independente de SGBD Específico

Leia mais

A Linguagem SQL. Introdução a Banco de Dados DCC 011

A Linguagem SQL. Introdução a Banco de Dados DCC 011 A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

SQL DCC011. SQL gerenciar tabelas e dados. Programa. Introdução. Introdução

SQL DCC011. SQL gerenciar tabelas e dados. Programa. Introdução. Introdução Programa DCC011 Introdução a Banco de Dados SQL gerenciar taelas e dados Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.r Introdução Conceitos

Leia mais

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento Programa DCC011 Introdução a Banco de Dados Modelo Relacional Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos,

Leia mais

Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática Oscar Luiz Monteiro de Farias 1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática Oscar Luiz Monteiro de Farias 2 Structured Query Language (SQL)... Linguagem de Banco

Leia mais

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br UFU/FACOM

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br  UFU/FACOM GES013 Sistema de Banco de Dados Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM UFU/FACOM Página 2 Modelo Relacional R : Definição Def. O MODELO

Leia mais

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM

Leia mais

DCC011 Introdução a Banco de Dados

DCC011 Introdução a Banco de Dados DCC011 Introdução a Banco de Dados SQL select avançado Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Revisão: consultas básicas Formato

Leia mais

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

Leia mais

GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC

GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem SQL Comandos

Leia mais

Revisão Banco de Dados

Revisão Banco de Dados Revisão Banco de Dados Carlos Henrique - Aula 2 Descoberta de Conhecimento e Mineração de Dados Tópicos Abordados Conceitos Básicos Características Arquitetura Lógica Usuários Finais Modelo E/R Linguagens

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

DCC011 Introdução a Banco de Dados

DCC011 Introdução a Banco de Dados Programa DCC011 Introdução a Banco de Dados SQL select Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos, características

Leia mais

DCC011 Introdução a Banco de Dados

DCC011 Introdução a Banco de Dados Programa DCC011 Introdução a Banco de Dados SQL select Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitosbásicos, característicasda

Leia mais

SQL-99: Esquema de BD EMPRESA

SQL-99: Esquema de BD EMPRESA SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado

Leia mais

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

Banco de Dados Modelo Relacional, Algebra Relacional, SQL Banco de Dados Modelo Relacional, Algebra Relacional, SQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André

Leia mais

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos Prof. Daniela Barreiro Claro Agenda Modelo de Dados MER 2 de X; X=37 Modelo de Dados O Modelo de Dados é a principal ferramenta que fornece

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

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução 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

Leia mais

SQL Básica. Andre Noel

SQL Básica. Andre Noel SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou

Leia mais

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC SQL/DML Parte 2 Consultas Aninhadas

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 Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino

Leia mais

Processamento e Otimização de Consultas

Processamento e Otimização de Consultas Processamento e Otimização de Consultas Processo de Execução de uma Consulta 1 Otimização de Consultas SQL Em algumas linguagens de consulta, a estratégia de execução é definida pela maneira como o usuário

Leia mais

GES013 - Sistema de Banco de Dados SQL DDL e Implementação no PostgreSQL

GES013 - Sistema de Banco de Dados SQL DDL e Implementação no PostgreSQL GES013 - Sistema de Banco de Dados SQL DDL e Implementação no PostgreSQL Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC SQL Def. A SQL(Structured Query Language)

Leia mais

MODELO DE BANCO DE DADOS RELACIONAL

MODELO DE BANCO DE DADOS RELACIONAL UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO BANCO DE DADOS I MODELO DE BANCO DE DADOS RELACIONAL Profº Erinaldo Sanches Nascimento Objetivos Descrever os princípios básicos

Leia mais

A linguagem SQL

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

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

GBC043 Sistemas de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM GBC043 Sistemas de Banco de Dados Modelo Relacional (R) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM UFU/FACOM Página 2 Modelo Relacional R : Definição Def. O MODELO

Leia mais

Modelo Relacional Prof. Msc Denival A. dos Santos

Modelo Relacional Prof. Msc Denival A. dos Santos Modelo Relacional Prof. Msc Denival A. dos Santos Introdução Criado por Edgar F. Codd em 70 (primeiros sistemas relacionais: 1977 78: System R e Ingres); O modelo relacional é um modelo lógico fundamentado

Leia mais

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011 Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE

Leia mais

Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte

Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte Banco de Dados Diego Silveira Costa Nascimento Instituto Federal do Rio Grande do Norte diego.nascimento@ifrn.edu.br 20 de março de 2015 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento

Leia mais

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU Aula 6 BD1 Modelo Relacional Profa. Elaine Faria UFU - 2017 Introdução Modelo Relacional Proposto por Codd em 1970 Revolucionou a área de banco de dados É o modelo dominante base para os SGBDs líderes

Leia mais

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia mais

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Matéria Introdutória Banco de Dados Motivação Necessidade de armazenar grandes quantidades de dados Necessidade de acessar as informações de maneira eficiente e segura Evolução histórica: desenvolvimento

Leia mais

Modelo de Dados Relacional

Modelo de Dados Relacional Modelo de Dados Relacional Sumário Conceitos Básicos Domínios, atributos, tuplas e relações Características das relações Notação Restrições de Integridade Domínio, chave, integridade entidade e integridade

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

Bancos (Bases) de Dados Aula #4 Modelo Relacional

Bancos (Bases) de Dados Aula #4 Modelo Relacional Bancos (Bases) de Dados Aula #4 Modelo Relacional Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza Modelo Relacional Representa

Leia mais

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática UERJ Oscar Luiz Monteiro de Farias 1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática UERJ Oscar Luiz Monteiro de Farias 2 Modelagem de Dados O Modelo Entidade-Relacionamento

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

Projeto Lógico de Bancos de Dados Relacionais

Projeto Lógico de Bancos de Dados Relacionais Projeto Lógico de Bancos de Dados Relacionais Sumário Processo de Projeto de BDs Fases do Processo de Projeto de BDs Deendências entre as Fases de Projeto de BDs e o SGBD Adotado Abordagem ER ara Projeto

Leia mais

Álgebra Relacional. Programa. Modelos de Dados. LCs relacionais formais. Introdução

Álgebra Relacional. Programa. Modelos de Dados. LCs relacionais formais. Introdução Programa DCC011 Introdução a Banco de Dados Álgebra Relacional Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos,

Leia mais

Bases de Dados. DDL Data Definition Language

Bases de Dados. DDL Data Definition Language Bases de Dados DDL Data Definition Language SQL SQL = Structured Query Language Foi originalmente criada pela IBM nos anos 70 como parte de um protótipo de sistema relacional Posteriormente foi implementada

Leia mais

Parte II Modelo de Dados Relacional. Evandro E. S. Ruiz

Parte II Modelo de Dados Relacional. Evandro E. S. Ruiz Parte II Modelo de Dados Relacional Evandro E. S. Ruiz evandro@usp.br 1 Intro Modelo relacional introduzido por Ted Codd (IBM) em 1970 Modelo simples matematicamente. Usa conceitos de relações matemáticas

Leia mais

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação SQL Básica DDL Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 21 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 21 de outubro de 2015 1 / 28 1 Introdução 2 SQL DDL CREATE Criar Banco

Leia mais

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010 Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)

Leia mais

Introdução ao Banco de Dados. Banco de Dados

Introdução ao Banco de Dados. Banco de Dados Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:

Leia mais

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando

Leia mais

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker Modelo Relacional Codd, E.F A relational model of data for large shared data banks. Communications of the ACM, 13(6):377-87, June

Leia mais

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78) 1 1970 - modelo introduzido por E. F. Codd Meados da década de 70: protótipos INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78) 1979: primeiro produto SQL (Oracle) Meados da década

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

Leia mais

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior; Modelagem Conceitual 2012.1 2 Independência de Dados: capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema do nível superior Independência de dados física: modifica

Leia mais

Introdução a Bancos de Dados

Introdução a Bancos de Dados Introdução a Bancos de Dados - Conceitos - Modelos lógicos e relacional - Álgebra relacional - SQL - Projeto Lógico INPE - Divisão de Processamento de Imagens INPE 1 Sistemas de Banco de Dados Definição:

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

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

UFLA - Universidade Federal de Lavras Professora Olinda Paes Banco de Dados COM 111

UFLA - Universidade Federal de Lavras Professora Olinda Paes Banco de Dados COM 111 UFLA - Universidade Federal de Lavras Professora Olinda Paes Banco de Dados COM 111 Síntese do Conteúdo: 1. Conceitos básicos 1.1. Arquitetura de bancos de dados 2. Modelos de dados 3. Modelagem e projetos

Leia mais

Banco de Dados. Professora: Luciana Faria

Banco de Dados. Professora: Luciana Faria Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é

Leia mais

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD?

Conceitos SQL SQL 19/03/2017 O que é dado? O que é BD? O que é uma informação? O que é SGBD? O que é SQL? O que é BD? O que é SGBD? - ---@--- Conceitos O que é dado? O que é uma informação? O que é BD? O que é BD? O que é SGBD? O que é? O que é SGBD? Como se comunicar com o SGBD? 1 O que é? Onde Nasceu? Tipos de Bancos Relacionais

Leia mais

Projeto de BD Relacional

Projeto de BD Relacional Projeto de BD Relacional Vitor Valerio de Souza Campos Projeto de BD Relacional Objetivos Mostrar um conjunto de regras para transformar um Diagrama Entidade- Relacionamento em um Diagrama Relacional Projeto

Leia mais

Projeto de BD Relacional

Projeto de BD Relacional Projeto de BD Relacional Vitor Valerio de Souza Campos Objetivos Mostrar um conjunto de regras para transformar um Diagrama Entidade- Relacionamento em um Diagrama Relacional Sumário 1- Implementação inicial

Leia mais

Modelo de dados relacional e as restrições de um BD relacional

Modelo de dados relacional e as restrições de um BD relacional Modelo de dados relacional e as restrições de um BD relacional O modelo relacional foi introduzido por Ted Codd, da IBM em 1970 atraiu a atenção em virtude de sua simplicidade e base matemática o modelo

Leia mais

Projeto de BD Relacional

Projeto de BD Relacional Projeto de BD Relacional Vitor Valerio de Souza Campos Objetivos Mostrar um conjunto de regras para transformar um Diagrama Entidade- Relacionamento em um Diagrama Relacional Sumário 1- Implementação inicial

Leia mais

Banco de Dados. Linguagem SQL

Banco de Dados. Linguagem SQL Banco de Dados Linguagem SQL 1 A linguagem SQL: história Em junho de 1970, o matemático Edgar Frank Codd, publicou o artigo "A Relational Model of Data for Large Shared Data Banks" na revista "Communications

Leia mais

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade. Banco de Dados Aula 1.4 - Sistemas de Banco de Dados Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/25 Arquitetura dos SBDs 2/25 Objetivos dos SGBDs

Leia mais

MODELO RELACIONAL PARTE 2

MODELO RELACIONAL PARTE 2 Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI MODELO RELACIONAL PARTE 2 Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM ROTEIRO Introdução

Leia mais

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

Leia mais

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores http://tiola.net Modelo Relacional Introduzido por Codd em 1970 (IBM/ Califórnia) Modelo com uma sólida base formal teoria dos conjuntos

Leia mais

Banco de Dados. SGBDs. Professor: Charles Leite

Banco de Dados. SGBDs. Professor: Charles Leite Banco de Dados SGBDs Professor: Charles Leite Sistemas de BD Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD constitui os dados relacionados

Leia mais

Aula 06 Sistemas Embarcados LT38C

Aula 06 Sistemas Embarcados LT38C Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1 Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito.

Leia mais

SQL Linguagem de Definição de Dados

SQL Linguagem de Definição de Dados SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais

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

Modelo Entidade-Relacionamento. Aécio Costa

Modelo Entidade-Relacionamento. Aécio Costa Aécio Costa Modelo de dados conceitual de alto-nível, ou seja, seus conceitos foram projetados para serem compreensíveis a usuários, descartando detalhes de como os dados são armazenados. O MER descreve

Leia mais

Teste Exemplo Revisão da tentativa 1

Teste Exemplo Revisão da tentativa 1 Teste Exemplo Revisão da tentativa 1 Iniciado em: Quinta, 6 Dezembro 2007, 21:31 Completado em: Quinta, 6 Dezembro 2007, 21:48 Tempo gasto: 16 minutos 53 segundos Classificação: 8/20 (40% Nota: 8 sobre

Leia mais

MC536. Modelo Relacional

MC536. Modelo Relacional MC536 Modelo Relacional Sumário Noções básicas Relação visão informal Relação visão formal Termos informais x termos formais Exemplo Restrições de Integridade Restrição de Domínio Restrição de Chave Restrição

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados em outros momentos

Leia mais

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos Banco de dados BD Dados x Informações Banco de dados Objetivo: Armazenar dados Consultar dados (dentro de um determinado contexto) gerando informações úteis Reter os dados de forma que possam ser utilizados

Leia mais

Bancos (Bases) de Dados

Bancos (Bases) de Dados Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem

Leia mais

Banco de Dados. Aula 6 - Prof. Bruno Moreno 09/09/2011

Banco de Dados. Aula 6 - Prof. Bruno Moreno 09/09/2011 Banco de Dados Aula 6 - Prof. Bruno Moreno 09/09/2011 Banco de Dados I MODELO RELACIONAL 16:52 Modelos anteriores Modelo hierárquico e em rede Propostos na década de 60 Implementados durante décadas de

Leia mais

Modelagem de dados usando MER. Andre Noel

Modelagem de dados usando MER. Andre Noel Modelagem de dados usando MER Andre Noel Introdução Introdução Modelagem conceitual Introdução Modelagem conceitual Modelo Entidade-Relacionamento (MER) Modelo de dados conceitual popular de alto nível

Leia mais

MySql. Introdução a MySQL. Andréa Garcia Trindade

MySql. Introdução a MySQL. Andréa Garcia Trindade MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo

Leia mais