A IMPLEMENTAÇÃO OBJETO-RELACIONAL ORACLE

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

Download "A IMPLEMENTAÇÃO OBJETO-RELACIONAL ORACLE"

Transcrição

1 A IMPLEMENTAÇÃO OBJETO-RELACIONAL ORACLE A maior parte dos sistemas gerenciadores de bancos de dados (SGBDs) utilizados nos últimos anos, é baseada no modelo relacional. No entanto, SGBDs baseados em outros modelos têm surgido devido à demanda de novas aplicações. O modelo objeto-relacional é baseado na idéia de que o modelo relacional deve ser estendido para contemplar conceitos de orientação a objetos. Para isso são acrescentadas estruturas a linguagens de consulta relacionais, como SQL, para tratar os tipos de dados acrescentados. Tais extensões tentam preservar os fundamentos relacionais, em particular o acesso declaratório ao dado, enquanto que estende o poder da modelagem. Sua principal estrutura ainda é composta por tabelas sendo que com muito mais recursos do que as tabelas puramente relacionais. Entre esses recursos podemos destacar: definição de tipos pelo usuário, registros e vetores, métodos e funções, referências, herança e polimorfismo. Os SGBDOR s são uma inovação de seus antecessores SGBDR s, e, ao contrário da conversão para sistemas de banco de dados orientados a objetos, a migração objeto/relacional não necessariamente envolverá uma mudança completa. Mostraremos em seguida alguns conceitos que definem um modelo objetorelacional: Tabelas Aninhadas: A primeira forma normal (1FN) exige que todos os atributos tenham domínios atômicos, ou seja, os elementos de seu domínio devem ser unidades indivisíveis. Entretanto, nem todas as aplicações são compatíveis com esta forma normal. Em vez de enxergar o banco de dados como um conjunto de arquivos, os usuários de certas aplicações enxergam o banco de dados como um conjunto de objetos. Esses objetos podem exigir vários arquivos para sua representação. Pode-se notar que uma interface simples e fácil de usar exige uma correspondência um para um entre a noção intuitiva de um objeto para o usuário e a noção de um item de dado para o banco de dados. O modelo relacional aninhado é uma extensão do modelo relacional em que os domínios podem ser definidos como atômicos ou como tabelas. Então, o valor de uma linha sobre um atributo pode ser uma tabela, e tabelas podem ser armazenadas dentro de tabelas. Então, um objeto complexo pode ser representado por uma ou mais linhas de uma tabela aninhada. Tipos Complexos e Orientação a Objetos: As tabelas aninhadas são apenas um exemplo de extensões ao modelo relacional básico. Outros tipos de dados não atômicos, como registros aninhados, também têm se mostrado úteis. O modelo de dados orientado a objeto tem provocado uma necessidade por características como herança e referências a objetos. Sistemas com tipos complexos e orientação a objeto permitem que os conceitos do modelo entidade-relacionamento, como identidade de entidades, atributos multivalorados, generalizações e especializações, sejam representados diretamente sem uma tradução complexa para o modelo relacional. Herança: Da mesma forma que as linguagens de programação, o modelo objeto-relacional também suporta o conceito de herança de tipos de dados estruturados definidos pelo usuário, permitindo criar um subtipo de um ou mais tipos existentes. Assim, um subtipo herda especificações de atributos e métodos de todos os supertipos 1

