SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Oracle Database 11g
 Administrator I
  Cap. 9 Administrando Objetos de
  Esquemas
Universidad de El Salvador
calderonperza@gmail.com
http://BasesDeDatosUES.blogspot.com
Usuario y esquema
• USUARIO => ESQUEMA

• El usuario SYS es el dueño del diccionario de datos.
Objetos de esquema
tablas           COMPARTEN EL MISMO
                     NAMESPACE
• Vistas
                 NameSpace: define un
Secuencias       mismo grupo de objetos
                    SCHEMA.OBJETO
• Sinónimos

Procedimientos
• Funciones

Paquetes
Otros objetos
•   INDEX
•   CONSTRAINTS
•   CLUSTERS
•   TRIGGERS
•   DATABASE LINK

• Ellos cuando se crean se contruyen en namespace propio.

• Si bien es posible que un indice para una tabla se llame igual
  que la tabla, tal situacion no es una practica adecuada.
TIPOS DE DATOS
• Un tipo de dato es un atributo de una parte de los datos que
  indica algo sobre la clase de datos sobre los que se va a
  procesar.

• Esto incluye imponer restricciones en los datos, como qué
  valores pueden tomar y qué operaciones se pueden realizar.
Tipos de dato alfanuméricos
• VARCHAR2

• NVARCHAR2
  • Igual varchar2 pero permite caracteres unicode

• CHAR
Tipos de datos numéricos
• NUMBER

• FLOAT es la versión ANSI de number

• INTEGER, equivale a number con cero decimales.
Tipos de datos para fechas
• DATE
  • siglo, año, mes, día, hora, minutos y segundos.
• TIMESTAMP
  • Igual a date pero una precisión de 9 decimales en los segundos
• TIMESTAMP WITH TIMEZONE

• Interval Year to Month
• Interval Day to Second
Tipos de datos para objetos
grandes
• CLOB
  • Tamaño prácticamente ilimitado de caracteres
• NCLOB
• BLOB
  • Similar a Clob pero con datos binarios
• BFILE
  • Puntero a un archivo almacenado en el SO
• LONG
  • Obsoleto, sustituido por CLOB
CREANDO TABLAS
• Create table ex_emp as select * from employees
  where 1=2;
• Alter table ex_emp drop column email;
• Alter table ex_emp drop column phone_number;
• Alter table ex_emp add(fire_date date);
• Drop table ex_emp;
• Create table ex_emp (employee_id number(6),
  first_name varchar2(200));
CONSTRAINTS
• Sirven para aplicar reglas de negocio a los datos, garantizando
  la integridad del modelo relacional.

• TIPOS:
  •   UNIQUE
  •   NOT NULL
  •   PRIMARY KEY
  •   FOREING KEY
  •   CHECK
UNIQUE CONSTRAINTS
• Determina que un conjunto de columnas no puedan tener
  valores repetidos.
• Sin embargo un Unique permite que se pueda almacenar
  VALORES NULOS.
• Se asocia con llaves candidatas

• Ejemplo: el campo DNI o DUI, dentro de una tabla Alumno
  donde la llave primaria es el carnet, el DUI es una llave Unique
  debido a que no debe ser repetido pero estudiantes menores
  de 18 anos no tienen aun DUI.
NOT NULL
• Obliga a que todos los valores de una columna sean
  introducidos.
• Dicho de otra manera, no se permite que en dicha columna se
  deje una tupla con ese valor como NULL
PRIMARY KEY
• Sirve para identificar una tupla de forma unica.

• La implementacion de una llave primaria es la
  combinacion de un UNIQUE y un NOT NULL
  constraint.

• Se recomienda que no existan ninguna tabla sin
  llave primaria.
FOREIGN KEY
• Es definida en la tabla hija, de una relacion
  padre e hijo
• Determina una serie de columnas, cuyos
  valores se deben corresponder con los de
  la tabla padre.
• Las columnas pueden llamarse distinto,
  pero deben poseer el mismo tipo de datos.
Llaves Foráneas
• Si bien se permite colocar valores nulos
  dentro de los campos de llave foráneas,
  NO se recomienda pues ello puede
  ocasionar tuplas huérfanas.
• Se aplican restricciones de integridad
  referencias, relacionando eventos de
  Eliminación y Actualización en el lado del
  padre
 • ON DELETE CASCADE
