Академический Документы
Профессиональный Документы
Культура Документы
Mtodos
Mtodos: constructor
Column object
Table object
10
11
Resultado:
12
Restricciones
13
14
15
16
Primary key
CREATE TABLE person_obj_table OF person_type (
idno
PRIMARY KEY
name
NOT NULL)
OBJECT IDENTIFIER IS PRIMARY KEY;
17
18
modificar ya existente
UPDATE person_obj_table p
SET VALUE(p) = person_typ(12, 'Bob Jones', '1-800-555-1243')
WHERE p.idno = 12;
19
20
21
01067C2EABBE040578
22
23
24
Super-tipo tipo tiene que incluir la clusula NOT FINAL (por defecto es
FINAL)
Los mtodos pueden ser tambin FINAL o NOT FINAL (por defecto)
independientemente de la correspondiente declaracin para la
estructura del tipo
Dra Elzbieta Malinowski G.
25
26
27
Se crea la tabla que contiene las instancias de super- y subtipos insertando valores por medio de la invocacin de
constructores correspondientes
CREATE TABLE person_obj_table OF person_typ;
INSERT INTO person_obj_table
VALUES (person_typ(12, 'Bob Jones', '111-555-1212'));
INSERT INTO person_obj_table
VALUES (student_typ(51, 'Joe Lane', '1-800-555-1312', 12, 'HISTORY'));
28
29
30
Colecciones
31
Varrays (1)
32
Varrays (2)
33
Varrays (3)
34
Varrays (4)
35
36
37
38
Ejemplo
CREATE TABLE department (
name
VARCHAR2(20),
director VARCHAR2(20),
office VARCHAR2(20),
courses CourseList)
Nested table
39
40
41
42
Para array
SELECT p.*
FROM dep_phone_list d, TABLE(d.phone_list) p;
Resultado
country_code
arrea_code
ph_number
------------------------------------------------------01
650
5061111
01
650
5062222
01
650
5062525
43
SELECT e.*
FROM department_persons d, TABLE(d.dept_emps) e;
Resultado
idno name
phone
---------- ------------------------------ --------------1
John Smith
1-800-555-1212
2
Diane Smith
1-800-555-1243
44
45
UPDATE emplyee_tab e
SET e. e_mails = e_mails_array_typ(modificado@gmail.com,otro@otro.org);
UPDATE department_persons d
SET dept_emps = people_typ(person_typ(5, Juan Morales', '1-650-111-2222'),
person_typ(5, Maria Castro', NULL) );
46
47
48
Ejemplo
Para varray de tipo varray, toda la estructura se guarda en la
tabla en lnea si no excede 4000 bytes
El varray de tipo nested table, toda la estructura se guarda
como LOB: no existe tabla separada
Consultar la documentacin de Oracle
Dra Elzbieta Malinowski G.
49
50
51
Constructores
INSERT INTO region_tab VALUES(1, 'Europe', nt_country_typ(
country_typ( 'IT', 'Italy',
nt_location_typ (
location_typ(1000, '1297 Via Cola di Rie','00989','Roma', ''),
location_typ(1100, '93091 Calle della Testa','10934','Venice','') )),
country_typ( 'CH', 'Switzerland',
nt_location_typ (
location_typ(2900, '20 Rue des Corps-Saints', '1730', 'Geneva',
'Geneve'),
location_typ(3000, 'Murtenstrasse 921', '3095', 'Bern', 'BE') )
)));
52
53
54
55
PL/SQL
OCI Oracle Call Interface
OCCI - Oracle C++ Call Interface
OO4O Oracle Object For OLE
Java: JDBC y SQLJ
56
57
58
59
Precompilador Pro*C/C+
60
61
Java
JDBC
Oracle SQLJ
Permitir a JDBC crear clases para los atributos y pasar los datos
Especificar en forma manual el mapeo entre los objetos de la BD y las
clases de Java
62
LA FELICIDAD HUMANA
GENERALMENTE NO SE LOGRA
CON GRANDES GOLPES DE SUERTE,
QUE PUEDEN OCURRIR POCAS VECES,
SINO CON PEQUEAS COSAS
QUE OCURREN TODOS LOS DAS
Benjamin Franklin
63