2 associados. A herança pode ser no nível de tipos ou de tabelas. Será considerado inicialmente o primeiro tipo. Especificada por uma cláusula como under, a herança agrupa os tipos em uma hierarquia, permitindo modularidade e reuso na definição dos tipos. Temos que considerar ainda que uma hierarquia de tabelas não precisa estar associada a uma hierarquia de tipos. Uma tabela pode herdar atributos diretamente de outras tabelas, sem a necessidade de criação de tipos específicos. A herança torna a definição de esquema mais natural. Sem a herança de tabelas, precisaremos ligar, explicitamente, as tabelas correspondentes às subtabelas, com as tabelas correspondendo às supertabelas via chaves primárias, ou através de tipos referência, e então definir restrições entre elas para assegurar restrições referenciais e de cardinalidade. Tipos Referência: Assim como as linguagens orientadas a objeto, o modelo objeto-relacional também fornece a habilidade de se referir a objetos. O modelo objetorelacional permite que o domínio de um atributo seja uma referência para outro de um tipo especificado. Em geral, se uma tabela tem uma coluna do tipo referência, então cada valor da coluna pode referenciar qualquer objeto do tipo referenciado, ou seja, pode-se referenciar objetos em diferentes tabelas. Entretanto, existem recursos que restringem o escopo de referências para uma única tabela. Funções: Sistemas objeto-relacionais permitem que funções sejam definidas pelos usuários. Essas funções podem ser definidas em uma linguagem de programação como C/C++, Java ou em uma linguagem de manipulação de dados como a SQL. As funções definidas em linguagens de programação podem ser mais eficientes do que funções definidas usando SQL. Além de que as consultas que não podem ser executadas em SQL podem ser executadas por essas funções. Um exemplo de uso de tais funções seria executar uma complicada operação aritmética sobre o dado em uma linha. 1. MODELO OBJETO-RELACIONAL ORACLE Para utilizar os recursos de orientação a objetos a Oracle implementou diversos conceitos que definem um modelo objeto-relacional. Examinaremos os principais conceitos a seguir. Em outro artigo, poderemos esmiuçar outras características do Oracle Tipo Objeto O Oracle suporta o conceito de objetos aninhados, ou object types. Podemos criar tipos de dados adicionais e depois fazermos referência a esses tipos de dados dentro de outros objetos. Essa capacidade de estender o banco de dados com tipos adicionais é um recurso muito importante, pois ajuda a simplificar a complexidade do tratamento com tipos de dados complexos. O exemplo a seguir demonstra a criação de um tipo de dados definido pelo usuário: 2

3 create type t_endereco as object ( rua varchar2(40), cidade varchar2(30) uf char(2), cep number(8) ) Esse tipo pode ser usado de muitas maneiras diferentes e em muitos lugares diferentes. Ainda é possível usar tipos dentre de tipos, ou seja, um tipo pode ser um atributo de outro tipo. O exemplo a seguir mostra do tipo t_endereco sendo referenciado por t_funcionario: create type t_funcionario as object ( matricula number(5), nome varchar2(30), data_admissao date, endereco t_endereco) Observamos que na criação de tipos-objeto não é suportada a definição de atributos que sejam NOT NULL. Dessa forma, por padrão, uma instância de um objeto automaticamente é inicializada como NULL. Note que o objeto inteiro é NULL, não necessariamente os atributos dele serão Tabela de objetos Uma tabela de objetos (object table), é uma classe especial de tabela cujas linhas são objetos. São tabelas que possuem a estrutura definida por um tipo de dado estruturado. Desta forma, as linhas das tabelas tornam-se instâncias ou objetos do tipo que define a sua estrutura. A estes objetos, denominamos "objetos de linha". Considere o seguinte exemplo: Uma tabela que manipula objetos do tipo t_funcionario definido anteriormente pode ser definida por: create table funcionarios of t_funcionario; Como pode ser observada, a identificação de objetos no modelo objetorelacional depende do tipo de tabela a qual eles pertencem. No caso de uma tabela de objetos, na qual os objetos são derivados de um tipo estruturado, cada objeto possui um identificador do objeto (OID), e, no entanto, são identificados baseados na sua existência, conforme define o modelo orientado a objetos. Desta forma, uma tabela de objetos representa um conjunto de objetos. No entanto, no caso das tabelas relacionais 3

4 tradicionais, as linhas da tabela não possuem OID, e conseqüentemente, possuem existência baseada apenas nos valores de seus atributos, conforme o modelo relacional. Neste caso, as tabelas representam um multi-conjunto de linhas, ou sejam podem possuir mais de uma linha com os valores de todos os atributos idênticos. Podemos concluir que estes dois mecanismos de identificação de objetos coexistem em um esquema objeto-relacional Operador VALUE Esse operador retorna o conteúdo de um objeto armazenado em uma object table. É usado quando for preciso referenciar uma linha de uma object table como um objeto em vez de uma lista de colunas. Por exemplo, a declaração abaixo irá armazenar o objeto obtido pela consulta dentro da variável v_funcionario: declare v_funcionario t_funcionario; begin select value(f) into v_funcionario from funcionarios f where matricula = 1574; dbms_output.put_line (v_funcionario.nome); end; Tipos Referência Este é o ponteiro lógico utilizado pelo Oracle. No Oracle, o relacionamento entre duas entidades pode ser modelado nativamente via o conceito de uma referência. Expressamos tais relacionamentos utilizando o identificador do objeto (OID) associado a cada instância de um tipo de dado estruturado. Esse identificador é atribuído automaticamente a objetos para identificar unicamente um objeto, permitindo assim que o objeto correspondente seja referenciado a partir de outros objetos. Isto é feito através do tipo REF, que encapsula uma referência para um objeto especificado. Uma referência é especificada na definição do tipo objeto através da expressão REF e o nome do tipo objeto alvo. Exemplo: Seja o tipo de dado estruturado t_departamento, a tabela de objetos departamentos e a tabela funcionarios definidos respectivamente por: create type t_departamento as object ( num_depto number, nome varchar2(30), endereco t_endereco ); 4

