MODELO OBJECTO - RELACIONAL ORACLE 8
|
|
- Thomas Figueira Avelar
- 8 Há anos
- Visualizações:
Transcrição
1 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 de Coimbra Filipe Manuel Simões Caldeira, 1999
2 Índice Introdução... 3 Bases de Dados Orientadas a Objectos... 4 Orientação a Objectos... 4 O Objecto... 4 Hierarquias das Classes... 6 O Modelo Objecto - Relacional do Oracle Objectos em Oracle... 7 Definição de objectos... 7 Métodos... 9 Métodos de comparação... 9 Tabelas de Objectos (Object Tables) Referências Tipos de Referências Dados do Tipo Colecção Varray Nested Tables Varrays Vs Nested Tables Uma estrutura de dados no Modelo Objecto-relacional Estrutura de Dados no Modelo Relacional: Estrutura de dados no Modelo Objecto - Relacional: Conclusão Bibliografia Pág. 2
3 Introdução Pretende-se com este trabalho, mostrar de uma forma simples a utilização do object options pack do sistema Oracle 8 para implementar o modelo objectorelacional no desenho e estruturação de bases de dados. É abordada a forma de pensar e programar orientada a objectos, focando naturalmente as bases de dados. Apresentam-se também as principais novidades do Oracle no que se refere a objectos e seu modo de funcionamento e implementação. Foi introduzido um exemplo que pretende demonstrar a aplicação desta metodologia a um problema concreto. Este problema é abordado usando o modelo relacional e posteriormente é usado o modelo objecto-relacioanl, permitindo assim efectuar uma comparação entre os dois métodos. Pág. 3
4 Bases de Dados Orientadas a Objectos Uma base de dados orientada a objectos pode ser definida, de um modo geral, como sendo uma extensão de dois conceitos já bastante conhecidos e divulgados: As linguagens orientadas a objectos, por exemplo o C++ e um sistema de gestão de bases de dados. Um sistema OODBMS, conjuga as principais características destes dois sistemas, herdando da programação orientada a objectos, as noções de Objecto, Abstracção de Tipo de Dados, Métodos, Mensagens, Herança e Identidade de cada Objecto; das bases de dados relacionais, pode usar as características de Persistência, Transacções, Recuperação, Segurança. Pesquisa, Performance, etc. Orientação a Objectos O Objecto O principal componente do paradigma de orientação a objectos é o objecto. O Objecto pode ser do tipo primitivo, por exemplo os números inteiros (2,6,8,...), correspondendo a valores simples, ou do tipo complexo, normalmente definidos pelo programador, correspondendo a variáveis com uma maior ou menor complexidade interna, podendo conter vários dados (variáveis), bem como estruturas de programação no seu interior. Exemplo de um objecto: Um objecto que pretende representar a informação respeitante a um aluno: {Número, Nome, Curso, Morada, telefone,... } Cada objecto tem um determinado tipo (Type), denominado class. Sendo que cada objecto individual de um determinado tipo ou classe é denominado instância. Ao conjunto de funções e operadores que podem agir sobre uma determinada classe, chama-se Métodos. Todos os objectos estão encapsulados, isto é, a estrutura interna de um determinado objecto não é visível ao utilizador desse objecto, sabendo apenas que o objecto pode realizar determinadas funções (Métodos). Por exemplo, podem ser aplicados os seguintes métodos ao objecto alunos: Aprovar_Aluno, Matricular_Aluno Pág. 4
5 etc. O código que implementa os métodos está contido dentro do próprio objecto e pode utilizar a representação interna do objecto para efectuar a sua função. A principal vantagem do encapsulamento é permitir alterações na representação interna dos objectos, sem implicar que se tenha que alterar as aplicações que usem esses mesmos objectos. Obviamente que uma alteração na representação interna de um determinado objecto, implicará as alterações correspondentes no código que implementa os métodos existentes para esse objecto. O conceito de encapsulamento, permite ver o objecto como tendo duas componentes: Memória Privada e Interface Publico: A memória privada é constituída pelas variáveis ou atributos do objecto que representam o seu estado interno. Estas variáveis estão escondidas do utilizador, mas visível para o código que implementa os diversos métodos desse objecto. Este conceito aplica-se aos sistemas Orientados a Objectos Puros. Quer dizer que a maior parte dos sistemas orientados a objectos permitem que o programador veja alguns dos atributos do objecto partindo do seu exterior. O Interface Publico consiste na definição da interface entre o objecto e o programador, basicamente entrada e saída de dados de e para os métodos existentes no objecto. O código que implementa este interface (implementa os métodos) também não é visível ao programador. O interface Publico faz parte da definição da classe do objecto, estando presente apenas no objecto que define a classe e não em cada uma das instâncias dessa classe. Os métodos ou acções sobre objectos, são activados usando um sistema de mensagens, funcionando estas como chamadas a funções ou procedimentos em que o alvo é identificado. Por exemplo, suponha-se que se pretende escrever o aluno A na cadeira X, então poderia existir uma mensagem (com uma sintaxe hipotética) para o alunos X, fazendo com que ele passe a estar matriculado nem uma determinada cadeira : A Matricular (X) ou Matricular(A,X) Cada objecto definido tem uma identidade ou identificação única, a que podemos chamar Object ID ou identificador de objecto. O identificador do objecto poderá ser usado na base de dados como sendo um ponteiro para o objecto a que se refere. Nesta abordagem, não é necessário que cada objecto tenha uma chave candidata ou primária, pelo que podem existir dois objectos virtualmente iguais, sendo apenas distinguidos pelo seu identificador de objecto. Pág. 5
6 A utilização do identificador de objecto, permite criar no modelo objectorelacional, a noção de hierarquia, podendo então um determinado objecto ter um ou mais atributos que são referências a outros objectos. Hierarquias das Classes Nesta abordagem, existe o que podemos chamar hierarquia de classes, sendo esta hierarquia definida por: Por exemplo, podemos dizer que a classe de objectos Y é uma subclasse de X, se e só se todos os objectos de Y forem objectos de X. Do mesmo modo podemos dizer que X é uma superclasse de Y. Neste caso, os objectos da classe Y, vão herdar (Noção de herança) as variáveis e métodos que se aplicam á classe X. Como consequência deste facto, podemos utilizar um objecto do tipo Y sempre que é permitido o uso de um objecto do tipo X. A herança pode ser simples ou múltipla, isto é, uma determinada classe pode ser a subclasse de várias superclasses em simultâneo. A herança de variáveis é denominada herança estrutural; a herança de métodos é denominada herança comportamental. A possibilidade de aplicar os mesmos métodos a diferentes classes (desde que uma seja superclasse da outra) é chamada de polimorfismo. Pág. 6
7 O Modelo Objecto - Relacional do Oracle 8 Sendo um dos principais sistemas de gestão de bases de dados existente no mercado, o Oracle na sua versão 8 introduz uma nova abordagem de funcionamento com vista á implementação do seu novo modelo Objecto Relacional. Este modelo pretende ser um sistema de base de dados orientada a objecto, sendo contudo baseado no actual modelo relacional. Usando a opção object option do Oracle 8, este transforma-se num sistema Objecto - Relacional (ORDBMS), permitindo ao utilizador definir tipos de dados complexos Objectos definindo a sua estrutura, bem como definindo o seu modo de funcionamento Métodos. Estes novos tipos de dados (objectos) podem agora ser usados no tradicional modelo relacional, praticamente do mesmo modo como são utilizados os tipos de dados pré definidos do sistema Oracle (Números, Cadeias de Caracteres, datas, etc). Objectos em Oracle Um objecto em oracle é estruturado da mesma forma que os objectos nas linguagens de programação orientadas a objectos, permitindo que uma entidade real seja representada por objecto contendo todos os seus atributos. Deste modo podem-se referenciar três componentes presentes num objecto:?? Nome: Representa o tipo de dados no modelo da base de dados.?? Atributos: Todos os dados existentes dentro do objecto, representando a sua estrutura bem como o seu estado. Os atributos podem ser de tipo de dados standard do Oracle ou mesmo outros objectos.?? Métodos: Operações sobre o objecto, que podem ser escritos em PL/SQL sendo guardados na própria base de dados ou escritos noutra linguagem como por exemplo o C++ e guardados externamente. Definição de objectos Como exemplo pode ser usada um caso concreto de um objecto. Uma entidade real aluno, pode ser representada pela sua informação base: Pág. 7
8 - Número do Aluno - Nome - BI - Data de Nascimento Morada -... Um objecto deste tipo poderá ser definido como sendo: CREATE TYPE Morada AS OBJECT ( Rua VARCHAR(70), Cidade VARCHAR(40), Codigo_Postal VARCHAR(40), Pais VARCHAR(20), Telefone VARCHAR(10),... ); CREATE TYPE Aluno AS OBJECT ( Numero Nome, BI VARCHAR(10), Data_Nascimento DATE,..., Contacto MORADA,... ); Uma vez criados os objectos, estes podem ser usados de igual modo como os tipos de dados já existentes no Oracle, para a criação de uma base de dados relacional, por exemplo uma base de dados de alunos matriculados: CREATE TABLE Matriculas ( Identificação ALUNO, Ano_Lectivo Data_Matricula DATE ); Neste caso a tabela Matriculas é uma tabela de uma base de dados relacional, com a particularidade de conter numa das suas colunas um objecto, sendo esta coluna denominada Coluna Objecto. Pág. 8
9 Métodos Um tipo especial de método é o Método Construtor, que permite criar novas instâncias de um determinado tipo de objecto. O método construtor é uma função, devolvendo como resultado uma nova instância do objecto. Os seus parâmetros são o nome e tipo dos atributos do objecto a ser criado. O nome deste método corresponde por defeito ao nome do tipo do objecto a ser criado. Por exemplo para a criação de um novo aluno teríamos: Aluno ( 12345, Filipe Caldeira , 28/01/1971,..., Morada ( Quinta do Bosque Lt 127 5ºDP, Viseu, 3500 Viseu, Portugal, ,...); ) Métodos de comparação Sendo uma operação fundamental no funcionamento de uma base de dados, o Oracle já contém funções de comparação para os seus tipos de dados padrão, por exemplo é possível sem necessidade de nenhuma operação especial, comparar dois valores numéricos. Com a criação de objectos, surge a necessidade de comparar dois objectos distintos, sendo necessário neste caso construir um ou mais de métodos que permitam comparar estes objectos. Para resolver esta situação, o Oracle 8 põe á disposição do utilizador dois métodos: Métodos do tipo map e do tipo order. O método do tipo map, usa as funcionalidades já existentes para a comparação de tipos padrão, usando os atributos do objecto como factores da comparação. O método order, usa a lógica interna do objecto para efectuar a comparação entre dois objectos diferentes (do mesmo tipo), devolvendo um valor correspondente ao tipo de ordem, por exemplo 1 se o segundo objecto for maior que o primeiro. Na definição do objecto, apenas se pode definir um dos dois tipos de ordenação mencionados. Caso não seja especificado nenhum método de comparação, o motor de base de dados apenas pode concluir se dois objecto são iguais, nada podendo dizer sobre a sua ordem de relacionamento. Pág. 9
10 Tabelas de Objectos (Object Tables) Na aproximação objecto-relacional do oracle 8, os objecto são guardados no formato habitual das tabelas relacionais oracle. A uma tabela contendo objecto foi dados o nome de object table, permitindo aceder aos dados dos objectos de uma forma relacional, utilizando duas formas distintas: - Uma tabela apenas com uma coluna, em que cada registo é um objecto diferente. - Uma tabela com várias colunas, em que cada atributo do objecto ocupa uma coluna independente. Os objectos que aparecem numa linha da tabela, são chamados row objects, sendo aqueles que aparecem numa coluna chamados column objects. Referências Do mesmo modo que no modelo relacional, tem que ser dados algum tipo de tratamento ás relações muitos para um. No modelo relacional, são usadas chaves estrangeiras para manter a consistência da base de dados. No modelo objecto relacional o tipo de relação muitos para um é tratado usando Referências, isto é, o oracle atribui a cada objecto (objecto row), um identificador único e inalterável, chamado object identifier. Existe um tipo de dados pré-definido, chamado REF, que permite que um objecto seja referenciado por outros objecto ou por uma tabela. As referências podem ser usadas para visualizar ou modificar o objecto a que ela se refere ou para obter uma cópia desse mesmo objecto. As únicas alterações que podem ser feitas a uma referência são de a pôr a apontar para outro objecto do mesmo tipo ou para um valor nulo (Null). Object view: Como as Vistas (View) do tradicional modelo relacional, podemos agora criar um tipo diferente de vistas: As vistas objecto (Object view), que como as suas antecessoras não passam de tabelas virtuais, neste caso, tabelas objecto virtuais. O oracle 8 usa as referências de cada objecto para criar as vistas de objecto, permitindo aceder ás tabelas de uma forma mais personalizada. Por exemplo, pode-se usar uma vista objecto para aceder apenas a um determinado conjunto de atributos de um objecto. Pág. 10
11 Tipos de Referências Scoped REF s Elemento do tipo REF que contém apenas referências para objectos do tipo object table. Dangling REF s Referência que pode estar a apontar para um objecto que já não existe ou cujos privilégios foram alterados. Usando a função IS DANGLING o oracle permite saber se uma determinada referência está nestas condições. Dereferencing REF s Modo de aceder a objectos do Tipo REF. O Operador utilizado para esta operação é DEREF. Uma referência para um determinado objecto, pode ser obtida seleccionando esse objecto da tabela e aplicando o operador REF. Dados do Tipo Colecção O Oracle 8 dispõe de um tipo de dados que pode conter um número indefinido de objectos de um determinado tipo. Os tipos de dados colecção podem ser do tipo array ou do tipo tabela, correspondendo a tipos de dados Varray ou Nested Tables. Varray Um array é um conjunto ordenado de elementos do mesmo tipo, sendo que cada elemento desse array têm associado um número (index) correspondente á sua posição nesse mesmo array. O tamanho do array, ou seja o seu número de elementos pode ser variável, mas é exigido pelo oracle que seja definido o seu número máximo quando da criação do array. A seguinte declaração cria um tipo de dados novo, baseado no tipo Array: CREATE TYPE Lista AS VARRAY(8) OF NUMBER; Este novo tipo de dados chamado Lista, pode agora ser utilizado, como tipo de dados para uma qualquer coluna de uma tabela, um tipo de dados para um atributo de um objecto ou ainda como uma variável em PL/SQL. Pág. 11
12 Nested Tables Uma tabela do tipo nested table, é um conjunto de dados não ordenados, todos pertencentes ao mesmo tipo de dados. Estas tabelas são constituídas por apenas uma coluna, que poderá ser de um tipo de dados standard ou mesmo por um tipo de dados definido pelo utilizador um objecto. Sendo uma tabela de dados, pode ser visualizada de duas formas, mostrando apenas o objecto ou mostrando várias colunas cada uma com seu atributo do objecto presente na tabela. CREATE TYPE Lista AS TABLE OF NUMBER; Este tipo de dados pode ser utilizado nas mesmas situações que o VARRAY, isto é, como tipo de dados de uma coluna de tabela, como atributo de objectos ou como variável. Varrays Vs Nested Tables Existem algumas diferenças entre estes dois tipos de dados dos quais se podem destacar as seguintes: - Os Varrays são estruturas ordenadas e as nested tables não. - As nested tables podem conter um conjunto de elementos virtualmente infinito, podendo crescer ou diminuir consoante as necessidades. Contrariamente os Varrays são estruturas mais rígidas, isto é, temos que definir sempre o número máximo de elementos que estes podem conter. Em contrapartida os Varrays são mais eficientes em termos de ocupação de espaço, pelo que a sua utilização deverá ser aconselhada sempre que se possa definir um número de elementos máximo. - Os Varrays não podem ser pesquisados, ou seja, não podemos aplicar querys neste tipo de dados. No caso das nested tables, podemos aplicar querys sobre os seus elementos o que poderá ser útil em várias situações. De um modo geral, caso a ordenação e o número máximo de elementos não sejam condições muito importantes, devem-se usar nested tables sempre que pretendemos efectuar pesquisas nestes dados e deve-se usar Varrays quanto podemos tratar a colecção de dados como um todo com índices para cada um dos elementos. Pág. 12
13 Uma estrutura de dados no Modelo Objecto-relacional Usando um sistema de gestão de bases de dados, pretende-se gerir a inscrição de alunos nas várias cadeiras ao longo do curso, bem como guardar informação sobre todas as avaliações realizadas pelo alunos em cada uma dessas cadeiras. O problema em questão pode ser representado pelo seguinte esquema. Um aluno é identificado univocamente pelo seu número de alunos, sendo necessário guardar para cada aluno, vários dados como o seu nome, morada, telefone, etc. Não se pretende com este exemplo ser muito exaustivo nos dados necessários para a resolução do problema, mas apenas se pretende mostrar a estrutura das tabelas. Cada aluno poderá estar ou ter estado inscrito a uma ou mais cadeiras, sendo que para cada cadeira o aluno poderá realizar várias avaliações que deverão também ser guardadas. Aluno { Dados do Aluno } Cadeiras Cadeira {Lista de Avaliações} Cadeira {Lista de Avaliações} Cadeira {Lista de Avaliações}... Cadeira n {Lista de Avaliações} Época Frequência val. Época Exame Normal val. Época Exame Recurso val. Época Frequência val. Época Exame Normal val. Época Frequência val. Época Exame Recurso Val. Analisando os dados necessários para a resolução deste problema, chega-se a um conjunto de tabelas organizadas segundo o modelo relacional. Cada tabela poderá estar relacionada com outra(s), usando o conceito de chave estrangeira. Pág. 13
14 Estrutura de Dados no Modelo Relacional: A tabela alunos é uma das tabelas base de toda esta estrutura de dados, fornecendo a sua chave primária (Naluno) a outras tabelas para servir ai de chave estrangeira. Tabela de Alunos: CREATE TABLE Alunos ( NAluno Nome Ano_Ingresso Ano Rua1 Cpostal1 Cidade1 Telefone11 Telefone12 Rua2 Cpostal2 Cidade2 Telefone21 Telefone22 PRIMARY KEY (Numero) ); VARCHAR(100), VARCHAR(100), VARCHAR(50), VARCHAR(50), VARCHAR(12), VARCHAR(12), VARCHAR(100), VARCHAR(50), VARCHAR(50), VARCHAR(12), VARCHAR(12), É necessário que exista informação sobre quais as cadeiras existentes, isto é, quais as cadeiras a que o aluno pode estar inscrito. Para resolver esta situação é criada uma tabela que contém todas as cadeiras existentes. Tabela de Cadeiras Existentes: CREATE TABLE Cadeiras ( Cod_Cadeira Ano Nome Creditos PRIMARY KEY(Codigo) ); A relação Alunos<->Cadeiras é implementada usando uma tabela em que é ligado o Número de Aluno e o código da cadeira como chave primária. Estes valores são chaves estrangeiras das tabelas Alunos e cadeiras, fazendo com que apenas possa Pág. 14
15 existir uma linha desta tabela se o Aluno indicado existir assim como se existir a cadeira indicada. Cadeiras de cada Aluno; CREATE TABLE Aluno_Cadeira ( NAluno NUMBER REFERENCES Alunos, Cod_Cadeira NUMBER REFERENCES Cadeiras, DataInsc DATE, Aprovado PRIMARY KEY (Naluno,Cod_Cadeira) ); Para definir a relação Alunos<->Cadeira<->Avaliações, é usada uma nova tabela cuja chave primária é constituída pelo número do aluno, código da cadeira, ano_lectivo e época de avaliação. As chaves estrangeiras presentes nesta tabela referem-se a dados existentes na tabela anterior, isto é, apenas permite que seja introduzida uma avaliação a um aluno/cadeira que exista na tabela de cadeiras por aluno, ou seja, o aluno está inscrito a essa cadeira. Avaliação por cadeira: CREATE TABLE Cadeira_Avaliacao ( Naluno NUMBER REFERENCES Aluno_Cadeira, Cod_Cadeira NUMBER REFERENCES Aluno_Cadeira, Ano_Lectivo Epoca Desc_Aval VARCHAR(50), Data DATE, Nota PRIMARY KEY (Naluno, Cod_Cadeiram, Ano_Lectivo, Epoca) ); Esta estrutura poderá ser melhorada completando os dados necessários em cada tabela (informação pertinente a guardar). Por outro lado existe informação que está a ser duplicada, como por exemplo as épocas de avaliação e a sua descrição. Deveria existir uma tabela de dados onde fossem guardada essa informação, servindo depois como chave estrangeira para a tabela Cadeira_Avaliação. Não foram contempladas estas alterações pois não se pretende resolver completamente o problema mas sim mostrar a estrutura de dados a implementar e usar esta estrutura como ponto de comparação com o mesmo problema resolvido usando o método objecto-relacional e implementado no Oracle 8 usando nested tables, que é apresentado de seguida. Pág. 15
16 Estrutura de dados no Modelo Objecto - Relacional: Usando uma definição prévia dos tipos de dados a serem usados, permite que se possa definir objectos que usem este tipo de dados, mesmo antes de eles terem sido completamente definidos. Funciona basicamente como a declaração forward do C++. Definição Inicial de Todos os Tipos de dados a serem usados. CREATE TYPE Aluno ; CREATE TYPE Endereco ; CREATE TYPE Telefones ; CREATE TYPE Cadeira_Disponiveis ; CREATE TYPE Cadeiras ; CREATE TYPE Lista_Cadeiras ; CREATE TYPE Avaliacao ; CREATE TYPE Lista_Avaliacoes ; De modo a permitir que cada aluno possa ter definidos até cinco número de telefone diferentes por cada endereço fornecido, é definido o tipo de dados Telefones como um array de 5 elementos, sendo cada elemento um campo de texto de comprimento 12. Definiu-se este tipo de dados utilizando um array, porque o número máximo de telefones a guardar pode ser claramente definido, assim como não será necessário efectuar pesquisas nos dados introduzidos. CREATE TYPE Telefones AS VARRAY(5) OF VARCHAR(12) ; O objecto endereço, permite uma maior simplicidade na posterior definição do objecto Aluno pois este objecto irá conter toda a informação necessária a cada um dos endereços definidos, incluindo uma lista de números de telefone para cada um dos endereços. CREATE TYPE Endereco AS OBJECT ( Rua VARCHAR(100), Cpostal VARCHAR(50), Cidade VARCHAR(50), Tel REF TELEFONES ) ; Pág. 16
17 É criado um objecto Cadeiras_Disponiveis, contendo a informação necessária á identificação de cada cadeira que o aluno pode frequentar e propor-se a avaliação. Estes objectos serão guardados numa tabela a que podemos chamar uma tabela auxiliar, pois irá permitir por exemplo (na aplicação a desenvolver) escolher a cadeira em que cada aluno se pretende e pode matricular. CREATE TYPE Cadeiras_Disponiveis AS OBJECT ( Cod_Cadeira Ano Nome Creditos NUMBER ); Com os dois objectos seguintes, Cadeiras e Lista_cadeiras, pretende-se vir a implementar as relações entre alunos / cadeiras / Avaliações. O Objecto Lista_cadeiras é definido como sendo uma nested table, pelo que cada objecto deste tipo irá conter as cadeiras a que cada aluno se matriculou (relação Alunos- Cadeiras). Do mesmo modo cada Objecto desta lista irá conter no seu interior outra objecto (Lista_Avaliações), também implementado como uma nested table onde estão todas as avaliações a que o alunos se foi submetendo para esse objecto (cadeira). CREATE TYPE Cadeiras AS OBJECT ( Cadeira REF Cadeiras_Disponiveis, Data1Insc DATE, Aprovado Avaliacoes Lista_Avalicaoes ); CREATE TYPE Lista_Cadeiras AS TABLE OF Cadeiras ; O Objecto do tipo Avaliação, irá conter a informação de cada avaliação que o aluno realizou a uma determinada cadeira. Sendo a lista de avaliações a cada cadeira implementada como uma nested table. Pág. 17
18 CREATE TYPE Avaliacao AS OBEJCT ( Ano_Lectivo Epoca Desc_Aval VARCHAR(50), Data DATE, Nota NUMBER ) ; CREATE TYPE Lista_Avaliacoes AS TABLE OF Avalicao ; O Objecto do tipo aluno será neste caso o principal objecto de toda esta estrutura, contendo a informação de cada aluno, salientado que cada endereço é um objecot definido anteriormente. As cadeiras a que o aluno está matriculado também são definidas aqui como sendo um objecto do tipo Lista_cadeiras. Portanto podemos ver o conceito de objecto dentro de objecto. Neste caso dentro de cada elemento da Lista de cadeiras ainda podemos encontrar um novo objecto contendo a lista das avaliações a essa cadeira. Foi também introduzido um método que irá permitir comparar dois alunos, neste caso será implementado utilizando o número de alunos nessa comparação, permitindo então por exemplo ordenar os alunos por ordem numérica. CREATE TYPE Aluno AS OBJECT ( NAluno Nome VARCHAR(100), Ano_Ingresso End_Aulas ENDERECO, End Ferias ENDERECO, Cadeiras_Mat Lista_Cadeiras, ORDER MEMBER FUNCTION Ordena_Alunos (X IN Aluno) RETURN INTEGER, ); Nesta estrutura de dados poderiam ser implementado vários métodos, como por exemplo a pesquisa de cadeiras feitas pelo aluno, cadeiras por fazer, média das cadeiras já feitas, etc. Neste exemplo vou apenas apresentar o método que permite comparar dois alunos usando o seu número como termo de comparação. Pág. 18
19 Definição do método Ordena_Alunos: CREATE OR REPLACE TYPE BODY Aluno AS ORDER MEMBER FUNCTION Ordena_Alunos (X IN Alunos) RETURN INTEGER IS BEGIN RETURN NAluno X.Naluno END; END; Criação das Tabelas de Suporte: Uma vez definido o tipo de dados a usar, é necessário criar as tabelas que irão servir de suporte á informação. A tabela que irá conter as cadeiras (Objectos do tipo Cadeira) a que o aluno se poder inscrever é definida do seguinte modo: CREATE TABLE Tab_Cadeiras OF Cadeiras_Disponiveis ( Cod_Cadeira PRIMARY KEY) ; Do mesmo modo vamos definir a tabela que irá conter os alunos e as relações para cadeiras/avaliações. CREATE TABLE Tab_Alunos OF Alunos ( PRIMARY KEY (Naluno) ) NESTE TABLE Lista_Cadeiras STORE AS Tab_L_Cadeiras ; ALTER TABLE Tab_L_Cadeiras ADD ( SCOPE FOR (Cadeira) IS tab_cadeiras ) NESTED TABLE Lista_Avaliacoes STORE AS Tab_L_Aval ); A tabela de alunos (Tab_Alunos), irá conter tosos os objecto do tipo aluno, sendo que uma das suas colunas é um ponteiro para uma nested table (Tab_L_Cadeiras) que contém as cadeiras a que o aluno está matriculado. Foi feita uma alteração á tabela Tab_L_Cadeiras, de modo a que esta nested table também contenha uma coluna que aponte para outra nested table que contem os dados referentes á avaliação dessa cadeira. Pág. 19
20 Conclusão Podemos verificar que o uso do modelo Objecto - Relacional poderá na grande maioria dos casos facilitar o desenho da estrutura da base de dados, estando as relações entre objectos reais, encapsuladas no interior de cada objecto da base de dados. Neste caso, os dados ficam melhor estruturados que no modelo relacional, pois embora fisicamente as relações estejam feitas usando tabelas diferentes, o utilizador apenas poderá utilizar a tabela principal Alunos que contém toda a informação necessária. A sintaxe da criação de tipos de dados e de tabelas poderá conter algumas falhas, pois não me foi possível ter acesso a um sistema Oracle 8 com a opção de objectos. Esta abordagem da Oracle poderá ser considerada como um grande avanço na área das bases de dados, facilitando o seu desenho e principalmente, facilitando a posterior construção de aplicações, pois muito código poderá ser embebido no interior de cada objecto. Bibliografia?? Apontamentos das Aulas da Cadeira?? An Introduction to Database Systems 6ª Edição C. J. Date Addison-Wesley Publishing Company?? A First Course in Database Systems Jeffrey D. Velman, Jennifer Widom Prentice Hall?? Manuais On-Line do Oracle 8?? Pesquisa na Internet, Pág. 20
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 maisTipos 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 maisProgramaçã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 maisConceitos 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 maisARRAYS. 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 maisTarefa 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 maisTarefa 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 maisEXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS
Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor
Leia maisMúltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II
O seguinte exercício contempla um processo com três estágios. Baseia-se no Inquérito de Satisfação Fase II, sendo, por isso, essencial compreender primeiro o problema antes de começar o tutorial. 1 1.
Leia maisAULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisAPOSTILA 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 maisPolimorfismo. Prof. Leonardo Barreto Campos 1
Polimorfismo Prof. Leonardo Barreto Campos 1 Sumário Introdução; Polimorfismo; Polimorfismo Java; Métodos Abstratos Java Classes Abstratas Java Exercício - Java Polimorfismo C++ Classe Abstrata C++; Funções
Leia maisOrientaçã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 maisConsistem num conjunto de apontadores para instâncias especificas de cada relação.
Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de
Leia maisTarefa Orientada 13 Agrupamento e sumário de dados
Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os
Leia maisBASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011
BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que a IBM desenvolvia
Leia maisTarefa Orientada 10 Obter informação a partir de uma tabela
Tarefa Orientada 10 Obter informação a partir de uma tabela Objectivos: Consultar dados de uma tabela Utilizar operadores aritméticos, relacionais, lógicos, de concatenação de cadeias de caracteres, LIKE
Leia maisTrabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores
Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação
Leia maisSQL - Criação de Tabelas
SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas
Leia maisMicrosoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento
Microsoft Access 2010 Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento 1 Principais objetos do Access Tabelas Guardam a informação da BD (Base de Dados)
Leia maisBases de Dados. Lab 1: Introdução ao ambiente
Departamento de Engenharia Informática 2010/2011 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Leia maisMANUAL DO UTILIZADOR
MANUAL DO UTILIZADOR Versão 1.6 PÁGINA DE PESQUISA A página principal do PacWeb permite a realização de um número muito variado de pesquisas, simples, ou pelo contrário extremamente complexas, dependendo
Leia maisDisciplina: 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 maisProgramação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
Leia maisPersistê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 maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia mais1. 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 maisArquitecturas de Software Licenciatura em Engenharia Informática e de Computadores
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:
Leia maisComputadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)
Computadores e Sistemas de Informação Bases de Dados Relacionais (linguagem SQL) 2004/2005 Utilidade das Bases de Dados Recolha e processamento de dados que possuem um volume significativo, que são interrelacionados,
Leia maisNovo Formato de Logins Manual de Consulta
Gestão Integrada de Acessos Novo Formato de Logins Manual de Consulta Gestão Integrada de Acessos Histórico de Alterações Versão Descrição Autor Data 1.0 Versão inicial DSI/PPQ 2014-07-11 Controlo do documento
Leia maisTarefa Orientada 14 Subconsultas
Tarefa Orientada 14 Subconsultas Objectivos: Subconsultas não correlacionadas Operadores ALL, SOME e ANY Subconsultas correlacionadas Operador EXISTS Subconsultas incluídas na cláusula FROM de uma consulta
Leia maisEspecificação do 3º Trabalho
Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,
Leia maisProgramação III / Estruturas de Dados. Enunciado do Trabalho Prático
Programação III / Estruturas de Dados Enunciado do Trabalho Prático 1. Objectivo Pretende-se implementar uma base de dados que sirva para ajudar uma agência de viagens a planear as viagens a realizar pelos
Leia maisTECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite
Leia maisTipos 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 maisTarefa Orientada 19 Triggers
Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma
Leia maisNOME 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 maisGuia de utilização. Gestão de Mensagens. Março 2009
Guia de utilização Gestão de Mensagens Março 2009 Índice Índice... 2 Novo Serviço de Gestão de Mensagens... 3 Criar Mensagens... 4 Layout Criar Mensagens... 5 Processo Criar Mensagens... 7 Gestão das Mensagens...
Leia maisCAPÍ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 maisBanco 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 maisBanco 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 maisSAMUO APP: MANUAL DO ADMINISTRADOR
as novas tecnologias ao serviço do desenvolvimento de projectos w w w. i m a d i p. c o m CABO VERDE: REALIZAÇÃO DE UMA ACÇÃO- PILOTO PARA A MELHORIA DA GESTÃO NUM GABINETE TÉCNICO SELECCIONADO OFITEC
Leia maisAprend.e Sistema integrado de formação e aprendizagem
Aprend.e Sistema integrado de formação e aprendizagem Pedro Beça 1, Miguel Oliveira 1 e A. Manuel de Oliveira Duarte 2 1 Escola Aveiro Norte, Universidade de Aveiro 2 Escola Aveiro Norte, Departamento
Leia maisDEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA
DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA Sistemas Operativos 2003/2004 Trabalho Prático #2 -- Programação em C com ponteiros -- Objectivos Familiarização
Leia maisCriação de Páginas Web - MS Word 2000
Gestão Comercial e da Produção Informática I 2003/04 Ficha de Trabalho N.º 9 Criação de Páginas Web - MS Word 2000 1. Criação de uma página Web (HTML): Escreva o seu texto e introduza as imagens pretendidas
Leia maisBases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.
Departamento de Engenharia Informática 2008/2009 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo
Leia maisUniversidade 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 maisProgramação SQL. Manipulação de Dados. DML Data Manipulation Language
Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem
Leia maisMinistério das Finanças Instituto de Informática. Departamento de Sistemas de Informação
Ministério das Finanças Instituto de Informática Departamento de Sistemas de Informação Assiduidade para Calendários Específicos Junho 2010 Versão 6.0-2010 SUMÁRIO 1 OBJECTIVO 4 2 ECRÃ ELIMINADO 4 3 NOVOS
Leia maisTarefa Orientada 18 Procedimentos armazenados
Tarefa Orientada 18 Procedimentos armazenados Objectivos: Criar Procedimentos armazenados Chamar procedimentos armazenados Utilizar parâmetros de entrada e de saída Um procedimento armazenado representa
Leia maisPossui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.
3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades
Leia maisDiagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.
1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para
Leia maisMODELAGEM 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 maisManual do Gestor da Informação do Sistema
Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga
Leia maisSISTEMA DE INFORMAÇÃO DAS PARTICIPAÇÕES DO ESTADO
SISTEMA DE INFORMAÇÃO DAS PARTICIPAÇÕES DO ESTADO SIPART (versão Setembro/2004) Manual de Utilização ÍNDICE 1. INTRODUÇÃO...3 2. ACEDER À APLICAÇÃO...4 3. CRIAR NOVO UTILIZADOR...5 4. CARACTERIZAÇÃO GERAL
Leia maiswww.enviarsms.smsvianetportugal.com Descrição de Como Utilizar
www.enviarsms.smsvianetportugal.com Descrição de Como Utilizar Este interface de utilizador, do serviço www.smsvianetportugal.com, permite a ceder à mesma conta de cliente, que através do interface simplesms.smsvianetportugal.
Leia maisInstituto Politécnico de Beja Escola Superior de Tecnologia e Gestão. GesStock. Engenharia Informática. Base de Dados II
Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão GesStock Aplicação para Gestão de Stocks Engenharia Informática Base de Dados II Docente: Artur Lança Isabel Sofia Brito Nuno Gonçalo
Leia maisComunicação documentos de transporte AT via Webservice Singest Sistema Integrado de Gestão. 22-05-2013 Cambragest Serviços de Gestão e Software
Comunicação documentos de transporte AT via Webservice 22-05-2013 Cambragest Serviços de Gestão e Software I. Índice I. Índice... 1 II. Introdução... 2 III. Configuração de documentos de transporte...
Leia maisPROGRAMAÇÃ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 maisModelo Cascata ou Clássico
Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação
Leia maisA VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO
DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,
Leia maisAULA 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 maisMANUAL DE INSTRUÇÕES
DIRECÇÃO GERAL DOS RECURSOS HUMANOS DA EDUCAÇÃO DIRECÇÃO DE SERVIÇOS DE SISTEMAS DE INFORMAÇÃO MANUAL DE INSTRUÇÕES (APENAS PARA ESCOLAS) MANIFESTAÇÃO DE NECESSIDADES PARA COLOCAÇÕES CÍCLICAS ANO ESCOLAR
Leia maisGuia para a declaração de despesas no Programa SUDOE
Guia para a declaração de despesas no Programa SUDOE CAPÍTULO 1: INTRODUÇÃO... 2 CAPÍTULO 2: ACESSO AO MÓDULO DE GESTÃO DE DESPESAS PAGAS... 3 CAPÍTULO 3: GESTÃO DAS DESPESAS PAGAS... 4 3.1 Incorporação
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho
Leia maisAcronis Servidor de Licença. Manual do Utilizador
Acronis Servidor de Licença Manual do Utilizador ÍNDICE 1. INTRODUÇÃO... 3 1.1 Descrição geral... 3 1.2 Política de licenças... 3 2. SISTEMAS OPERATIVOS SUPORTADOS... 4 3. INSTALAR O SERVIDOR DE LICENÇA
Leia maisGuia de Estudo Folha de Cálculo Microsoft Excel
Tecnologias da Informação e Comunicação Guia de Estudo Folha de Cálculo Microsoft Excel Estrutura geral de uma folha de cálculo: colunas, linhas, células, endereços Uma folha de cálculo electrónica ( electronic
Leia maisChaves. 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 maisModelagemde 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 maisBANCO 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 maisSQL 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 maisPROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e de Computadores 1º ano 2º semestre Trabalho Final Reservas de viagens
Leia maisENGENHARIA 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 maisMICROSOFT POWERPOINT
MICROSOFT POWERPOINT CRIAÇÃO DE APRESENTAÇÕES. O QUE É O POWERPOINT? O Microsoft PowerPoint é uma aplicação que permite a criação de slides de ecrã, com cores, imagens, e objectos de outras aplicações,
Leia maisSíntese das discussões do fórum Livro-APF: Julho/2010
Síntese das discussões do fórum Livro-APF: Julho/2010 Assunto: Estimativa de Aumento de Produtividade Data: 01/07/2010 Link: http://br.groups.yahoo.com/group/livro-apf/message/2577 Dúvida: Existe alguma
Leia maisDEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS
DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS Planificação Anual da Disciplina de TIC Módulos 1,2,3-10.ºD CURSO PROFISSIONAL DE TÉCNICO DE APOIO À GESTÃO DESPORTIVA Ano Letivo 2015-2016 Manual adotado:
Leia maisEngenharia Informática
Escola Superior de Ciência e Tecnologia Engenharia Informática Análise de Sistemas Informáticos 3º ano Exame 12 de Julho de 2006 Docentes: José Correia e João Paulo Rodrigues Duração: 90 m; Tolerância:
Leia maisCurso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming
Curso de PHP FATEC - Jundiaí A programação orientada a objetos (object-oriented oriented programming OOP) é um conjunto de técnicas t para organizar o código c em torno de entidades ou objetos representados
Leia maisCapítulo Tabelas e Gráficos
Capítulo O menu de tabelas e gráficos torna possível criar tabelas numéricas de funções guardadas na memória. Poderá também utilizar funções múltiplas para criar tabelas. Como utiliza a mesma lista de
Leia maisEngenharia de Software Sistemas Distribuídos
Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software
Leia maisTarefa Orientada 12 Junção Externa, Auto-Junção e União
Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa
Leia maisAula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis
1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que
Leia maisUtilização do SOLVER do EXCEL
Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de
Leia maisTécnicas e Linguagens para Banco de Dados I
Técnicas e Linguagens para Banco de Dados I Prof. Eduardo Ribeiro www.eduardo.trisolution.com.br eduardo@ trisolution.com.br Introdução Banco de Dados Dados x Informações Dados = É um elemento que mantém
Leia maisTRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES
TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado
Leia maisDisciplina 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 maisGereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática
Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 GereComSaber Ana Duarte, André Guedes, Eduardo
Leia maisAná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Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?
Índice Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação? Como efectuar uma operação de confirmação de estimativas? Como aceder ao Serviço de Certificação
Leia maisTUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo
TUTORIAL DO ACCESS PASSO A PASSO I. Criar um Novo Banco de Dados Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo 3. Clicar em Banco de Dados em Branco 4. Escrever um nome na caixa de diálogo
Leia maisEXERÍCIOS DE MODELAGEM DE BANCO DE DADOS
EXERÍCIOS DE MODELAGEM DE BANCO DE DADOS Exercício 1 Construa o modelo Entidades-Relacionamentos a partir da seguinte descrição do sistema: Uma empresa de venda de automóveis retende implementar um sistema
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisManual do Ambiente Moodle para Professores
UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0
Leia mais04/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 maisGestão dos Níveis de Serviço
A Gestão dos Níveis de Serviço (SLM) Os sistemas e tecnologias de informação e comunicação têm nas empresas um papel cada vez mais importante evoluindo, hoje em dia, para níveis mais elevados de funcionamento
Leia maisWebSphere_Integration_Developer_D_Jan06 Script
WebSphere_Integration_Developer_D_Jan06 Script 1a Nesta demonstração, Will Dunlop, um programador de integração da JK, utiliza o IBM, [ IBM], ou WID para construir um novo serviço orientado para os processos
Leia maisDEIDepartamento. Programação III Engenharia Informática e Comunicações. Engenharia
Engenharia DEIDepartamento Informática Morro do Lena, Alto Vieiro Apart. 4163 2401 951 Leiria Tel.: +351 244 820 300 Fax.: +351 244 820 310 E-mail: estg@estg.iplei.pt http://www.estg.iplei.pt Programação
Leia maisEngenharia 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 mais24 O uso dos manuais de Matemática pelos alunos de 9.º ano
24 O uso dos manuais de Matemática pelos alunos de 9.º ano Mariana Tavares Colégio Camões, Rio Tinto João Pedro da Ponte Departamento de Educação e Centro de Investigação em Educação Faculdade de Ciências
Leia mais