CHECK CONSTRAINTS
• Aplican reglas sencillas a un campo en una
  tabla.
• Ejemplo: un campo sexo en la tabla
  alumno, el campo es CHAR(1) y posee un
  check que restringe sus valores a M o F
DEPT
Deptno: number(2,0)
Dname: varchar2(20)

                                 EMP
                      Empno: number(4,0)
                      Ename: varchar2(20)
                      Mgr: number(4,0)
                      Dob: date
                      Hiredate: date
                      Deptono: number(2,0)
                      Email: varchar2(30)
1.   create table dept(
2.   deptno number(2,0) constraint dept_deptno_pk primary key
3.   constraint dept_deptno_ck check (deptno between 10 and 90),
4.   dname varchar2(20) constraint dept_dname_nn not null);

5.  create table emp(
6.   empno number(4,0) constraint emp_empno_pk primary key,
7.   ename varchar2(20) constraint emp_ename_nn not null,
8.   mgr number (4,0) constraint emp_mgr_fk references emp
    (empno),
9. dob date,
10. hiredate date,
1. deptno number(2,0) constraint emp_deptno_fk
   references dept(deptno)
2. on delete set null,
3. email varchar2(30) constraint emp_email_uk unique,
4. constraint emp_hiredate_ck check (hiredate >= dob +
   365*16),
5. constraint emp_email_ck
6. check ((instr(email,'@') > 0) and (instr(email,'.') > 0)));
Índices
• Los indices tienen dos funciones, para implementar
  llaves primarias y unicas, y para proveer rendimiento.

• Llaves foraneas se implementan por medio de indices,
  pero los indices existen en la tabla padre.

• Los indices se crean automaticamente.
• Si no se posee un indice, se realizara un FULL TABLE
  SCAN.

• Son de vital importancia para la clausula WHERE de SQL
Tipos de Indices
• B*Tree.
  •   Es el tipo usado por defecto
  •   B es por Balance
  •   El nodo principal de 3 puntos a muchos nodos en el segundo nivel
  •   El puntero a una fila es el ROWID
• Bitmap
  • Son poco utilizados, pues soportan baja cardinalidad.
OPCIONES DE INDICES
• UNIQUE: este no permite valores duplicados en el indice.

• REVERSE: realiza una indexacion al reves ej: «JUAN» «NAUJ»

• COMPOSITE: es construido por dos o mas columnas

• COMPRESSED
Creacion de indices
• CREATE [UNIQUE | BITMAP ] INDEX NombreIndice ON
  NombreTabla (Columna1, columna2) ;

• Por defecto se crea el indice non-unique, no-compressed, no-
  reverse del tipo B-Tree.
TABLAS TEMPORALES
• Una tabla temporal tiene una estructura que es visible a
  todas las sesiones, pero las tuplas son privadas, y vistas solo
  por la sesion que las inserta.

• CREATE GLOBAL TEMPORARY TABLE TablaTemporal
  (Columna1 DATATYPE, Columna2 DATATYPE) [ON COMMIT
  {DELETE | PRESERVE} ROWS];
Vista
• Para un usuario, una vista es lo mismo que una tabla.
• Las instrucciones DML no funcionan sobre una vista.
• VENTAJAS
  •   Seguridad
  •   Simpleza
  •   Prevencion de errores
  •   Facilidad de datos
  •   Rendimiento
Mejorando la Seguridad
• Observe la tabla HR.employees, contiene informacion
  delicada, sin embargo el depto de finanzas puede requerir
  alguna informacion, para ello:

• CREATE VIEW hr.emp_fin AS select hire_date, job_id, salary,
  commission_pct, department_id from hr.employees;
Simpleza
• Se vuelve mas sencillo consultar una vista ya elaborada, que
  codificar nuestro SQL
• CREATE VIEW dept_sal as select d.department_name,
  sum(e.salary) from departments d left outer join employees e
  on d.department_id=e.department_id group by
  department_name;
• Select * from dept_sal;
Prevenir Errores
     • Dado que las vistas no son actualizables, al brindar
       acceso a las mismas garantizamos la protección sobre los
       datos reales.


     Facilidad de datos
     • La información en las tablas esta normalizada, por lo
       que dificulta la lectura y entendimiento de la
       misma.