5 create table departamentos of t_departamento; create table funcionarios ( matricula number, nome varchar2(30), depto ref t_departamento); Neste caso, a coluna depto definida na tabela funcionarios contém uma referência a um identificador único para objetos do tipo t_departamento. Como dissemos anteriormente, uma coluna do tipo REF pode referenciar objetos do tipo referenciado de qualquer tabela. Para restringir o escopo de referências para uma única tabela utilizamos a cláusula SCOPE, conforme mostra o exemplo: create table funcionarios ( matricula number, nome varchar2(30), depto ref t_departamento scope is departamentos); Uma coluna do tipo referência pode também referenciar objetos do mesmo tipo. Por exemplo, o tipo t_pessoa definido abaixo pode incluir uma referência a seu amigo, que também é do tipo t_pessoa, como segue: create type t_pessoa as object ( nome varchar2(30), endereco t_endereco, data_nasc date, amigo REF t_pessoa); Para demonstrar como os dados são inseridos nas tabelas de objetos que contêm atributos do tipo referência, segue abaixo dois exemplos: insert into departamentos values (1, ITP, t_endereco ( Av. Beira Mar, 1254, Aracaju, SE, ) 5

6 insert into funcionarios values (4036, Mara Rubia, (select ref(d) from departamentos d where d.nome= ITP )); Neste caso, o atributo depto conterá uma referência para o referido objeto departamento o qual o funcionário está lotado. E sendo assim, quando precisarmos recuperar um objeto a partir de uma referência podemos utilizar o operador DEREF. Por exemplo, a declaração a seguir armazena o objeto departamento dentro da variável v_depto: declare v_depto departamento; v_nome_depto varchar2(30); begin select deref(depto) into v_depto from funcionarios where nome='mara Rubia ; select v_depto.nome into v_nome_depto from dual; end; Observamos que não é permitido referenciar diretamente um atributo de uma coluna do tipo objeto. Por exemplo, a declaração abaixo é inválida: select nome, deref(depto).nome from funcionarios; Entretanto, uma das vantagens da utilização de referências no projeto de esquemas objeto-relacionais é a possibilidade de referenciar atributos através dos tipos referência. Como exemplo, suponhamos que queiramos obter o nome do departamento que um funcionário trabalha a partir do nome do mesmo. A declaração a seguir usa a referência armazenada no atributo depto que é um apontador para o respectivo objeto departamento. select f.depto.nome from funcionarios f where nome='mara Rubia ; Uma outra importante característica a ser destacada refere-se ao uso do tipo REF como restrição de integridade referencial. Embora exista a imposição que uma instância do REF (isto é, OID) seja válida quando armazenada em uma tabela, esta imposição não permanece válida. Isto é, um objeto referenciado por um tipo REF pode ser excluído da 6

7 tabela de objeto correspondente, e desta forma, a referência a este objeto torna-se inválida, não sendo verificada pelo SGBD. Tal verificação pode ser feita através de triggers que previnem a exclusão de objetos referenciados por REFs. Com a criação dessas triggers para garantir a integridade referencial, adicionamos um processamento adicional (overhead), em nosso esquema, principalmente se este fizer o uso constante de tipos REF em seus tipos de dados Tipos coleção Os tipos coleção (collection types) definem estruturas de dados que permitem manipular conjuntos de elementos do mesmo tipo. O Oracle implementa dois tipos de dados coleções: o tipo vetor (varray) e a tabela aninhada (nested table) Tipo Vetor (VARRAY) Esse tipo é um vetor, ou seja, uma lista ordenada de elementos do mesmo tipo. Cada elemento tem um índice, que é um número da posição do elemento no vetor. No Oracle é chamado de VARRAY, porque o vetor é de tamanho variável. Por isso quando este for criado sempre deverá ser especificado o seu tamanho máximo. É importante notar que o banco de dados não aloca realmente qualquer espaço; ele apenas define um novo tipo e o armazena no catálogo do sistema. O seguinte exemplo declara um tipo varray: create type lista_telefones as varray(5) of varchar2(10) Neste caso, é criada uma lista que suporta até cinco telefones. É possível ainda fazer referência a esse vetor em outra tabela, como o tipo de dados de uma coluna. Por exemplo: create table pessoa ( nome varchar2(25), telefone lista_telefones) Tabelas Aninhadas (Nested tables) Vimos que o modelo objeto-relacional permite criar tabelas aninhadas, que na prática são tabelas com colunas cujo tipo de dado de domínio é outra tabela. Isto é, as tabelas podem ser aninhadas dentro de outras tabelas como valores na coluna. Desta maneira, os relacionamentos muitos-para-muitos podem ser representados por tabelas aninhadas (nested tables). O tipo de dados nested table contém elementos desordenados, todos do mesmo tipo, e sem limite de elementos. Sua funcionalidade básica é semelhante a uma tabela de 7

8 índices: é composta por duas colunas chave e valor. Quando uma coluna de uma tabela é do tipo nested table, seus dados são armazenados no mesmo lugar desta tabela. Exemplo: Suponha que o material necessário para o aprendizado de uma disciplina seja um conjunto de livros. Sejam os tipos de dados estruturados t_livro e lista_livros para representar um livro e uma lista de livros: create type t_livro as object ( numero number(4), titulo varchar2(40) ) create type lista_livros as table of t_livro; A definição a seguir cria a tabela que irá armazenar todas as informações do material necessário à disciplina: create table material_disciplina ( departamento char(4), curso number(3), livros_requeridos lista_livros) nested table livros_requeridos store as livros_requeridos_tab; Neste caso, será criada uma tabela secundária (store table), que é a tabela que irá armazenar os dados da nested table. Cada linha de livros_requeridos conterá uma referência para a tabela secundária (store table) que foi chamada de livros_requeridos_tab. Observamos que no Oracle, uma tabela pode conter mais de uma tabela aninhada, e no Oracle 9i uma tabela aninhada também pode conter outra tabela aninhada. Vejamos a seguir como os dados são inseridos na tabela material_disciplina que contém uma tabela de objetos que irá armazenar uma lista de livros: insert into material_disciplina values ( ccft, 10, lista_livros ( t_livro (1, Oracle 9i ), t_livro (2, Oracle 8i ) ) ); 8

9 Mostramos ainda um exemplo de uma pesquisa nesta tabela: select l.titulo from material_disciplina m, table(m.lista_livros) l where m.departamento= CCFT and m.curso=10; Neste caso, é listada a lista de livros requeridos do curso número 10 do departamento CCFT. Observe que usamos a expressão TABLE para representar o conjunto de elementos armazenados na nested table livros_requeridos Métodos e funções Outro recurso importante é a capacidade de vincular código aos dados. Chamamos isso de segmentos de código. Isso se aproxima da capacidade de encapsulamento, uma das bases dos bancos de dados orientados a objetos. Considere o tipo de objeto t_funcionário definido abaixo: create type t_funcionario as object ( nome varchar2(30), data_nasc date), member function idade return integer), member procedure altera_nome(p_nome IN varchar2), map member function retornar_nome return varchar2, order member function comparar_func (p_func in t_funcionario ) return number); Neste caso os métodos e funções estão vinculados ao código do tipo de dados t_funcionario. Com isso temos código e dados sendo unidos fortemente. Isso é muito mais poderoso do que as triggers de banco de dados tradicionais. Essa habilidade de ter objetos dentro de objetos, código e dados vinculados traz um grande ganho de desempenho. A criação da função idade do tipo t_funcionario seria assim definida: create type body t_funcionario is member function idade return integer is begin -- código-fonte da função end; 9

