Professional Documents
Culture Documents
Experiencia:
Base De Datos
Integrantes:
Catedrático:
INDICE
INTRODUCCION
Antes de iniciar un trabajo sobre los diferentes Sistemas Gestores de Bases de
Datos, debemos tener en cuenta que todos trabajan bajo un mismo lenguaje comun:
SQL. Un poco de Historia:
“Los orígenes del SQL están ligados a los de las bases de datos relacionales. En
1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de
acceso a los datos basado en el cálculo de predicados. Basándose en estas ideas,
los laboratorios de IBM definen el lenguaje SEQUEL (Structured English QUEry
Language) que más tarde sería ampliamente implementado por el SGBD
experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue
Oracle quien lo introdujo por primera vez en 1979 en un programa comercial.
El SEQUEL terminaría siendo el predecesor de SQL, siendo éste una versión
evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los
diversos SGBD relacionales surgidos en los años siguientes y es por fin
estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de
este lenguaje, el SQL-86 o SQL1. Al año siguiente este estándar es también
adoptado por la ISO.
Sin embargo este primer estándar no cubre todas las necesidades de los
desarrolladores e incluye funcionalidades de definición de almacenamiento que se
consideraron suprimir. Así que en 1992 se lanza un nuevo estándar ampliado y
revisado del SQL llamado SQL-92 o SQL2.
En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los SGBD
comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las
distintas implementaciones comerciales del lenguaje es amplia, el soporte al
estándar SQL-92 es general y muy amplio”
ANSI SQL, que fue propuesto por el Instituto de Estándares Nacionales Americanos
(ANSI).
Una actualización del estándar ANSI SQL propuesto en 1992 y conocido como SQL-
92 o SQL2
Con la evolución del modelo relacional para manejar características propias del
paradigma de orientado a objetos (conocido como enfoque post-relacional u objeto-
relacional), así como para la descripción de condiciones dinámicas que rigen la
evolución de los datos y el almacenamiento de programas; hoy en día existe un
esfuerzo de consolidación y adopción de un nuevo estándar conocido como SQL3.
Sin embargo, las herramientas comerciales ofrecen algunas de las características
novedosas incluidas en este estándar.
Las sentencias SQL pertenecen a dos categorías principales: Lenguaje de
Definición de Datos, DDL y Lenguaje de Manipulación de Datos, DML.
Estos dos lenguajes no son lenguajes en sí mismos, sino que es una forma de
clasificar las sentencias de lenguaje SQL en función de su proposito. La diferencia
principal reside en que el DDL crea objetos en la base de datos y sus efectos se
pueden ver en el diccionario de la base de datos; mientras que el DML es el que
permite consultar, insertar, modificar y eliminar la información almacenada en los
objetos de la base de datos. Cuando se ejecutan una sentencia DDL, el SGBD
confirma la transacción actual antes y después de otras sentencias DDL. En cambio,
las sentencias DML no llevan implícito el commit y se pueden deshacer. Existe pues
un problema al mezclar sentencias DML con DDL, ya que estas últimas pueden
confirmar las primeras de manera involuntaria e implicita, lo que en ocasiones puede
ser un problema.
A continuación se presenta una tabla con las sentencias SQL más comunes,
clasificadas según el lenguaje al que pertenecen.
La primera fase de cualquier base de datos comienza siempre con sentencias DDL,
ya que antes de poder almacenar información debemos definir los objetos básicos
donde agrupar la información. Los objetos básicos con que trabaja SQL son las
tablas. Una tabla es un conjunto de celdas agrupadas en filas y columnas donde se
almacenan elementos de información.
Una vez que hemos entendido, lo que es el SQL, que es el lenguaje mediante el cual
se entienden todas las bases de datos, podemos proceder a ver lo que es los SGBD.
U
n sistema gestor de base de datos, DBMS Por sus siglas en ingles, es un
programa, o conjuntos de programas, que permite que cualquier cantidad de
usuarios acceda y modifique los datos de una base de datos. A lo largo de los
años, los sistemas de administración de base de datos han aparecido y
desaparecido.
actualice de forma coherente, es decir, que todos los datos repetidos se actualicen
de forma simultánea.
Por otra parte, la base de datos representa una realidad determinada que tiene
determinadas condiciones, por ejemplo que los menores de edad no pueden tener
licencia de conducir. El sistema no debería aceptar datos de un conductor menor de
edad. En los SGBD existen herramientas que facilitan la programación de este tipo
de condiciones.
VENTAJAS
Proveen facilidades para la manipulación de grandes volúmenes de datos. Entre
éstas:
DESVENTAJAS
• Es necesario disponer de una o más personas que administren de la base de
datos, en la misma forma en que suele ser necesario en instalaciones de
cierto porte disponer de una o más personas que administren de los sistemas
operativos. Esto puede llegar a incrementar los costos de operación en una
empresa. Sin embargo hay que balancear este aspecto con la calidad y
confiabilidad del sistema que se obtiene.
• Si se tienen muy pocos datos que son usados por un único usuario por vez y
no hay que realizar consultas complejas sobre los datos, entonces es posible
que sea mejor usar una planilla de cálculo.
HERRAMIENTAS
Analizador de logs
Administrador de procesos.
SGBD PROPIETARIOS
Advantage Database NexusDB
dBase Open Access
FileMaker Oracle
Fox Pro Paradox
IBM DB2 Universal Database (DB2 PervasiveSQL
UDB) Progress (DBMS)
IBM Informix Sybase ASE
Interbase de CodeGear, filial de Sybase ASA
Borland Sybase IQ
MAGIC Window Base
Microsoft Access IBM IMS Base de Datos Jerárquica
Microsoft SQL Server CA-IDMS
Sybase ASE Express Edition para Linux (edición gratuita para Linux)
MySQL
SGBD EN WEB
PHP Magic
1.- ORACLE
E
s un sistema de gestión de base de datos relacional (o RDBMS por el
acrónimo en inglés de Relational Data Base Management System),
desarrollado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más completos
destacando:
Soporte de transacciones,
Estabilidad,
Escalabilidad y
Soporte multiplataforma.Historia
HISTORIA
Tablas: Implementan el concepto de relación del modelo relacional. Toda tabla está
conformada por una serie de columnas (implementan el concepto de atributo). Cada
columna posee un nombre, un tipo de datos y dependiendo del tipo de datos una
longitud.
Vistas: Constituyen una especie de “tablas virtuales”, es decir tablas que no existen
físicamente y son generadas automáticamente cuando se accede a ellas. Una vista
puede ser definida a través de una operación de consulta sobre una o más tablas o
vistas de la base de datos.
o los triggers
o los paquetes (packages).
Toda unidad de programa puede ser escrita utilizando SQL y PL/SQL (constituye la
forma más común).
Tanto las funciones y los procedimientos suelen utilizarse como parte de la definición
de un esquema relacional para implementar restricciones de integridad, reglas del
negocio o políticas determinadas a ser garantizadas por la base de datos.
UNIQUE (Llave alterna) Evita valores repetidos en una columna, admitiendo valores
nulos. Oracle crea un índice automáticamente cuando se habilita esta restricción y lo
borra al deshabilitarse. n de una fila) y un instante de tiempo (previo a la ejecución
de la operación que se solicita, posterior a la operación que se solicita o en lugar de
la operación que se solicita).
RESTRICCIONES
Las restricciones de los datos son reglas que se imponen para asegurarnos que los
datos cumplen con una serie de condiciones predefinidas para cada tabla. Estas
restricciones ayudan a conseguir la integridad referencial: todas las referencias
dentro de una Base de Datos son válidas y todas las restricciones se cumplen.
Restricción Descripción
Establece el valor por defecto para esa columna, si no se le asigna
DEFAULT
ninguno.
Comprueba que se cumpla una condición determinada al rellenar esa
CHECK columna. Esta condición sólo debe estar construida con columnas de
esta misma tabla.
El contenido de esta columna será uno de los valores contenidos en una
columna de otra tabla maestra. Esta columna marcada como clave
foreana o ajena puede ser NULL. No hay límite en el número de claves
FOREIGN foreanas. La clave ajena puede ser otra columna de la misma tabla. Se
KEY puede forzar que cuando una fila de la tabla maestra sea borrada, todas
las filas de la tabla detalle cuya clave ajena coincida con la clave borrada
se borren también (borrado en cascada). Esto se consigue añadiendo la
clausula ON DELETE CASCADE en la definición de la clave ajena.
Establece la obligatoriedad de que esta columna tenga un valor no nulo.
Se debe especificar junto a la columna a la que afecta. Los valores nulos
NOT NULL no ocupan espacio, y son distintos a 0 y al espacio en blanco. Hay que
tener cuidado con los valores nulos en las operaciones, ya que 1 * NULL
es igual a NULL.
Conjunto de columnas que forman la clave primaria de esa tabla. Se
comporta como única y obligatoria sin necesidad de explicitarlo. Sólo
PRIMARY puede existir una clave primaria por tabla. Puede ser referenciada como
KEY clave ajena por otras tablas. Crea un índice automáticamente cuando se
habilita o se crea esta restricción. En Oracle, los índices son construidos
sobre árboles B+.
Evita valores repetidos en una columna, admitiendo valores nulos.
UNIQUE Oracle crea un índice automáticamente cuando se habilita esta
restricción y lo borra al deshabilitarse.
SECUENCIAS
ORACLE proporciona los objetos de secuencia para la generación de valores para campos .
Las secuencias son una solución fácil y elegante al problema de los campos de
autoincremento. La sintaxis general es la siguiente:
CREATE SEQUENCE
<secuence_name>
[MINVALUE <min_val>]
[MAXVALUE <max_val>]
[START WITH <ini_val>]
[INCREMENT BY <inc_val>]
[NOCACHE | CACHE <cache_val>]
[CYCLE]
[ORDER];
CREACION DE TABLAS
CREATE TABLE nombre_tabla (
{nombre_columna tipo_dato [DEFAULT expresión] [restricción_columna] ... |
restricción_tabla}
Donde:
MODIFICACIONES
Otra cualidad del sistema de gestión de Oracle es la posibilidad de modificar las
restricciones definidas para una tabla. Esto puede llevar conllevar a “inconsistencia”
de los datos ya introducidos en la base de datos. Por ello, Oracle tiene definidos
mecanismos para modificación de los datos ya existentes
TABLAS TEMPORALES
Además de las tablas de la base de datos permanentes, Oracle permite la creación
de tablas temporales para mantener datos propios y exclusivos a una sesión Oracle
determinada. Estos datos permanecerán en el sistema sólo durante el tiempo que
dure la transacción o sesión involucrada. No obstante, al igual que para las tablas
permanentes, la definición de las tablas temporales se almacena en las tablas del
sistema.
Sus ventajas son varias, la información contenida en ella esta solo disponible para la
sesión actual, cualquier inserción, borrado, actualización solo se refleja en la sesión
activa.
Muchas funcionalidades de cualquier tabla normal se mantienen en ella, como
triggers a nivel tabla, vistas, indices, exportar e importar (claro solo la definición de la
tabla).
LIMITES
ORACLE impone los siguientes límites en lo que respecta a los objetos que maneja:
o El número máximo de columnas que pueden constituir una clave primaria, una
clave alterna o una clave foránea es de 16
INDICES
Un índice en el Servidor Oracle es un objeto de la base de datos que permite
acelerar la recuperación de filas usando una estructura de punteros. Los índices
pueden ser creados explícitamente o automáticamente. Si no se tiene un índice
sobre la columna, entonces se debe hacer un barrido total de la tabla para una
búsqueda. Un índice ofrece acceso rápido y directo a los registros de una tabla. Su
propósito es reducir la necesidad de I/O a disco. El índice es automáticamente usado
y mantenido por el Servidor Oracle. Una vez que un índice es creado, no se requiere
actividad directa del usuario.
o El otro tipo de índice que un usuario puede crear es un índice no único (non-
unique). Por ejemplo, se puede crear un índice de columna FOREIGN KEY
para una operación de unión en una consulta que acelere la respuesta.
SENTENCIA “ INSERT “
Para insertar datos en una relación, se especifica la tupla que se desea insertar o se
formula una consulta cuyo resultado sea el conjunto de tuplas que se desea insertar.
Obviamente, los valores de los atributos de las tuplas que se inserten deben
pertenecer al dominio de los atributos. De igual modo, las tuplas insertadas deben
ser de la aridad -número de atributos- correcta.
El orden en el que se asignen los valores en la cláusula VALUES tiene que coincidir
con el orden en que se definieron las columnas en la creación del objeto tabla, dado
que los valores se asignan por posicionamiento relativo.
En este caso los valores se asignarán a cada una de las columnas mencionadas por
posicionamiento relativo. Es necesario que por lo menos se asignen valores a todas
aquellas columnas que no admiten valores nulos en la tabla (NOT NULL).
SENTENCIA “ UPDATE “
En determinadas situaciones puede ser deseable cambiar un valor dentro de una
tupla, sin cambiar todos los valores de la misma. Para ello se utiliza el comando
UPDATE cuya sintaxis se muestra a continuación.
SENTENCIA “ DELETE “
Borrará todas las filas que cumplan la condición especificada en la cláusula WHERE.
Si esta cláusula se omite, se borrarán todas las filas de la tabla. DELETE borra todas
las filas de una tabla, pero no la definición de la tabla del diccionario. Esta es una
diferencia con la sentencia DROP TABLE, que elimina el contenido de la tabla y la
definición de la misma.
Obsérvese que cada comando DELETE sólo opera sobre una relación. Si se desea
borrar tuplas de varias relaciones es necesario utilizar una orden DELETE por cada
relación.
Cuando se consulta una base de datos, los nombres de las columnas se usan como
cabeceras de presentación. Si éste resulta demasiado largo, corto o críptico, puede
cambiarse con la misma sentencia SQL de consulta, creando un alias de columna.
La cláusula FROM define las tablas de las que se van a seleccionar las columnas.
Se puede añadir al nombre de las tablas el usuario propietario de las mismas de la
forma usuario.tabla. De esta manera podemos distinguir entre las tablas de un
usuario y otro.
Oracle siempre considera como prefijo el nombre del propietario de las tablas,
aunque no se lo indiquemos. De esta forma dos o más usuarios pueden tener tablas
que se llamen igual sin que surjan conflictos.
Un campo calculado o campo derivado es una expresión numérica y que deberá ser
referenciada mediante un alias mediante el uso de la cláusula AS, en Oracle está
sentencia es opcional.
Esta condición regresa todas las filas que cumplen dicha condicional. La complejidad
del criterio de búsqueda es prácticamente ilimitada, y en él se pueden combinar
operadores de diversos tipos con funciones de columnas, componiendo expresiones
más o menos complejas.
La condición BETWEEN indica los puntos extremos del rango, y devolvera todos
los datos que se encuentren en el rango solicitado.
subcadena de caracteres
El carácter _ coincide con cualquier
_
carácter
En general, las filas de la tabla resultados de una consulta SQL, no están ordenadas
por ningún criterio particular. Sin embargo podemos garantizar que los resultados de
la consulta queden ordenados utilizando la cláusula ORDER BY en la instrucción
SELECT.
Cuando se realiza una consulta sobre una tabla en la que se extrae información de
varias columnas, puede ocurrir que, si no incluimos la/s columna/s que forman la
clave principal, obtengamos filas repetidas en la respuesta.
Si este comportamiento es no satisfactorio podemos utilizar la cláusula DISTINCT
para eliminar las filas duplicadas obtenidas como respuesta a una consulta.
SELECT campos,
ELSE else_expresión]
END
FROM tabla
Todas estas funciones, son usadas al momento de hacer una consulta usando la
funcion SELECT, y pueden o no usarse, depende las necesidades de cada usuario.
FUNCIONES EN ORACLE
Existen en ORACLE muchas funciones que pueden complementar el manejo de los
datos en las consultas. Se utilizan dentro de las expresiones y actuan con los valores
de las columnas, variables o constantes.
o aritméticas
o de cadenas de caracteres,
o de manejo de fechas,
o de conversión,
Funciones Aritméticas
Función Descripción
ABS(n) Valor absoluto de n.
Entero inmediatamente
CEIL(n)
superior o igual a n.
Entero inmediatamante inferior
FLOOR(n)
o igual a n.
MOD(m, n) Resto de la división de m por n
Devuelve la expresión exp si
NVL(val,
val es NULL, y val si en otro
exp)
caso.
POWER(m, Calcula la potencia n-esima de
n) m.
Calcula el redondeo de m a n
ROUND(m, decimales. Si n< 0 el redondeo
n) se efectua por la izquierda del
punto decimal.
SIGN(n) Calcula el signo de n,
devolviendo -1 si n < 0, 0 si n
= 0 y 1 si n > 0.
SQRT(n) Raíz cuadrada de n.
Calcula m truncado a n
TRUNC(m,
decimales (n puede ser
n)
negativo).
SYSDATE es una función que devuelve fecha y hora (pseudocolumna del sistema)
DUAL es una tabla virtual de la BD, que puede ser usada para inspeccionar
SYSDATE.
o Restar dos fechas para encontrar la cantidad de días entre esas fechas.
Función Descripción
ADD_MONTHS(d, n) Fecha d incrementada en n meses.
Extrae un valor de fecha o de intervalo de tiempo.
Función Descripción
Convierte la cadena cad a un número,
TO_NUMBER(cad,
opcionalmente de acuerdo con el formato
[fmto])
fmto. El formato es opcional
Convierte la fecha d a una cadena de
TO_CHAR(d [, fmto]) carácteres, opcionalmente de acuerdo con
el formato fmto.
Convierte la cadena cad de tipo varchar2 a
TO_DATE(cad, fmto) fecha, opcionalmente de acuerdo con el
formato fmto.
Con las fechas pueden utilizarse varios formatos. Estos formatos permiten modificar la
presentación de una fecha. En la siguiente tabla se presentan algunos formatos de fecha y el
resultado que generan.
semana.
hh ó hh12 ó hh24 La hora en formato 12h. o 24h.
mi Los minutos de la hora.
Los segundos dentro del minuto, o desde las
ss ó sssss
0 horas.
syear ó year Año en Inglés
Nombre del mes o su abreviatura de tres
month o mon
letras.
Nombre del día de la semana o su
day ó dy
abreviatura de tres letras.
a.m. ó p.m. El espacio del día.
Indicador del año respecto al del nacimiento
b.c. ó a.d.
de Cristo.
SUBCONSULTAS
Una subconsulta es aquella consulta de cuyo resultado depende otra consulta,
llamada principal, y se define como sentencia SELECT que está incluida en la orden
WHERE de la consulta principal.
Una subconsulta, a su vez, puede contener otra subconsulta y así hasta un máximo
de 16 niveles. Las particularidades de las subconsultas son:
Se puede utilizar una subconsulta para insertar valores en una tabla en el momento
de la creación de la misma con la cláusula AS.
INSTRUCCIÓN JOIN
La instrucción JOIN sirve para unir dos tablas en base a un criterio, el cual
generalmente es un campo llave.
Es una operación que combina registros de dos tablas en una base de datos
relacional que resulta en una nueva tabla (temporal) llamada tabla de JOIN. En el
lenguaje de consulta SQL hay dos tipos de JOIN: INNER y OUTER.
Como caso especial, una tabla (tabla base, vista o una tabla JOIN) puede realizar la
operación JOIN sobre ella misma otra vez. Esto se conoce como self-JOIN.
FUNCIONES DE AGREGACION
Las funciones de agregación o agrupamiento son funciones que toman una colección
de valores y devuelven como resultado un único valor.
Las funciones de agrupamiento que se pueden utilizar en Oracle son las siguientes.
Función Cometido
AVG(col) Promedio de todos los valores de la columna col.
COUNT(col) Cuenta el número de filas agrupadas.
MAX(col) Valor máximo de todos los valores de la columna col.
Calcula el valor mínimo de todos los valores de la columna
MIN(col)
col.
SUM(col) Suma de los valores de la columna col.
STDDEV(col) Desviación estándar de los valores de la columna col.
VARIANCE(col) Varianza de los valores de la columna col
CURSORES
Los cursores se utilizan en PL/SQL para manejar las sentencias SELECT. Un cursor
esta formado por un conjunto de registros devueltos por una instrucción SQL del tipo
SELECT. Desde un punto de visto interno a la base de datos Oracle, los cursores
son segmentos de memoria utilizados para realizar operaciones con los registros
devueltos tras ejecutar una sentencia SELECT.
Para procesar instrucciones SELECT que devuelvan más de una fila, son necesarios
cursores explicítos combinados con un estructura de bloque.
Un cursor admite el uso de parámetros. Los parámetros deben declararse junto con
el cursor.
Cursores implícitos
Se utilizan cuando la sentencia SELECT devuelve un solo registro. En cada cursor
implicito debe existir palabra reservada INTO.
Las variables que reciben los datos devueltos por el cursor tienen que contienen el
mismo tipo de dato que las columnas de la tabla.
Cursores explícitos
Se utilizan cuando la sentencia SELECT puede devolver varios registros. También
se pueden utilizar en consultas que devuelvan un solo registro por razones de
eficiencia con respecto a los cursores implícitos, eficiencia que mejorará
especialmente si el cursor explícito se tiene que ejecutar varias veces dentro del
Un cursor explícito tiene que ser definido previamente como cualquier otra variable
PL/SQL y debe serle asignado un nombre. Veamos un ejemplo que muestra el
nombre de los jugadores que participaron en todos los minutos del Torneo Apertura
2008, posición y goles anotados o recibidos:
o Por medio de ciclo LOOP podemos iterar a través del cursory debe agregarse
una condición para salir del bucle:
PROCEDIMIENTOS ALMACENADOS
Un procedimiento es un subprograma que ejecuta una acción específica y que no
devuelve ningún valor. Un procedimiento tiene un nombre, un conjunto de
parámetros (opcional) y un bloque de código.
-- Sentencias
[EXCEPTION]
-- Sentencias control de excepción
END [<nombre_procedure>];
TRIGGERS
Un disparador (o trigger) es un tipo especial de procedimiento almacenado asociado
a una tabla que se ejecuta al realizar una operación “básica” (INSERT, un DELETE o
un UPDATE) sobre ésta. La operación básica que despierta al trigger es conocida
como sentencia disparadora.
La ejecución del disparador puede ser antes (before) o después (after) de llevar a
cabo la sentencia disparadora. Es posible especificar condiciones adicionales para la
ejecución del disparador (restrictores). Dado que una sentencia disparadora puede
afectar una o más filas de una tabla, es necesario especificar si se quiere que el
disparador se ejecute para cada una de las filas afectadas o para el bloque en
general.
Los triggers PL/SQL pueden llamar a otros procedimientos y disparar otros triggers,
pero no admiten parámetros y no pueden ser invocados desde otros procedimientos
PL/SQL.
INSTEAD OF
Desde Oracle 8 se proporciona los disparadores de sustitución, con ciertas
restricciones
Condición: WHEN
La cláusula WHEN sólo es válida para los disparadores con nivel de fila, no puede
contener subconsultas, vistas. Si está presente, el cuerpo del disparador sólo se
ejecutará para las filas que cumplan la condición especificada en la cláusula.
La cláusula WHEN tiene la forma:
WHEN condición
donde condición es una expresión booleana que será evaluada para cada fila. Se
puede hacer también referencia a los registros :new y :old dentro de la condición,
pero en ese caso no se utilizan los dos puntos.
Estas variables se utilizan del mismo modo que cualquier otra variable PL/SQL, con
la salvedad de que no es necesario declararlas, son de tipo %ROWTYPE
y contienen una copia del registro antes (OLD) y despues(NEW) de la acción SQL
(INSERT, UPDATE, DELETE) que ha ejecutado el trigger. Utilizando esta variable
podemos acceder a los datos que se están insertando, actualizando o borrando.
• :old y :new son registros que nos permiten acceder a los datos de la fila actual
Seudoregistros
Evento
:OLD :NEW
Bloque PL/SQL
Bloque es la unidad de estructura básica en los programas PL/SQL. Supone una
mejora en el rendimiento, pues se envían los bloques completos al servidor para ser
procesados en lugar de enviar cada secuencia SQL.
Partes de un bloque:
Tipos de datos
NUMBER
CHAR (longitud fija)
VARCHAR (longitud variable)
DATE
BOOLEAN (es un tipo PL/SQL, no de BD).
Declaración implícita del tipo de datos.
var1 var2%TYPE
var tabla.campo%TYPE
Declaración de registros
var tabla%ROWTYPE
var cursor%ROWTYPE
La sintaxis es la siguiente
RAISE_APPLICATION_ERROR
Permite que un programa PL/SQL pueda generar errores tal y como lo hace Oracle.
Cuando se produce un error no tratado en la sección EXCEPTION, el error pasa
fuera del bloque, al entorno que realizó la llamada.
Permite generar errores con mensajes más significativos que los que generaría
Oracle: Puede utilizarse en la sección EXCEPTION.
Hace que requieran el mismo tratamiento los errores definidos por el usuario y los
errores predefinidos.
EXCEPCIONES PREDEFINIDAS
Hay Excepciones Predefinidas que controlan errores particulares (Todas aquellas
excepciones que no son controladas por el sistema manejador de excepciones
Oracle y/o por las excepciones definidas por el programador, controlando cualquier
tipo de error). Algunas son:
Compilado Triggers
El funcionamiento de un trigger deja de estar ENABLE si dependen de
Procedimientos almacenados o función en el cuerpo del disparador y este es
modificado. Los disparadores DISABLE por razones de dependencia son
recompilado en la próxima invocación.
Firebird
F
irebird es una base de datos relacional que
ofrece muchas características de SQL ANSI
estándar y que funciona en Linux,
Windows, MacOSX y una variedad de plataformas
UNIX. Firebird ofrece una concurrencia excelente, alto
rendimiento y un poderoso lenguaje de
procedimientos almacenados y disparadores. Ha
estado usándose en producción bajo varios
nombres desde 1981.
Objetivos
Apoyar y lograr el avance del manejador de base de datos relacional Firebird
Proveer los mecanismos e infraestructura no comerciales para aceptar y administrar
los fondos recaudados, e invertir tales fondos para promover el esfuerzo del
desarrollo de esta base de datos.
Historia
Características
Es medianamente escalable.
Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos.
Según las cifras del fabricante, existirían cinco millones de copias de MySQL
corriendo en la actualidad, lo que supera la base instalada de cualquier otra
herramienta de bases de datos.
M
My SQL
ySQL es un sistema de gestión de base de
datos relacional, multihilo y multi usuario con
más de seis millones de
instalaciones.1 MySQL AB —desde enero de
2008 una subsidiaria de Sun
Microsystems y ésta a su vez de Oracle Corporation desde abril
de 2009— desarrolla MySQL como software libre en un esquema
de licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con
esta licencia, pero para aquellas empresas que quieran incorporarlo en productos
privativos deben comprar a la empresa una licencia específica que les permita este
uso. Está desarrollado en su mayor parte en ANSI C.
Por otro lado, el nombre del delfín de MySQL es Sakila y fue seleccionado por
los fundadores de MySQL AB en el concurso “Name the Dolphin”. Este nombre fue
enviado por Ambrose Twebaze, un desarrollador de Open source Africano, derivado
del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una
ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.
Lenguajes de programación
Aplicaciones
Plataformas
FreeBSD Solaris
HP-UX SunOS
NetBSD eBD
CONCLUSION
En conclusión, podemos decir, que los sistemas gestores de bases de datos, son
unas aplicaciones muy útiles en lo que es la automatización de las empresas, y un
gran apoyo en los sistemas de información. Tambien, cada uno tiene ventajas y
desventajas, no hay uno que sea perfecto, sin embargo, para nuestros fines,
consideramos que el SGBD mas completo, es Oracle.
Tambien aprendimos que tienen una importante historia, que existen muchas
funciones y tambien, muchos programas, algunos gratuitos, algunos de paga,
algunos de prueba, y que debemos escoger aquel que se ajuste a las necesidades
de nuestro cliente.
Otro punto importante es que aprendimos que aunque haya muchos programas y
versiones de ellas, todas ellas hablan el mismo lenguaje : SQL, lo cual facilita mucho
las cosas, ya que si nosotros sabemos codigo SQL, básicamente, la vamos a poder
hacer en cualquier sistema que nos pongan.
BIBLIOGRAFIA
o Connolly & Begg. (2005). Sistemas de bases de datos. Un enfoque práctico
para diseño, implementación y gestión. Pearson Addison Wesley. Madrid.
o Luque ruiz, Gómez-Nieto, López Espinosa & Cerruela García. (2002). Bases
de Datos. Desde Chen hasta Codd con Oracle. Alfaomega Ra-Ma. México
o http://www.microsoft.com/mexico/sql/2008/default.aspx