BASE DE DATOS OBJETO RELACIONAL

Slides:



Advertisements
Presentaciones similares
SQL Sigla del nombre “Structured Query Language”.
Advertisements

integridad referencial
Rocio Contreras Aguila Primer Semestre Para poder ejecutar esto SQL Server nos permite definir datos y nos entrega herramientas para poder exigir.
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a PL/SQL Conceptos básicos.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Fernando Velasco
Teórico: Modelo Relacional
Por: Ronald Toscano Pretelt
¿QUÉ SON LAS BASES DE DATOS?
Tipo de Dato Abstracto Tipos de datos:
Lenguaje de consulta de Hibernate
01/12/07Seminario de Bases de Datos1 Características Objeto Relacionales en Oracle 10G* * Tomado del curso de Francisco Moreno.
PL/SQL Francisco Moreno Universidad Nacional.
Características Objeto Relacionales en Oracle
Características Objeto Relacionales en Oracle
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
Teoría de lenguajes y compiladores
UNITA - IBARRA BLOQUES PL-SQL SUBPROGRAMAS Paulina Guevara.
Características Objeto Relacionales en Oracle
Oracle, orientado a objetos
Implementación de Listas
PL/SQL Francisco Moreno Universidad Nacional.
Contenido de la sesión 1 Bases de Datos Relacionales Lenguaje SQL
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
Tema 6: Clases Antonio J. Sierra.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
SQL Lenguaje de consulta estructurado
PL/SQL Francisco Moreno Universidad Nacional. Introducción al PL/SQL ¿Por qué PL/SQL? A pesar de que SQL tiene mecanismos de control condicional (cláusula.
BASE DE DATOS I Clase # 1.
Subconsultas Avanzadas
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Componentes sintácticos
UNITA - IBARRA TRIGGERS
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Programación en C para electrónicos
Tema 2: Base de datos relacionales
Structured Query Language (Lenguaje Estructurado de Consultas)
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
Bases de Datos en Excel Microsoft Excel aporta al usuario la posibilidad de trabajar con tablas de información: nombres, direcciones, teléfonos, zonas,
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Lenguaje Estructurado de Consulta
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
SQL Sigla del nombre “Structured Query Language”.
PRESENTADO POR: GUSTAVO VASQUEZ JEISON MORENO JHON FREDY PENAGOS.
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
Tema 11 Bases de Datos y el Lenguaje SQL
C LASES Y O BJETOS Enoé Ramos Romero Gabriela Tomas Vicencio Saúl Alejandro Orea Ortega 04-Marzo-2012.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
Bases de Datos Modelo Relacional.
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
HINTS ¿Cómo afectar el plan de ejecución? Por defecto, el SGBD tomará en cuenta el camino de ejecución (Execution Path) determinado por el optimizador.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Bases de Datos SQL.
En el presente trabajo, se explica los diferentes elementos que nos ofrece Microsoft Access, para hacer mas fácil y rápido la realización de bases de.
Después de completar esta lección, debe ser capaz de:  Crear registro definidos por el usuario.  Crear un registro con el atributo %ROWTYPE.  Crear.
SQL: DDL.
¿Qué es una base de datos? Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde.
Creado por Edgar Codd, 1970: Artículo “A Relational Model of Data for Large Shared Data Banks”. EL MODELO RELACIONAL.
Curso de Excel Intermedio Dr. Pedro Salcedo Lagos Mail: Web: Ref:
DML Transact SQL Sesión VI Trabajando con subconsultas.
Implementación de funciones definidas por el usuario.
6 Copyright © 2004, Oracle. Todos los derechos reservados. Trabajar con Tipos de Dato Compuestos.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Transcripción de la presentación:

BASE DE DATOS OBJETO RELACIONAL INTRODUCCION CARACTERISTICAS Y VENTAJAS TIPOS DE DATOS DEFINIDOS POR EL USUARIO REFERENCIAS ENTRE OBJETOS

Introducción Modelo Modelo Relacional Orientado a Objetos Modelo

Características y Ventajas Creación de Nuevos tipos de datos. Manejo de Métodos para los tipos de datos. Creación de funciones miembro, usando tipos de datos definidos por el usuario permitiendo flexibilidad y seguridad. Permite almacenar datos complejos sin necesidad de forzar los tipos de datos tradicionales. Compatible con las Base de datos relacionales.(pasar de relacionales a objeto relacional). Estructura de datos son tablas, pero permite utilizar los mecanismos de orientado a objetos para definir y acceder a los datos. Una columna de tabla puede ser construida a partir de un tipo de dato definido (multivaluado) y tablas anidadas Existen relaciones de asociación y de agregación.

Tipos de datos definidos por el usuario Es una estructura y un comportamiento común para un conjunto de datos de las aplicaciones. Categorías: Tipos de objetos (Object type) Tipos para colecciones (collection type)

Tipos de objetos Representa una entidad del mundo real y se compone de: Nombre Atributos: pueden ser de tipo de dato básico o de un tipo de usuario. Métodos: en PL/SQL o C.

Tipos de objetos Sintaxis: CREATE TYPE nombre_objeto AS OBJECT ( Atributo tipos_dato, …, [MEMBER FUNCTION nombre_método RETURN tipo_dato])

Ejemplo Ejemplo: CREATE TYPE direccion_t AS OBJECT( numero VARCHAR(200), barrio VARCHAR(200)) CREATE TYPE cliente_t AS OBJECT( nit VARCHAR(20), Nombre VARCHAR(30), direccion direccion_t, Telefono VARCHAR(10) Fecha_nac DATE, MEMBER FUNCTION edad RETURN NUMBER); nit Nombre Numero Barrio Telefono Fecha_nac CLIENTE

Constructores Los tipos de objetos de ORACLE tienen asociado un método que construye nuevos objetos de ese tipo de acuerdo a la especificación del tipo.

Tablas de objetos Es una clase especial de tabla que almacena un objeto en cada fila y que facilita el acceso a los atriutos de esos objetos como si fueran columnas de la tabla. Sintaxis: CREATE TABLE nombre_tabla OF nombre_objeto ([nombre_atributo PRIMARY KEY, nombre_atributo2 tipo_dato],…);

Ejemplo: Clientes de este año y antiguos. CREATE TABLE clientes_año_tab OF cliente_t (clinum PRIMARY KEY); CREATE TABLE clientes_antiguos_tab ( año NUMBER, cliente cliente_t);

Referencia entre objetos REF: almacena una referencia a un objeto del tipo definido, e implementa una relación de asociación entre los dos tipos de objetos. Se utilizan para acceder a los objetos referenciados y para modificarlos. La columna REF restringe su dominio a los objetos que se almacenen en cierta tabla.

Ejemplo: CREATE TABLE clientes_tab OF cliente_t; CREATE TYPE ordenes_t AS OBJECT ( ordnum NUMBER, cliente REF clientes_t, fechpedido DATE, direcentrega direccion_t); CREATE TABLE ordenes_tab OF ordenes_t ( PRIMARY KEY (ordnum), SCOPE FOR (cliente) IS clientes_tab);

Tipos de datos colección Esta formado por un número indefinido de elementos, todos del mismo tipo. Se pueden almacenar como array o tabla anidada. Es diferente un valor nulo y una colección vacía.

Tipo VARRAY Es un conjunto ordenado de elementos del mismo tipo. Cada elemento tiene un índice. Pueden ser de longitud variable, aunque debe tener un tamaño máximo. Sintaxis: CREATE TYPE nombre AS VARRAY(tamaño) OF tipo_dato;

Se pueden utilizar para: Definir el tipo de dato de una columna de una tabla relacional. Definir el tipo de dato de un atributo de un tipo de objeto. Para definir una variable en PL/SQL. No producen reserva de espacio. Si es muy grande se almacena aparte de la tabla como un BLOB. La principal limitación es que no se puede poner condiciones sobre los elementos almacenados dentro. Solo se pueden acceder como un bloque, pero en PL/SQL si es posible a través de un bucle.

Ejemplo: CREATE TYPE lista_tel_t AS VARRAY(10) OF VARCHAR2(20) ; CREATE TYPE cliente_t AS OBJECT ( clinum NUMBER, clinomb VARCHAR2(200), direccion direccion_t, lista_tel lista_tel_t );

Tablas anidadas Es un conjunto de elementos del mismo tipo sin ningún orden predefinido. Solo pueden tener una columna, del tipo de dato de oracle o definido por el usuario.

Pasos para construirlas Definir el tipo de objeto para las filas de la tabla anidada. CREATE TYPE linea_t AS OBJECT ( linum NUMBER, item VARCHAR2(30), cantidad NUMBER, descuento NUMBER(6,2)); Definir el tipo colección tabla para después anidarla. CREATE TYPE lineas_pedido_t AS TABLE OF linea_t Se define el tipo objeto y su atributo el cual almacena una tabla anidada del tipo.

Ejemplo Creación del tipo que manejará el detalle de la factura CREATE TYPE det_factura AS OBJECT ( item_articulo ref articulo_t, cantidad int) / Creación del tipo que manejará el tipo que necesitamos sea anidado como tabla. CREATE TYPE lista_items AS TABLE OF det_factura; En este ejemplo se crea el TYPE de factura_t y luego la tabla de dicho tipo, pero también se puede crear la tabla Factura directamente. CREATE TYPE factura _t AS OBJECT( nro_fac int, fecha date, cliente ref cliente_t, articulos_fac lista_items)   CREATE TABLE Factura ( nro_fac PRIMARY KEY) NESTED TABLE articulos_fac STORE AS itemsfac;  Cliente_t Factura_t Det_factura 1 n Articulo_t

Inserción y acceso a los datos

ALIAS Los alias sirven para acceder al contenido de la tabla, pero hay que saber utilizarlos adecuadamente en las tablas que almacenan objetos. Deben ser únicos dentro del contexto. Ejemplo: CREATE TYPE persona AS OBJECT (nombre VARCHAR(20)); CREATE TABLE ptab1 OF persona; CREATE TABLE ptab2 (c1 persona); CREATE TABLE ptab3 (c1 REF persona);

INSERCIÓN DE REFERENCIAS La inserción de objetos con referencias implica la utilización del operador REF para poder insertar la referencia en el atributo adecuado. EJEMPLO: INSERT INTO ordenes_tab SELECT 3001, REF(C),'30-MAY-1999', NULL --se seleccionan los valores de los 4 atributos de la tabla FROM cliente_tab C WHERE C.clinum= 3;

INSERCIÓN EN TABLAS ANIDADAS Además del constructor del tipo de colección disponible por defecto, la inserción de elementos dentro de una tabla anidada puede hacerse siguiendo estas dos etapas: Crear el objeto con la tabla anidada y dejar vacío el campo que contiene las tuplas anidadas. Comenzar a insertar tuplas en la columna correspondiente de la tupla seleccionada por una subconsulta.Para ello, se tiene que utilizar la palabra clave THE con la siguiente sintaxis: INSERT INTO THE (subconsulta) (tuplas a insertar)

INSERCIÓN EN TABLAS ANIDADAS Esta técnica es especialmente útil si dentro de una tabla anidada se guardan referencias a otros objetos. El siguiente ejemplo ilustra la manera de realizar estas operaciones sobre la tabla de ordenes (ordenes_tab) definidas anteriormente. INSERT INTO ordenes_tab --inserta una orden SELECT 3001, REF(C), SYSDATE,'30-MAY-1999', lineas_pedido_t(), NULL FROM cliente_tab C WHERE C.clinum= 3 ; INSERT INTO THE ( --selecciona el atributo pedido de la orden SELECT P.pedido FROM ordenes_tab P WHERE P.ordnum = 3001 ) VALUES (linea_t(30, NULL, 18, 30)); --inserta una línea de pedido anidada

INSERCIÓN EN TABLAS ANIDADAS Para poner condiciones a las tuplas de una tabla anidada, se pueden utilizar cursores dentro de un SELECT o desde un programa PL/SQL. Veamos aquí un ejemplo de acceso con cursores. Utilizando el ejemplo de la sección 1.1.4.2, vamos a recuperar el número de las ordenes, sus fechas de pedido y las líneas de pedido que se refieran al item ‘CH4P3’. SELECT ord.ordnum, ord.fechpedido, CURSOR (SELECT * FROM TABLE(ord.pedido) lp WHERE lp.item= ‘CH4P3’) FROM ordenes_tab ord; La cláusula THE también sirve para seleccionar las tuplas de una tabla anidada. La sintaxis es como sigue: SELECT ... FROM THE (subconsulta) WHERE ... Por ejemplo, para seleccionar las primeras dos líneas de pedido de la orden 8778 se hace: SELECT lp FROM THE (SELECT ord.pedido FROM ordenes_tab ord WHERE ord.ordnum= 8778) lp WHERE lp.linum<3;