10 end; member procedure altera_nome (p_nome IN varchar2) is begin nome := p_nome; end; Herança A partir do Oracle 9i um tipo pode ser estendido criando subtipos que reusam a especificação e implementação (atributos e métodos) do tipo que ele deriva. Num subtipo, a capacidade de aumentar a estrutura dos dados herdada de seu supertipo definindo outros atributos, é referenciada a ele como uma herança de dados. A capacidade de adicionar outros métodos além dos herdados de seu supertipo é referenciado como herança de método. O Oracle 9i provê suporte a herança de dados e de métodos. Através dos objetos é possível criar uma hierarquia de tipos. Isso significa que os subtipos automaticamente adquirem os atributos e métodos de seu tipo pai, e quando esses atributos e métodos são alterados em seu pai, os subtipos também são influenciados. Um subtipo pode ser derivado indiretamente através de outros subtipos, podendo ter vários subtipos irmãos. Mas um subtipo pode derivar apenas de um único supertipo, ou seja, não pode derivar de mais de um simultaneamente. Em outras palavras, o Oracle 9i não suporta herança múltipla. Um subtipo se torna um tipo especial de seu pai pelo fato de possuir novos atributos e métodos e também de poder redefinir os que foram herdados. Redefinir métodos dá ao subtipo um estilo próprio de executar esses métodos. A Supertipo de todos B Subtipo de A Supertipo de C D Subtipo de A C Subtipo de B Figura 1 Exemplo de uma hierarquia de tipos 10