Creando vistas
•   CREATE [OR REPLACE] VIEW
•   [Schema.]VistaNombre
•   AS
•   Subconsulta
SECUENCIA
• Es una estructura para generar valores enteros únicos.
• Son de gran utilidad para crear valores de llaves primarias.
Sintaxis
    •   CREATE SEQUENCE NombreSecuencia Máximo lael incremento
                                             Indica
                                             para valor que
                                                      generación
    •   [INCREMENT BY numero]             puede siguiente
                                             del  tomar la
                                          secuencia en ascenso
                                             numero
    •   [START WITH numero]               antes de generar un
                                          error o reiniciar conteo
    •                             Valor inicial de la
        [MAXVALUE numero | NONMAXVALUE] por defecto 1
                                         Controla el
                                  secuencia,
    •   [MINVALUE numero | NOMINVALUE] comportamiento de
                                         MAXVALUE y
                                      Por rendimiento oracle
    •   [CYCLE | NOCYCLE ]               MINVALUE, por defecto
                                      genera un cache de la
                                      secuencia de 20 parapero
                                         mostrara un error, los
    •   [CACHE number | NOCACHE]         si CYCLE es
                                      siguientes valores
                                         especificado reiniciara
    •   [ORDER | NOORDER];               la secuencia
                                    Solo para uso en CLUSTER, order
                                    obliga a todas las instancias del
                                    cluster a coordinar el incremento
                                    en la secuencia
Utilizando secuencias
• Cada sesión selecciona su propio valor con NEXTVAL (columna
  ficticia de la secuencia)
• Nextval es globalmente unico, para cada sesion se genera uno
  diferente.
• CURRVAL es constante para una sesion, hasta que se
  selecciona NEXTVAL nuevamente.
• No se puede invocar CURRVAL hasta despues de haber
  invocado NEXTVAL
Ejemplo
• Create sequence order_seq start with 10;
• Create sequence line_seq start with 10;
• Insert into orders(order_number, order_date,
  customer_number) values(order_seq.nextval, sysdate,‘1000’);
• Insert into order_line(order_number, line_number,
  item_number, quantity) values (order_seq.currval,
  line_seq.nextval,’A111’, 1);
• Commit;

Weitere ähnliche Inhalte

Was ist angesagt?

Using single row functions to customize output
Using single row functions to customize outputUsing single row functions to customize output
Using single row functions to customize output
Syed Zaid Irshad
 
Utilisation de sage comptabilite en reseau
Utilisation de sage comptabilite en reseauUtilisation de sage comptabilite en reseau
Utilisation de sage comptabilite en reseau
OULAAJEB YOUSSEF
 

Was ist angesagt? (20)

Using single row functions to customize output
Using single row functions to customize outputUsing single row functions to customize output
Using single row functions to customize output
 
Oracle Database Management - Backup/Recovery
Oracle Database Management - Backup/RecoveryOracle Database Management - Backup/Recovery
Oracle Database Management - Backup/Recovery
 
Troubleshooting Tips and Tricks for Database 19c - EMEA Tour Oct 2019
Troubleshooting Tips and Tricks for Database 19c - EMEA Tour  Oct 2019Troubleshooting Tips and Tricks for Database 19c - EMEA Tour  Oct 2019
Troubleshooting Tips and Tricks for Database 19c - EMEA Tour Oct 2019
 
Oracle Instance 介紹
Oracle Instance 介紹Oracle Instance 介紹
Oracle Instance 介紹
 
Indexes in postgres
Indexes in postgresIndexes in postgres
Indexes in postgres
 
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gOracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
 
SQL Functions and Operators
SQL Functions and OperatorsSQL Functions and Operators
SQL Functions and Operators
 
Oracle使用者安全設定
Oracle使用者安全設定Oracle使用者安全設定
Oracle使用者安全設定
 
Zarcコンサルメンバー
ZarcコンサルメンバーZarcコンサルメンバー
Zarcコンサルメンバー
 
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
Sf素人が2週間でアプリケーションビルダーに挑戦してみたSf素人が2週間でアプリケーションビルダーに挑戦してみた
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
 