11 Tipos e métodos FINAL e NOT FINAL A definição do tipo do objeto determina se um subtipo pode ser derivado. Por padrão os tipos de objeto são do tipo FINAL, por isso para permitir subtipos, deve ser adicionada a expressão NOT FINAL na declaração do tipo do objeto. Por exemplo: create type t_pessoa as object (codigo number, nome varchar2(30), endereço varchar2(100) ) not final; Essa expressão declara que o tipo t_pessoa pode ser derivado, permitindo que sejam criados subtipos a partir dele. Assim como os tipos de objetos, os métodos também podem ser declarados como FINAL ou NOT FINAL. Se um método for definido como FINAL, os subtipos não podem redefinir sua implementação. Mas, diferente dos tipos de objetos, os métodos são definidos por padrão como NOT FINAL, e por isso para que não seja permitida sua redefinição, deve ser declarada a expressão FINAL em sua declaração. O exemplo abaixo cria um tipo de objeto NOT FINAL contendo uma função FINAL: create type t as object (..., member procedure imprimir(), final member function alterar(x number)... ) not final; Criação de subtipos Podemos criar um subtipo usando a declaração CREATE TYPE e especificar o seu supertipo através do parâmetro UNDER. Por exemplo: create type t_estudante under t_pessoa ( cod_dep number, disciplina_principal varchar2(30) ) not final; 11

12 A declaração acima cria um tipo t_estudante que é subtipo de t_pessoa, herdando assim todos os atributos e métodos declarados em t_pessoa. Apenas são adicionados dois novos atributos. Os nomes dos novos atributos declarados no subtipo devem ser diferentes dos nomes e métodos declarados no seu supertipo. Como dito anteriormente, um tipo pode ter múltiplos subtipos, e esses também podem ter subtipos. A declaração abaixo cria outro subtipo t_empregado herdando de t_pessoa: create type t_empregado under t_pessoa (cod_emp number, setor varchar2(30)); Criação de tabelas Pode-se observar que não há estrutura de armazenamento associada com os tipos que pertencem à hierarquia acima descrita. Deve-se então, criar tabelas de objetos para manipular as instâncias dos tipos, formando assim uma hierarquia de tabelas, como ilustra o exemplo a seguir: create table pessoas of t_pessoa; create table estudantes of t_estudante under t_pessoa; create table empregados of t_empregado under t_empregado; 12

13 CONCLUSÕES O modelo relacional foi amplamente empregado nos últimos quinze anos e não é possível simplesmente ignorar todas as aplicações já construídas. Esses sistemas devem coexistir com as novas aplicações orientadas a objeto, entretanto, os Bancos de Dados Relacionais estão tornando-se ou adquirindo características de OO-relacional, um ser híbrido. Isto mostra que, mais cedo ou mais tarde, os Bancos de Dados que quiserem sobreviver deverão mudar sua estrutura até chegar, no futuro, em um Banco de Dados efetivamente OO no qual os problemas de desempenho serão minimizados ou resolvidos de maneira clara e a baixo preço. É claro que tudo isso depende de uma aceitação do mercado. O interesse dos grandes fabricantes de software é essencial neste processo. Em se tratando de tecnologia objeto-relacional o suporte recebido das ferramentas CASE ainda é deficiente. Como conseqüência, existem no mercado poucos softwares que auxiliam ao desenvolvedor na modelagem objeto-relacional para utilizar a tecnologia com profundidade. Uma base objeto-relacional traz vantagens em relação ao desempenho, pois a utilização de ponteiros e tabelas aninhadas tornam as consultas de um SGBDOR mais rápidas e compactas que as consultas feitas através de junções no modelo relacional. Um dos grandes problemas do modelo Objeto Relacional é a falta de padrão. Isto implica problemas de transportabilidade, pois cada SGBDOR possui suas idiossincrasias. 13