OpenShiftで実現するプラットフォーム・エンジニアリングにおけるDevSecOpsの価値.pdf
OpenShiftで実現するプラットフォーム・エンジニアリングにおけるDevSecOpsの価値.pdfOpenShiftで実現するプラットフォーム・エンジニアリングにおけるDevSecOpsの価値.pdf
OpenShiftで実現するプラットフォーム・エンジニアリングにおけるDevSecOpsの価値.pdf
 
Utilisation de sage comptabilite en reseau
Utilisation de sage comptabilite en reseauUtilisation de sage comptabilite en reseau
Utilisation de sage comptabilite en reseau
 
Best Practices for Oracle Exadata and the Oracle Optimizer
Best Practices for Oracle Exadata and the Oracle OptimizerBest Practices for Oracle Exadata and the Oracle Optimizer
Best Practices for Oracle Exadata and the Oracle Optimizer
 
CA Workload Automation ESP: Tips and Tricks for Getting the Most Out of Your...
CA Workload Automation ESP: Tips and Tricks for Getting the Most Out of Your...CA Workload Automation ESP: Tips and Tricks for Getting the Most Out of Your...
CA Workload Automation ESP: Tips and Tricks for Getting the Most Out of Your...
 
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSOracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTS
 
Oracle 資料庫檔案介紹
Oracle 資料庫檔案介紹Oracle 資料庫檔案介紹
Oracle 資料庫檔案介紹
 
Oracle 資料庫建立
Oracle 資料庫建立Oracle 資料庫建立
Oracle 資料庫建立
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
 
Change and Transport System (CTS) in SAP
Change and Transport System (CTS) in SAPChange and Transport System (CTS) in SAP
Change and Transport System (CTS) in SAP
 
Oracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesOracle 12c and its pluggable databases
Oracle 12c and its pluggable databases
 

Andere mochten auch

Administrando Usuarios de Oracle Database. Z052 08
Administrando Usuarios de Oracle Database. Z052 08Administrando Usuarios de Oracle Database. Z052 08
Administrando Usuarios de Oracle Database. Z052 08
Alexander Calderón
 
Creando una base de datos Oracle Z052 04
Creando una base de datos Oracle Z052 04Creando una base de datos Oracle Z052 04
Creando una base de datos Oracle Z052 04
Alexander Calderón
 
Administrando la Instancia en Oracle database 11g-Z052 05
Administrando la Instancia en Oracle database 11g-Z052 05Administrando la Instancia en Oracle database 11g-Z052 05
Administrando la Instancia en Oracle database 11g-Z052 05
Alexander Calderón
 
Preparando el entorno de Red de Oracle Database 11gZ052 06
Preparando el entorno de Red de Oracle Database 11gZ052 06Preparando el entorno de Red de Oracle Database 11gZ052 06
Preparando el entorno de Red de Oracle Database 11gZ052 06
Alexander Calderón
 
Dinámicas de grupos
Dinámicas de gruposDinámicas de grupos
Dinámicas de grupos
Mardema
 
Mapa conceptual- informatica
Mapa conceptual- informaticaMapa conceptual- informatica
Mapa conceptual- informatica
carcalah
 
Transacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLETransacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLE
90040112
 

Andere mochten auch (20)

diseño eléctrico de data centers
diseño eléctrico de data centersdiseño eléctrico de data centers
diseño eléctrico de data centers
 
Introduccion a las tecnologias de Oracle Database R2 11G Z051 01
Introduccion a las tecnologias de Oracle Database R2 11G Z051 01Introduccion a las tecnologias de Oracle Database R2 11G Z051 01
Introduccion a las tecnologias de Oracle Database R2 11G Z051 01
 
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
Preparando el entorno de la base de datos Oracle 11g Administration I-Z052-03
 
Administrando Usuarios de Oracle Database. Z052 08
Administrando Usuarios de Oracle Database. Z052 08Administrando Usuarios de Oracle Database. Z052 08
Administrando Usuarios de Oracle Database. Z052 08
 
Introduccion general a las bases de datos
Introduccion general a las bases de datosIntroduccion general a las bases de datos
Introduccion general a las bases de datos
 
Creando una base de datos Oracle Z052 04
Creando una base de datos Oracle Z052 04Creando una base de datos Oracle Z052 04
Creando una base de datos Oracle Z052 04
 
Administrando la Instancia en Oracle database 11g-Z052 05
Administrando la Instancia en Oracle database 11g-Z052 05Administrando la Instancia en Oracle database 11g-Z052 05
Administrando la Instancia en Oracle database 11g-Z052 05
 
Entity Framework y Cluster en Mysql
Entity Framework y Cluster en MysqlEntity Framework y Cluster en Mysql
Entity Framework y Cluster en Mysql
 
Otros Objetos de Esquemas Z051 Cap 12
Otros Objetos de Esquemas Z051 Cap 12Otros Objetos de Esquemas Z051 Cap 12
Otros Objetos de Esquemas Z051 Cap 12
 
Esquemas y organización de relaciones lógicas - 5c
Esquemas y organización de relaciones lógicas - 5cEsquemas y organización de relaciones lógicas - 5c
Esquemas y organización de relaciones lógicas - 5c
 
Mapa conceptual informatica
Mapa conceptual informaticaMapa conceptual informatica
Mapa conceptual informatica
 
Preparando el entorno de Red de Oracle Database 11gZ052 06
Preparando el entorno de Red de Oracle Database 11gZ052 06Preparando el entorno de Red de Oracle Database 11gZ052 06
Preparando el entorno de Red de Oracle Database 11gZ052 06
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
 
sub Consultas Oracle SQL
sub Consultas Oracle SQLsub Consultas Oracle SQL
sub Consultas Oracle SQL
 
Dinámicas de grupos
Dinámicas de gruposDinámicas de grupos
Dinámicas de grupos
 
Mapa conceptual- informatica
Mapa conceptual- informaticaMapa conceptual- informatica
Mapa conceptual- informatica
 
Grupo n° 1 esquemas de organizacion caracteristicas y variables
Grupo n° 1 esquemas de organizacion  caracteristicas y variablesGrupo n° 1 esquemas de organizacion  caracteristicas y variables
Grupo n° 1 esquemas de organizacion caracteristicas y variables
 
Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11Utilizando DDL SQL oracle Z051 Cap 11
Utilizando DDL SQL oracle Z051 Cap 11
 
Mapa conceptual de datos en informática
Mapa conceptual de datos en informática Mapa conceptual de datos en informática
Mapa conceptual de datos en informática
 
Transacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLETransacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLE
 

Ähnlich wie Objetos de Esquema de Oracle Database Z052-09

Semana 15 secuencias y sql dinámico
Semana 15 secuencias y sql dinámicoSemana 15 secuencias y sql dinámico
Semana 15 secuencias y sql dinámico
victdiazm
 

Ähnlich wie Objetos de Esquema de Oracle Database Z052-09 (20)

Semana 15 secuencias y sql dinámico
Semana 15 secuencias y sql dinámicoSemana 15 secuencias y sql dinámico
Semana 15 secuencias y sql dinámico
 
TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005TSQL menos frecuente desde SQL Server 2005
TSQL menos frecuente desde SQL Server 2005
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
 
Sentencias
SentenciasSentencias
Sentencias
 
Trabajo grupal - Base de Datos
Trabajo grupal - Base de DatosTrabajo grupal - Base de Datos
Trabajo grupal - Base de Datos
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
 
Lecc01
Lecc01Lecc01
Lecc01
 
Mysql
MysqlMysql
Mysql
 
Postgres trigger
Postgres triggerPostgres trigger
Postgres trigger
 
Wenas wenas
Wenas wenasWenas wenas
Wenas wenas
 
Sesión 4
Sesión 4Sesión 4
Sesión 4
 
velarde-Aransazu-presentaciondeunDBMS.pptx
velarde-Aransazu-presentaciondeunDBMS.pptxvelarde-Aransazu-presentaciondeunDBMS.pptx
velarde-Aransazu-presentaciondeunDBMS.pptx
 
Fundamentos sql
Fundamentos sqlFundamentos sql
Fundamentos sql
 
SQL
SQLSQL
SQL
 
Tutorial sql server
Tutorial sql serverTutorial sql server
Tutorial sql server
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
05 Sql Profundizacion
05 Sql Profundizacion05 Sql Profundizacion
05 Sql Profundizacion
 
Pl
PlPl
Pl
 
Base de datos - Clase 2
Base de datos - Clase 2Base de datos - Clase 2
Base de datos - Clase 2
 
Command oracle
Command oracleCommand oracle
Command oracle
 

Mehr von Alexander Calderón

Mehr von Alexander Calderón (15)

Funciones de Agregacion
Funciones de AgregacionFunciones de Agregacion
Funciones de Agregacion
 
Estrategias de Negocio
Estrategias de NegocioEstrategias de Negocio
Estrategias de Negocio
 
Evaluacion de proyectos con enfoque social
Evaluacion de proyectos con enfoque socialEvaluacion de proyectos con enfoque social
Evaluacion de proyectos con enfoque social
 
Methods and approachesd
Methods and approachesd Methods and approachesd
Methods and approachesd
 
Sistema de Acceso peatonal UES por medio de huella digital
Sistema de Acceso peatonal UES por medio de huella digitalSistema de Acceso peatonal UES por medio de huella digital
Sistema de Acceso peatonal UES por medio de huella digital
 
Introduccion ISO 27001 SGSI
Introduccion ISO 27001 SGSIIntroduccion ISO 27001 SGSI
Introduccion ISO 27001 SGSI
 
Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02Introduccion a la Arquitectura de Oracle. Z052 02
Introduccion a la Arquitectura de Oracle. Z052 02
 
Manipulacion de Datos SQL cap10
Manipulacion de Datos SQL cap10Manipulacion de Datos SQL cap10
Manipulacion de Datos SQL cap10
 
Cap 7. oracle SQL fundamentals
Cap 7. oracle SQL fundamentalsCap 7. oracle SQL fundamentals
Cap 7. oracle SQL fundamentals
 
Restricciones y Ordenacion en SQL con Oracle
Restricciones y Ordenacion en SQL con OracleRestricciones y Ordenacion en SQL con Oracle
Restricciones y Ordenacion en SQL con Oracle
 
Fundamentos de SELECT SQL
Fundamentos de SELECT SQLFundamentos de SELECT SQL
Fundamentos de SELECT SQL
 
Documento Unico Estudiantil
Documento Unico EstudiantilDocumento Unico Estudiantil
Documento Unico Estudiantil
 
Disenando Sistemas empleando el modelo de capas en desarrollo de software
Disenando Sistemas empleando el modelo de capas en desarrollo de softwareDisenando Sistemas empleando el modelo de capas en desarrollo de software
Disenando Sistemas empleando el modelo de capas en desarrollo de software
 
Gestion Del Capital Humano En La Universidad de El Salvador.
Gestion Del Capital Humano En La Universidad de El Salvador.Gestion Del Capital Humano En La Universidad de El Salvador.
Gestion Del Capital Humano En La Universidad de El Salvador.
 
2. Teoria Del Cambio
2. Teoria Del Cambio2. Teoria Del Cambio
2. Teoria Del Cambio
 

Kürzlich hochgeladen

TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 

Kürzlich hochgeladen (20)

Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 

Objetos de Esquema de Oracle Database Z052-09

  • 1. Oracle Database 11g Administrator I Cap. 9 Administrando Objetos de Esquemas Universidad de El Salvador calderonperza@gmail.com http://BasesDeDatosUES.blogspot.com
  • 2. Usuario y esquema • USUARIO => ESQUEMA • El usuario SYS es el dueño del diccionario de datos.
  • 3. Objetos de esquema tablas COMPARTEN EL MISMO NAMESPACE • Vistas NameSpace: define un Secuencias mismo grupo de objetos SCHEMA.OBJETO • Sinónimos Procedimientos • Funciones Paquetes
  • 4. Otros objetos • INDEX • CONSTRAINTS • CLUSTERS • TRIGGERS • DATABASE LINK • Ellos cuando se crean se contruyen en namespace propio. • Si bien es posible que un indice para una tabla se llame igual que la tabla, tal situacion no es una practica adecuada.
  • 5. TIPOS DE DATOS • Un tipo de dato es un atributo de una parte de los datos que indica algo sobre la clase de datos sobre los que se va a procesar. • Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.
  • 6. Tipos de dato alfanuméricos • VARCHAR2 • NVARCHAR2 • Igual varchar2 pero permite caracteres unicode • CHAR
  • 7. Tipos de datos numéricos • NUMBER • FLOAT es la versión ANSI de number • INTEGER, equivale a number con cero decimales.
  • 8. Tipos de datos para fechas • DATE • siglo, año, mes, día, hora, minutos y segundos. • TIMESTAMP • Igual a date pero una precisión de 9 decimales en los segundos • TIMESTAMP WITH TIMEZONE • Interval Year to Month • Interval Day to Second
  • 9. Tipos de datos para objetos grandes • CLOB • Tamaño prácticamente ilimitado de caracteres • NCLOB • BLOB • Similar a Clob pero con datos binarios • BFILE • Puntero a un archivo almacenado en el SO • LONG • Obsoleto, sustituido por CLOB
  • 10. CREANDO TABLAS • Create table ex_emp as select * from employees where 1=2; • Alter table ex_emp drop column email; • Alter table ex_emp drop column phone_number; • Alter table ex_emp add(fire_date date); • Drop table ex_emp; • Create table ex_emp (employee_id number(6), first_name varchar2(200));
  • 11. CONSTRAINTS • Sirven para aplicar reglas de negocio a los datos, garantizando la integridad del modelo relacional. • TIPOS: • UNIQUE • NOT NULL • PRIMARY KEY • FOREING KEY • CHECK
  • 12. UNIQUE CONSTRAINTS • Determina que un conjunto de columnas no puedan tener valores repetidos. • Sin embargo un Unique permite que se pueda almacenar VALORES NULOS. • Se asocia con llaves candidatas • Ejemplo: el campo DNI o DUI, dentro de una tabla Alumno donde la llave primaria es el carnet, el DUI es una llave Unique debido a que no debe ser repetido pero estudiantes menores de 18 anos no tienen aun DUI.
  • 13. NOT NULL • Obliga a que todos los valores de una columna sean introducidos. • Dicho de otra manera, no se permite que en dicha columna se deje una tupla con ese valor como NULL
  • 14. PRIMARY KEY • Sirve para identificar una tupla de forma unica. • La implementacion de una llave primaria es la combinacion de un UNIQUE y un NOT NULL constraint. • Se recomienda que no existan ninguna tabla sin llave primaria.
  • 15. FOREIGN KEY • Es definida en la tabla hija, de una relacion padre e hijo • Determina una serie de columnas, cuyos valores se deben corresponder con los de la tabla padre. • Las columnas pueden llamarse distinto, pero deben poseer el mismo tipo de datos.
  • 16. Llaves Foráneas • Si bien se permite colocar valores nulos dentro de los campos de llave foráneas, NO se recomienda pues ello puede ocasionar tuplas huérfanas. • Se aplican restricciones de integridad referencias, relacionando eventos de Eliminación y Actualización en el lado del padre • ON DELETE CASCADE
  • 17. CHECK CONSTRAINTS • Aplican reglas sencillas a un campo en una tabla. • Ejemplo: un campo sexo en la tabla alumno, el campo es CHAR(1) y posee un check que restringe sus valores a M o F
  • 18. DEPT Deptno: number(2,0) Dname: varchar2(20) EMP Empno: number(4,0) Ename: varchar2(20) Mgr: number(4,0) Dob: date Hiredate: date Deptono: number(2,0) Email: varchar2(30)
  • 19. 1. create table dept( 2. deptno number(2,0) constraint dept_deptno_pk primary key 3. constraint dept_deptno_ck check (deptno between 10 and 90), 4. dname varchar2(20) constraint dept_dname_nn not null); 5. create table emp( 6. empno number(4,0) constraint emp_empno_pk primary key, 7. ename varchar2(20) constraint emp_ename_nn not null, 8. mgr number (4,0) constraint emp_mgr_fk references emp (empno), 9. dob date, 10. hiredate date,
  • 20. 1. deptno number(2,0) constraint emp_deptno_fk references dept(deptno) 2. on delete set null, 3. email varchar2(30) constraint emp_email_uk unique, 4. constraint emp_hiredate_ck check (hiredate >= dob + 365*16), 5. constraint emp_email_ck 6. check ((instr(email,'@') > 0) and (instr(email,'.') > 0)));
  • 21. Índices • Los indices tienen dos funciones, para implementar llaves primarias y unicas, y para proveer rendimiento. • Llaves foraneas se implementan por medio de indices, pero los indices existen en la tabla padre. • Los indices se crean automaticamente. • Si no se posee un indice, se realizara un FULL TABLE SCAN. • Son de vital importancia para la clausula WHERE de SQL
  • 22. Tipos de Indices • B*Tree. • Es el tipo usado por defecto • B es por Balance • El nodo principal de 3 puntos a muchos nodos en el segundo nivel • El puntero a una fila es el ROWID • Bitmap • Son poco utilizados, pues soportan baja cardinalidad.
  • 23. OPCIONES DE INDICES • UNIQUE: este no permite valores duplicados en el indice. • REVERSE: realiza una indexacion al reves ej: «JUAN» «NAUJ» • COMPOSITE: es construido por dos o mas columnas • COMPRESSED
  • 24. Creacion de indices • CREATE [UNIQUE | BITMAP ] INDEX NombreIndice ON NombreTabla (Columna1, columna2) ; • Por defecto se crea el indice non-unique, no-compressed, no- reverse del tipo B-Tree.
  • 25. TABLAS TEMPORALES • Una tabla temporal tiene una estructura que es visible a todas las sesiones, pero las tuplas son privadas, y vistas solo por la sesion que las inserta. • CREATE GLOBAL TEMPORARY TABLE TablaTemporal (Columna1 DATATYPE, Columna2 DATATYPE) [ON COMMIT {DELETE | PRESERVE} ROWS];
  • 26. Vista • Para un usuario, una vista es lo mismo que una tabla. • Las instrucciones DML no funcionan sobre una vista. • VENTAJAS • Seguridad • Simpleza • Prevencion de errores • Facilidad de datos • Rendimiento
  • 27. Mejorando la Seguridad • Observe la tabla HR.employees, contiene informacion delicada, sin embargo el depto de finanzas puede requerir alguna informacion, para ello: • CREATE VIEW hr.emp_fin AS select hire_date, job_id, salary, commission_pct, department_id from hr.employees;
  • 28. Simpleza • Se vuelve mas sencillo consultar una vista ya elaborada, que codificar nuestro SQL • CREATE VIEW dept_sal as select d.department_name, sum(e.salary) from departments d left outer join employees e on d.department_id=e.department_id group by department_name; • Select * from dept_sal;
  • 29. Prevenir Errores • Dado que las vistas no son actualizables, al brindar acceso a las mismas garantizamos la protección sobre los datos reales. Facilidad de datos • La información en las tablas esta normalizada, por lo que dificulta la lectura y entendimiento de la misma.
  • 30. Creando vistas • CREATE [OR REPLACE] VIEW • [Schema.]VistaNombre • AS • Subconsulta
  • 31. SECUENCIA • Es una estructura para generar valores enteros únicos. • Son de gran utilidad para crear valores de llaves primarias.
  • 32. Sintaxis • CREATE SEQUENCE NombreSecuencia Máximo lael incremento Indica para valor que generación • [INCREMENT BY numero] puede siguiente del tomar la secuencia en ascenso numero • [START WITH numero] antes de generar un error o reiniciar conteo • Valor inicial de la [MAXVALUE numero | NONMAXVALUE] por defecto 1 Controla el secuencia, • [MINVALUE numero | NOMINVALUE] comportamiento de MAXVALUE y Por rendimiento oracle • [CYCLE | NOCYCLE ] MINVALUE, por defecto genera un cache de la secuencia de 20 parapero mostrara un error, los • [CACHE number | NOCACHE] si CYCLE es siguientes valores especificado reiniciara • [ORDER | NOORDER]; la secuencia Solo para uso en CLUSTER, order obliga a todas las instancias del cluster a coordinar el incremento en la secuencia
  • 33. Utilizando secuencias • Cada sesión selecciona su propio valor con NEXTVAL (columna ficticia de la secuencia) • Nextval es globalmente unico, para cada sesion se genera uno diferente. • CURRVAL es constante para una sesion, hasta que se selecciona NEXTVAL nuevamente. • No se puede invocar CURRVAL hasta despues de haber invocado NEXTVAL
  • 34. Ejemplo • Create sequence order_seq start with 10; • Create sequence line_seq start with 10; • Insert into orders(order_number, order_date, customer_number) values(order_seq.nextval, sysdate,‘1000’); • Insert into order_line(order_number, line_number, item_number, quantity) values (order_seq.currval, line_seq.nextval,’A111’, 1); • Commit;