14 BIBLIOGRAFIA ABBEY, Michael; ABRAMSON, Ian; COREY, Michael. Oracle 8i: guia introdutório. Rio de Janeiro: Campus, p. pp BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML, guia do usuário. Rio de Janeiro: Campus, p. COLAÇO, Methanias & SANTOS, Maria de Fátima Almeida; RIBEIRO, Mateus de Freitas. Evolução dos bancos de dados: Um enfoque para os sistemas pós-relacionais. Trabalho de Conclusão de Curso de Ciência da Computação. Aracaju: Universidade Federal de Sergipe, CHAUDHRI, Akmal B. e ZICARI, Roberto. Succeeding with Object Databases John Wiley & Sons, p. - pp Oracle 9i - Application Developer s Guide: Object-Relational Features. Oracle Corporation, SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de Dados. 3a. ed. São Paulo: Makron Books, URMAN, Scott. Oracle 8i: Advanced PL/SQL Programming. Oracle Press.. Oracle 8: PL/SQL Programming. Oracle Press. 14

15 Methanias Colaço Rodrigues Júnior ( é Especialista em Ciência da Computação e Tecnologia da Informação, Mestre em Informática pela UFCG, Professor da Universidade Tiradentes ( Líder de Projeto do Banco de Estado de Sergipe ( consultor da Oráculo Consultoria. Presta consultoria e dá treinamentos em Bancos de Dados, Engenharia de Software, Data Warehouse e Sistemas de Cartão de Crédito. 15

Banco de Dados Objeto Relacional

Banco de Dados Objeto Relacional Banco de Dados Objeto Relacional características Banco de Dados Objeto- Relacional (BDOR) Banco de dados relacional com extensões para manipulação de objetos e outras fatores de banco de dados orientado

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados Arquitetura e Terminologia Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Modelo de Dados e Esquemas O modelo de Banco de Dados é como um detalhamento

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

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

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

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

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. 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 INTRODUÇÃO Hoje é

Leia mais

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2 ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 Definição de uma tecnologia de implementação e do repositório de dados para a criação da ferramenta

Leia mais

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Oficina. Praça das Três Caixas d Água Porto Velho - RO Oficina Praça das Três Caixas d Água Porto Velho - RO Oficina Ministrante: Marcel Leite Rios Apresentação Pessoal Marcel Leite Rios Prof. de Informática IFRO Graduado: Sistemas de Informação - ULBRA MBA

Leia mais

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

Leia mais

Bancos de Dados não Convencionais

Bancos de Dados não Convencionais Bancos de Dados não Convencionais Profa. Valéria Gonçalves Soares DI/UFPB Conteúdo 1. Introdução Integração de BDs com outras áreas Visão dos sistemas Visão das aplicações Limitações dos BDs Relacionais

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

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS 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 SISTEMA GERENCIADOR

Leia mais

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada. Conceitos básicos Angélica Toffano Seidel Calazans E-mail: angelica_toffano@yahoo.com.br Conceitos introdutórios de Modelagem de dados Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Leia mais

MODELO OBJECTO - RELACIONAL ORACLE 8

MODELO OBJECTO - RELACIONAL ORACLE 8 MODELO OBJECTO - RELACIONAL ORACLE 8 Trabalho realizado no âmbito da cadeira Concepção e Administração de Bases de Dados Mestrado em Engenharia Informática Departamento de Engenharia Informática Universidade

Leia mais

Persistência de Dados

Persistência de Dados Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD

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

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

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

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 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc. Classes Abstratas Técnico em Informática, M.Sc. Classes Abstratas 2 Classes Abstratas Abstração Devemos considerar as qualidades e comportamentos independentes dos objetos a que pertencem, isolamos seus

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

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

Procedimentos armazenados

Procedimentos armazenados Procedimentos armazenados Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material da Profª Maria Lígia B. Perkusich Procedimentos armazenados (i) Definição Um procedimento armazenado (stored procedure)

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

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2

Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 MongoDB Diego Fraga - 083746 Gabriel Henrique - 083771 Lauro Henrique - 074259 O que é MongoDB? - MongoDB é uma ferramenta de

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento Banco de Dados I Fases do Projeto jt de BD Enunciado de requisitos entrevista com o usuário do banco de dados para entender e documentar seus requerimentos de dados. Projeto

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

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

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

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

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

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

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

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

Disciplina: Unidade III: Prof.: E-mail: Período:

Disciplina: Unidade III: Prof.: E-mail: Período: Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto

Leia mais

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES BANCO DE DADOS GERENCIAL 1 AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES Integridade de domínio A integridade de domínio é a validade de entradas para uma coluna específica. É possível aplicar a integridade

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 NA AULA PASSADA... 1. Apresentamos a proposta de ementa para a disciplina; 2. Discutimos quais as ferramentas computacionais

Leia mais

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

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente Banco de Dados I Prof. Bal. Emerson Meneses Inocente Continuação aula 1 Arquitetura de SGBD Relacional ocaracterísticas: Independência de dados e programas; Suporte a múltiplas visões de usuários; Uso

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

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

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

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS Na grande maioria dos sistemas, faz-se necessário utilizar informações que estão armazenadas em uma determinada

Leia mais

Introdução à Banco de Dados. Definição

Introdução à Banco de Dados. Definição Universidade Federal da Bahia Departamento de Ciência da Computação (DCC) Disciplina: Banco de Dados Profª. Daniela Barreiro Claro Introdução à Banco de Dados Definição Um banco de dados é uma coleção

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

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html

Leia mais

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve

Banco de Dados I. Projeto de Banco de Dados e o Modelo E-R. Fabricio Breve Banco de Dados I Projeto de Banco de Dados e o Modelo E-R Fabricio Breve O Modelo E-R Representação do mundo real por meio de Entidades e dos Relacionamentos entre as entidades Desenvolvido originalmente

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com

Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Introdução a Banco de Dados Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 12/06/2013 Sumário Motivação da Disciplina

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

BD Objeto-Relacional - Motivação

BD Objeto-Relacional - Motivação BD Objeto-Relacional - Motivação SGBDs Relacionais (SGBDRs) sistemas já consolidados no mercado boa performance muitos anos de pesquisa e aprimoramento eficiência: otimização de consultas, gerenciamento

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

PROGRAMANDO EM C# ORIENTADO A OBJETOS

PROGRAMANDO EM C# ORIENTADO A OBJETOS PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

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

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 9 Mapeamento em JPA Introdução O mapeamento objeto-relacional

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 BANCO DE DADOS Unidade 1 - Introdução Dados; Banco de Dados; Base de Dados; Projeto de Banco de Dados.

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Modelo para organização dos dados de um BD. define um conjunto de conceitos para

Leia mais

Banco de Dados Avançados Banco de Dados Ativo

Banco de Dados Avançados Banco de Dados Ativo Universidade Federal de Pernambuco Centro de Informática Banco de Dados Avançados Banco de Dados Ativo Equipe: Felipe Cavalcante Fernando Kakimoto Marcos Corrêa Sumário 1. Mini-Mundo... 3 1.1 Entidades...

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

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento O modelo Entidade-Relacionamento Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento 1 Antes de começarmos: A modelagem conceitual é uma fase muito importante no plamejamento de um

Leia mais

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL PROF. MS C. RICARDO ANTONELLO WWW.ANTONELLO.COM.B R PORQUE SER RELACIONAL? Hoje, há um claro predomínio dos SGBD relacionais, principalmente

Leia mais

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 15 Manipulação de dados Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE

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

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir: Chaves 1 Chaves CONCEITO DE CHAVE: determina o conceito de item de busca, ou seja, um dado que será empregado nas consultas à base de dados. É um conceito lógico da aplicação (chave primária e chave estrangeira).

Leia mais

ATENAS: Um Sistema Gerenciador de Regras de Negócio

ATENAS: Um Sistema Gerenciador de Regras de Negócio 1. Introdução ATENAS: Um Sistema Gerenciador de Regras de Negócio Geraldo Zimbrão da Silva (IM/UFRJ) Victor Teixeira de Almeida (COPPE/UFRJ) Jano Moreira de Souza (COPPE/UFRJ) Francisco Gonçalves Pereira

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais